@charset "UTF-8";
/**
 * Foundation for Sites
 * Version 6.7.4
 * 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=40em&large=64em&xlarge=80em&xxlarge=90em&xxxlarge=105em";
}

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

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

body {
  margin: 0;
  padding: 0;
  background: #F5E5D5;
  font-family: "SoleSans", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0;
}

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0;
}

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

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

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

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

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

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

[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.95rem;
  margin: 0 0 0.8rem;
  padding: 0.4rem;
  border: 1px solid #cacaca;
  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.8rem;
  font-weight: normal;
  line-height: 1.5;
  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;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
textarea:focus {
  outline: none;
  border: 1px solid #000000;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

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

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

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

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

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

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

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

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

::placeholder {
  color: #cacaca;
}

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.7rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
}
label.middle {
  margin: 0 0 0.8rem;
  line-height: 1.5;
  padding: 0.45rem 0;
}

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

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 0.8rem;
  -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 #cacaca;
  background: #e6e6e6;
  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.8rem;
}

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

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

.fieldset {
  margin: 0.9rem 0;
  padding: 1rem;
  border: 1px solid #cacaca;
}
.fieldset legend {
  margin: 0;
  margin-left: -0.15rem;
  padding: 0 0.15rem;
}

select {
  height: 1.95rem;
  margin: 0 0 0.8rem;
  padding: 0.4rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: normal;
  line-height: 1.5;
  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%28138, 138, 138%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -0.8rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.2rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:focus {
  outline: none;
  border: 1px solid #000000;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}
select:not([multiple]) {
  padding-top: 0;
  padding-bottom: 0;
}

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: rgb(249.9, 237, 235);
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #cc4b37;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #cc4b37;
}

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

.form-error {
  display: none;
  margin-top: -0.4rem;
  margin-bottom: 0.8rem;
  font-size: 0.6rem;
  font-weight: 700;
  color: #cc4b37;
}
.form-error.is-visible {
  display: block;
}

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

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

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

strong,
b {
  font-weight: 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: "SoleSans", sans-serif;
  font-style: normal;
  font-weight: 700;
  color: inherit;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #cacaca;
}

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3.2rem;
    line-height: 1.875;
    margin-bottom: 2rem;
  }
  h2, .h2 {
    font-size: 2.8rem;
    line-height: 1.875;
    margin-bottom: 2rem;
  }
  h3, .h3 {
    font-size: 2.4rem;
    line-height: 1.5625;
    margin-bottom: 2rem;
  }
  h4, .h4 {
    font-size: 1.5rem;
    line-height: 1.75;
    margin-bottom: 1.5rem;
  }
}
a {
  line-height: inherit;
  color: #3D3D3D;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: rgb(52.46, 52.46, 52.46);
}
a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

ul ul, 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.45rem 1rem 0 0.95rem;
  border-left: 1px solid #cacaca;
}
blockquote, blockquote p {
  line-height: 1.6;
  color: #8a8a8a;
}

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

figure {
  margin: 0;
}

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

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

.lead {
  font-size: 25px;
  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: #8a8a8a;
  font-size: 0.65rem;
}
.cite-block:before, cite:before {
  content: "— ";
}

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left;
  }
  .xxlarge-text-right {
    text-align: right;
  }
  .xxlarge-text-center {
    text-align: center;
  }
  .xxlarge-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-text-left {
    text-align: left;
  }
  .xxxlarge-text-right {
    text-align: right;
  }
  .xxxlarge-text-center {
    text-align: center;
  }
  .xxxlarge-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            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 #8a8a8a;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
.grid-container {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-container {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
}
.grid-container.fluid {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-container.fluid {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container.fluid {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
}
.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: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media screen and (min-width: 80em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media screen and (min-width: 105em) {
  .grid-x > .xxxlarge-shrink, .grid-x > .xxxlarge-full, .grid-x > .xxxlarge-1, .grid-x > .xxxlarge-2, .grid-x > .xxxlarge-3, .grid-x > .xxxlarge-4, .grid-x > .xxxlarge-5, .grid-x > .xxxlarge-6, .grid-x > .xxxlarge-7, .grid-x > .xxxlarge-8, .grid-x > .xxxlarge-9, .grid-x > .xxxlarge-10, .grid-x > .xxxlarge-11, .grid-x > .xxxlarge-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: 40em) {
  .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%;
  }
}
@media screen and (min-width: 80em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xlarge-12, .grid-x > .xlarge-11, .grid-x > .xlarge-10, .grid-x > .xlarge-9, .grid-x > .xlarge-8, .grid-x > .xlarge-7, .grid-x > .xlarge-6, .grid-x > .xlarge-5, .grid-x > .xlarge-4, .grid-x > .xlarge-3, .grid-x > .xlarge-2, .grid-x > .xlarge-1, .grid-x > .xlarge-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .xlarge-shrink {
    width: auto;
  }
  .grid-x > .xlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xlarge-3 {
    width: 25%;
  }
  .grid-x > .xlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xlarge-6 {
    width: 50%;
  }
  .grid-x > .xlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xlarge-9 {
    width: 75%;
  }
  .grid-x > .xlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xxlarge-12, .grid-x > .xxlarge-11, .grid-x > .xxlarge-10, .grid-x > .xxlarge-9, .grid-x > .xxlarge-8, .grid-x > .xxlarge-7, .grid-x > .xxlarge-6, .grid-x > .xxlarge-5, .grid-x > .xxlarge-4, .grid-x > .xxlarge-3, .grid-x > .xxlarge-2, .grid-x > .xxlarge-1, .grid-x > .xxlarge-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-x > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xxlarge-3 {
    width: 25%;
  }
  .grid-x > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xxlarge-6 {
    width: 50%;
  }
  .grid-x > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xxlarge-9 {
    width: 75%;
  }
  .grid-x > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .grid-x > .xxxlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xxxlarge-12, .grid-x > .xxxlarge-11, .grid-x > .xxxlarge-10, .grid-x > .xxxlarge-9, .grid-x > .xxxlarge-8, .grid-x > .xxxlarge-7, .grid-x > .xxxlarge-6, .grid-x > .xxxlarge-5, .grid-x > .xxxlarge-4, .grid-x > .xxxlarge-3, .grid-x > .xxxlarge-2, .grid-x > .xxxlarge-1, .grid-x > .xxxlarge-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .xxxlarge-shrink {
    width: auto;
  }
  .grid-x > .xxxlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xxxlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xxxlarge-3 {
    width: 25%;
  }
  .grid-x > .xxxlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xxxlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xxxlarge-6 {
    width: 50%;
  }
  .grid-x > .xxxlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xxxlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xxxlarge-9 {
    width: 75%;
  }
  .grid-x > .xxxlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xxxlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xxxlarge-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.5rem;
  margin-right: -0.5rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1.5rem);
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 1rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 1rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 1rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 1rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 1rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 1rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 1rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 1rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 1rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 1rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 1rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 1rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 1.5rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 1.5rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.5rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 1.5rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 1.5rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.5rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 1.5rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 1.5rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.5rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 1.5rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 1.5rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.5rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 1.5rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 1.5rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 1.5rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 1.5rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 1.5rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 1.5rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 1.5rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 1.5rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 1.5rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 1.5rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 1.5rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 1.5rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 1rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 1rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 1rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 1rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 1rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 1rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 1rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 1rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 1rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 1rem);
  }
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 1rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 1rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 1rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 1rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 1rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 1rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 1rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 1rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 1rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 1rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-x > .xlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xlarge-1 {
    width: calc(8.3333333333% - 1rem);
  }
  .grid-margin-x > .xlarge-2 {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x > .xlarge-3 {
    width: calc(25% - 1rem);
  }
  .grid-margin-x > .xlarge-4 {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x > .xlarge-5 {
    width: calc(41.6666666667% - 1rem);
  }
  .grid-margin-x > .xlarge-6 {
    width: calc(50% - 1rem);
  }
  .grid-margin-x > .xlarge-7 {
    width: calc(58.3333333333% - 1rem);
  }
  .grid-margin-x > .xlarge-8 {
    width: calc(66.6666666667% - 1rem);
  }
  .grid-margin-x > .xlarge-9 {
    width: calc(75% - 1rem);
  }
  .grid-margin-x > .xlarge-10 {
    width: calc(83.3333333333% - 1rem);
  }
  .grid-margin-x > .xlarge-11 {
    width: calc(91.6666666667% - 1rem);
  }
  .grid-margin-x > .xlarge-12 {
    width: calc(100% - 1rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-x > .xxlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xxlarge-1 {
    width: calc(8.3333333333% - 1rem);
  }
  .grid-margin-x > .xxlarge-2 {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x > .xxlarge-3 {
    width: calc(25% - 1rem);
  }
  .grid-margin-x > .xxlarge-4 {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x > .xxlarge-5 {
    width: calc(41.6666666667% - 1rem);
  }
  .grid-margin-x > .xxlarge-6 {
    width: calc(50% - 1rem);
  }
  .grid-margin-x > .xxlarge-7 {
    width: calc(58.3333333333% - 1rem);
  }
  .grid-margin-x > .xxlarge-8 {
    width: calc(66.6666666667% - 1rem);
  }
  .grid-margin-x > .xxlarge-9 {
    width: calc(75% - 1rem);
  }
  .grid-margin-x > .xxlarge-10 {
    width: calc(83.3333333333% - 1rem);
  }
  .grid-margin-x > .xxlarge-11 {
    width: calc(91.6666666667% - 1rem);
  }
  .grid-margin-x > .xxlarge-12 {
    width: calc(100% - 1rem);
  }
}
@media screen and (min-width: 105em) {
  .grid-margin-x > .xxxlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xxxlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xxxlarge-1 {
    width: calc(8.3333333333% - 1rem);
  }
  .grid-margin-x > .xxxlarge-2 {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x > .xxxlarge-3 {
    width: calc(25% - 1rem);
  }
  .grid-margin-x > .xxxlarge-4 {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x > .xxxlarge-5 {
    width: calc(41.6666666667% - 1rem);
  }
  .grid-margin-x > .xxxlarge-6 {
    width: calc(50% - 1rem);
  }
  .grid-margin-x > .xxxlarge-7 {
    width: calc(58.3333333333% - 1rem);
  }
  .grid-margin-x > .xxxlarge-8 {
    width: calc(66.6666666667% - 1rem);
  }
  .grid-margin-x > .xxxlarge-9 {
    width: calc(75% - 1rem);
  }
  .grid-margin-x > .xxxlarge-10 {
    width: calc(83.3333333333% - 1rem);
  }
  .grid-margin-x > .xxxlarge-11 {
    width: calc(91.6666666667% - 1rem);
  }
  .grid-margin-x > .xxxlarge-12 {
    width: calc(100% - 1rem);
  }
}

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

.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: 40em) {
  .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%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-up-1 > .cell {
    width: 100%;
  }
  .xlarge-up-2 > .cell {
    width: 50%;
  }
  .xlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xlarge-up-4 > .cell {
    width: 25%;
  }
  .xlarge-up-5 > .cell {
    width: 20%;
  }
  .xlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xlarge-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-up-1 > .cell {
    width: 100%;
  }
  .xxlarge-up-2 > .cell {
    width: 50%;
  }
  .xxlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xxlarge-up-4 > .cell {
    width: 25%;
  }
  .xxlarge-up-5 > .cell {
    width: 20%;
  }
  .xxlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xxlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xxlarge-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-up-1 > .cell {
    width: 100%;
  }
  .xxxlarge-up-2 > .cell {
    width: 50%;
  }
  .xxxlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xxxlarge-up-4 > .cell {
    width: 25%;
  }
  .xxxlarge-up-5 > .cell {
    width: 20%;
  }
  .xxxlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xxxlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xxxlarge-up-8 > .cell {
    width: 12.5%;
  }
}
.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1rem);
}

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.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: 40em) {
  .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 screen and (min-width: 80em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .medium-margin-collapse > .xxxlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xxxlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xxxlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xxxlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xxxlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xxxlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xxxlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xxxlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xxxlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xxxlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xxxlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xxxlarge-12 {
    width: 100%;
  }
}

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

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.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 screen and (min-width: 80em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .large-margin-collapse > .xxxlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xxxlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xxxlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xxxlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xxxlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xxxlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xxxlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xxxlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xxxlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xxxlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xxxlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xxxlarge-12 {
    width: 100%;
  }
}

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

@media screen and (min-width: 80em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .xlarge-margin-collapse > .xxxlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xxxlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xxxlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xxxlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xxxlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xxxlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xxxlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xxxlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xxxlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xxxlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xxxlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xxxlarge-12 {
    width: 100%;
  }
}

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

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .xxlarge-margin-collapse > .xxxlarge-1 {
    width: 8.3333333333%;
  }
  .xxlarge-margin-collapse > .xxxlarge-2 {
    width: 16.6666666667%;
  }
  .xxlarge-margin-collapse > .xxxlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xxxlarge-4 {
    width: 33.3333333333%;
  }
  .xxlarge-margin-collapse > .xxxlarge-5 {
    width: 41.6666666667%;
  }
  .xxlarge-margin-collapse > .xxxlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xxxlarge-7 {
    width: 58.3333333333%;
  }
  .xxlarge-margin-collapse > .xxxlarge-8 {
    width: 66.6666666667%;
  }
  .xxlarge-margin-collapse > .xxxlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xxxlarge-10 {
    width: 83.3333333333%;
  }
  .xxlarge-margin-collapse > .xxxlarge-11 {
    width: 91.6666666667%;
  }
  .xxlarge-margin-collapse > .xxxlarge-12 {
    width: 100%;
  }
}

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

@media screen and (min-width: 105em) {
  .xxxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxxlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xxxlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xxxlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xxxlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xxxlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xxxlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xxxlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xxxlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xxxlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xxxlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xxxlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xxxlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xxxlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xxxlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xxxlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xxxlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xxxlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xxxlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xxxlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xxxlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xxxlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xxxlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xxxlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xxxlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xxxlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xxxlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xxxlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xxxlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xxxlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xxxlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xxxlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xxxlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xxxlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xxxlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xxxlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xxxlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xxxlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xxxlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xxxlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xxxlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xxxlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xxxlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xxxlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xxxlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xxxlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-margin-collapse > .xxlarge-1 {
    width: 8.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxlarge-2 {
    width: 16.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xxxlarge-margin-collapse > .xxlarge-4 {
    width: 33.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxlarge-5 {
    width: 41.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xxxlarge-margin-collapse > .xxlarge-7 {
    width: 58.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxlarge-8 {
    width: 66.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xxxlarge-margin-collapse > .xxlarge-10 {
    width: 83.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxlarge-11 {
    width: 91.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-margin-collapse > .xxxlarge-1 {
    width: 8.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-2 {
    width: 16.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-3 {
    width: 25%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-4 {
    width: 33.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-5 {
    width: 41.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-6 {
    width: 50%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-7 {
    width: 58.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-8 {
    width: 66.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-9 {
    width: 75%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-10 {
    width: 83.3333333333%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-11 {
    width: 91.6666666667%;
  }
  .xxxlarge-margin-collapse > .xxxlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 105em) {
  .xxxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxxlarge-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% + 1rem / 2);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.5rem);
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1rem);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.5rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.5rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.5rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.5rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.5rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.5rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.5rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.5rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 105em) {
  .grid-margin-y > .xxxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxxlarge-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .xxxlarge-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .xxxlarge-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .xxxlarge-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-12 {
    height: calc(100% - 1rem);
  }
}

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

.grid-margin-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -0.75rem;
    margin-bottom: -0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.5rem);
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1rem);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.5rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.5rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.5rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1.5rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1.5rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.5rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.5rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.5rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.5rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1.5rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1.5rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.5rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 105em) {
  .grid-margin-y > .xxxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxxlarge-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .xxxlarge-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .xxxlarge-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .xxxlarge-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .xxxlarge-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .xxxlarge-12 {
    height: calc(100% - 1rem);
  }
}

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

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.5rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1rem);
  }
}
@media screen and (min-width: 80em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1rem);
  }
}
@media screen and (min-width: 90em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 1rem);
  }
}
@media screen and (min-width: 105em) {
  .grid-margin-y.xxxlarge-grid-frame {
    height: calc(100vh + 1rem);
  }
}
.row {
  max-width: 64rem;
  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.5rem;
  margin-left: -0.5rem;
}
@media print, screen and (min-width: 40em) {
  .row .row {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .row .row {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
@media screen and (min-width: 80em) {
  .row .row {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
@media screen and (min-width: 90em) {
  .row .row {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
@media screen and (min-width: 105em) {
  .row .row {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.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.5rem;
  padding-left: 0.5rem;
  min-width: 0;
}
@media print, screen and (min-width: 40em) {
  .column, .columns {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .column, .columns {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

.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.5rem;
  padding-left: 0.5rem;
}

@media print, screen and (min-width: 40em) {
  .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: 40em) and (min-width: 40em) {
  .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: 40em) {
  .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.75rem;
    padding-left: 0.75rem;
  }
}

@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: 1rem;
    padding-left: 1rem;
  }
}

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

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

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -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;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
[data-whatinput=mouse] .button {
  outline: 0;
}
.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: #3D3D3D;
  color: #ffffff;
}
.button:hover, .button:focus {
  background-color: rgb(51.85, 51.85, 51.85);
  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: #3D3D3D;
  color: #ffffff;
}
.button.primary:hover, .button.primary:focus {
  background-color: rgb(48.8, 48.8, 48.8);
  color: #ffffff;
}
.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: #767676;
  color: #000000;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: rgb(94.4, 94.4, 94.4);
  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: #3adb76;
  color: #000000;
}
.button.success:hover, .button.success:focus {
  background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918);
  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: #ffae00;
  color: #000000;
}
.button.warning:hover, .button.warning:focus {
  background-color: rgb(204, 139.2, 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: #cc4b37;
  color: #000000;
}
.button.alert:hover, .button.alert:focus {
  background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064);
  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 #3D3D3D;
  color: #3D3D3D;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: rgb(30.5, 30.5, 30.5);
  color: rgb(30.5, 30.5, 30.5);
}
.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 #3D3D3D;
  color: #3D3D3D;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: rgb(30.5, 30.5, 30.5);
  color: rgb(30.5, 30.5, 30.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 #767676;
  color: #767676;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #3b3b3b;
  color: #3b3b3b;
}
.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 #3adb76;
  color: #3adb76;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
  color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
}
.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 #ffae00;
  color: #ffae00;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: rgb(127.5, 87, 0);
  color: rgb(127.5, 87, 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 #cc4b37;
  color: #cc4b37;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: rgb(103.187250996, 36.6314741036, 26.312749004);
  color: rgb(103.187250996, 36.6314741036, 26.312749004);
}
.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: #3D3D3D;
}
.button.clear:hover, .button.clear:focus {
  color: rgb(30.5, 30.5, 30.5);
}
.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: #3D3D3D;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: rgb(30.5, 30.5, 30.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: #767676;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: #3b3b3b;
}
.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: #3adb76;
}
.button.clear.success:hover, .button.clear.success:focus {
  color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
}
.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: #ffae00;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  color: rgb(127.5, 87, 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: #cc4b37;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: rgb(103.187250996, 36.6314741036, 26.312749004);
}
.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: 1em;
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #3D3D3D;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #3D3D3D;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #767676;
}
.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #3adb76;
}
.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #ffae00;
}
.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #cc4b37;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

.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: 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::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: #3D3D3D;
  color: #ffffff;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: rgb(48.8, 48.8, 48.8);
  color: #ffffff;
}
.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: #767676;
  color: #000000;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: rgb(94.4, 94.4, 94.4);
  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: #3adb76;
  color: #000000;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918);
  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: #ffae00;
  color: #000000;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: rgb(204, 139.2, 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: #cc4b37;
  color: #000000;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064);
  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 #3D3D3D;
  color: #3D3D3D;
}
.button-group.hollow .button:hover, .button-group.hollow .button:focus {
  border-color: rgb(30.5, 30.5, 30.5);
  color: rgb(30.5, 30.5, 30.5);
}
.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 #3D3D3D;
  color: #3D3D3D;
}
.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(30.5, 30.5, 30.5);
  color: rgb(30.5, 30.5, 30.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 #767676;
  color: #767676;
}
.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: #3b3b3b;
  color: #3b3b3b;
}
.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 #3adb76;
  color: #3adb76;
}
.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(21.3991416309, 117.1008583691, 57.0643776824);
  color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
}
.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 #ffae00;
  color: #ffae00;
}
.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, 87, 0);
  color: rgb(127.5, 87, 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 #cc4b37;
  color: #cc4b37;
}
.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(103.187250996, 36.6314741036, 26.312749004);
  color: rgb(103.187250996, 36.6314741036, 26.312749004);
}
.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: #3D3D3D;
}
.button-group.clear .button:hover, .button-group.clear .button:focus {
  color: rgb(30.5, 30.5, 30.5);
}
.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: #3D3D3D;
}
.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(30.5, 30.5, 30.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: #767676;
}
.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: #3b3b3b;
}
.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: #3adb76;
}
.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(21.3991416309, 117.1008583691, 57.0643776824);
}
.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: #ffae00;
}
.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, 87, 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: #cc4b37;
}
.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(103.187250996, 36.6314741036, 26.312749004);
}
.button-group.no-gaps .button {
  margin-right: -0.05rem;
}
.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: 40em) {
  .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: 39.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;
  }
}

.close-button {
  position: absolute;
  z-index: 10;
  color: #8a8a8a;
  cursor: pointer;
}
[data-whatinput=mouse] .close-button {
  outline: 0;
}
.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: #3D3D3D;
  color: #ffffff;
}
.label.primary {
  background: #3D3D3D;
  color: #ffffff;
}
.label.secondary {
  background: #767676;
  color: #000000;
}
.label.success {
  background: #3adb76;
  color: #000000;
}
.label.warning {
  background: #ffae00;
  color: #000000;
}
.label.alert {
  background: #cc4b37;
  color: #000000;
}

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

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout.primary {
  background-color: rgb(225.9, 225.9, 225.9);
  color: #000000;
}
.callout.secondary {
  background-color: rgb(234.45, 234.45, 234.45);
  color: #000000;
}
.callout.success {
  background-color: rgb(225.45, 249.6, 234.45);
  color: #000000;
}
.callout.warning {
  background-color: rgb(255, 242.85, 216.75);
  color: #000000;
}
.callout.alert {
  background-color: rgb(247.35, 228, 225);
  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 #cacaca;
  border-radius: 0;
  background-color: #F5E5D5;
  font-size: 1rem;
}
.dropdown-pane.is-opening {
  display: block;
}
.dropdown-pane.is-open {
  display: block;
  visibility: visible;
}

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}
.pagination::before, .pagination::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.pagination::after {
  clear: both;
}
.pagination li {
  margin-right: 0.05rem;
  border-radius: 0;
  font-size: 0.7rem;
  display: none;
}
.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}
@media print, screen and (min-width: 40em) {
  .pagination li {
    display: inline-block;
  }
}
.pagination a,
.pagination button {
  display: block;
  padding: 0.15rem 0.5rem;
  border-radius: 0;
  color: #000000;
}
.pagination a:hover,
.pagination button:hover {
  background: #e6e6e6;
}
.pagination .current {
  padding: 0.15rem 0.5rem;
  background: #3D3D3D;
  color: #ffffff;
  cursor: default;
}
.pagination .disabled {
  padding: 0.15rem 0.5rem;
  color: #cacaca;
  cursor: not-allowed;
}
.pagination .disabled:hover {
  background: transparent;
}
.pagination .ellipsis::after {
  padding: 0.15rem 0.5rem;
  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 #8a8a8a;
  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 #e6e6e6;
  border-bottom: 0;
  font-size: 0.6rem;
  line-height: 1;
  color: #3D3D3D;
}
:last-child:not(.is-active) > .accordion-title {
  border-bottom: 1px solid #e6e6e6;
  border-radius: 0 0 0 0;
}
.accordion-title:hover, .accordion-title:focus {
  background-color: #e6e6e6;
}
.accordion-title::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -0.5rem;
  content: "+";
}
.is-active > .accordion-title::before {
  content: "–";
}

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

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

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

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

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

.tabs.primary {
  background: #3D3D3D;
}
.tabs.primary > li > a {
  color: #ffffff;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: rgb(70.7, 70.7, 70.7);
}

.tabs-title {
  float: left;
}
.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.6rem;
  line-height: 1;
  color: #3D3D3D;
}
[data-whatinput=mouse] .tabs-title > a {
  outline: 0;
}
.tabs-title > a:hover {
  background: #ffffff;
  color: rgb(52.46, 52.46, 52.46);
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: #e6e6e6;
  color: #3D3D3D;
}

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

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

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

.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: 40em) {
  .menu.medium-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.medium-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.medium-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.medium-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.large-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.large-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.large-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media screen and (min-width: 80em) {
  .menu.xlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xlarge-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media screen and (min-width: 90em) {
  .menu.xxlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xxlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xxlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xxlarge-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media screen and (min-width: 105em) {
  .menu.xxxlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xxxlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xxxlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xxxlarge-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: #3D3D3D;
  color: #ffffff;
}
.menu .active > a {
  background: #3D3D3D;
  color: #ffffff;
}
.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: #3D3D3D 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: #3D3D3D 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 #3D3D3D;
  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 #3D3D3D;
  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 #3D3D3D 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 #3D3D3D 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: #3D3D3D 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: #3D3D3D;
}
.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 #3D3D3D 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 #3D3D3D;
}
@media print, screen and (min-width: 40em) {
  .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: #3D3D3D 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 #3D3D3D 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 #3D3D3D;
  }
}
@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: #3D3D3D 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 #3D3D3D 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 #3D3D3D;
  }
}
@media screen and (min-width: 80em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #3D3D3D transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #3D3D3D transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xlarge-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 #3D3D3D;
  }
}
@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #3D3D3D transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #3D3D3D transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xxlarge-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 #3D3D3D;
  }
}
@media screen and (min-width: 105em) {
  .dropdown.menu.xxxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xxxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xxxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xxxlarge-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: #3D3D3D transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xxxlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xxxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xxxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xxxlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xxxlarge-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 #3D3D3D transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xxxlarge-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 #3D3D3D;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #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 #3D3D3D 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 #3D3D3D;
}
.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: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xxlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xxlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xxlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xxlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xxlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xxxlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xxxlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xxxlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xxxlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xxxlarge-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: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 80em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 90em) {
  .xxlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xxlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 105em) {
  .xxxlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xxxlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xxxlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xxxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xxxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xxxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xxxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xxxlarge-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: 39.99875em) {
  .hide-for-small-only {
    display: none !important;
  }
}

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

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

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

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

@media screen and (max-width: 39.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;
  }
}

@media screen and (min-width: 80em) {
  .hide-for-xlarge {
    display: none !important;
  }
}

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

@media screen and (min-width: 80em) and (max-width: 89.99875em) {
  .hide-for-xlarge-only {
    display: none !important;
  }
}

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

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important;
  }
}

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

@media screen and (min-width: 90em) and (max-width: 104.99875em) {
  .hide-for-xxlarge-only {
    display: none !important;
  }
}

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

@media screen and (min-width: 105em) {
  .hide-for-xxxlarge {
    display: none !important;
  }
}

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

@media screen and (min-width: 105em) {
  .hide-for-xxxlarge-only {
    display: none !important;
  }
}

@media screen and (max-width: 104.99875em) {
  .show-for-xxxlarge-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;
}

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

body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
  margin-left: 0;
}
@media print, screen and (min-width: 64em) {
  body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
    margin-left: 240px;
    margin-left: 15rem;
  }
}

.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;
  margin-top: 170px;
}

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

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

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

@media print, screen and (max-width: 63.99875em) {
  #toolbar-administration {
    display: none !important;
  }
  body.adminimal-admin-toolbar {
    margin-left: 0 !important;
    padding-top: 0 !important;
  }
}
@font-face {
  font-family: "sole24ding";
  src: url("../fonts/sole24ding/sole24ding.eot?44171214");
  src: url("../fonts/sole24ding/sole24ding.eot?44171214#iefix") format("embedded-opentype"), url("../fonts/sole24ding/sole24ding.woff2?44171214") format("woff2"), url("../fonts/sole24ding/sole24ding.woff?44171214") format("woff"), url("../fonts/sole24ding/sole24ding.ttf?44171214") format("truetype"), url("../fonts/sole24ding/sole24ding.svg?44171214#sole24ding") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icn-]:before, [class*=icn-]:before, .paragraph--type--banner-header .slideManager.isPlaying:before, .paragraph--type--banner-header .slideManager.isPaused:before, .paragraph--type--banner-slide .slideManager.isPlaying:before, .paragraph--type--banner-slide .slideManager.isPaused:before, .paragraph--type--banner-simple .btnAction.isPlaying:before, .paragraph--type--banner-simple .btnAction.isPaused:before, .paragraph--type--linkers .field--name-field-cta-links a[target=_blank]:after, .paragraph-accordions-tabs .accordion-title:after, .block-tb-megamenu-menu-blockmain a.tbm-link.level-2.link-gruppo:after, .webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper span.file.file--application-pdf:before, .webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper span.file:before, .webform-submission-form .js-form-type-checkbox label:after,
form.user-login-form .js-form-type-checkbox label:after,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox label:after,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox label:after, .introLinkerStructure a.introLinkerLink:before, .mm-menu .mm-panel.mm-panel_has-navbar .mm-navbar a.mm-btn_prev:after, .mm-menu a.mm-btn_next:before, .mm-menu a.itm-menu-main.link-gruppo:after, .webform-submission-candidatura-spontanea-form .select2-container--default .dropdown-wrapper:before, .select2-container--default .dropdown-wrapper:before,
.select2-container--archiveMenu .dropdown-wrapper:before, .swiperParagraph .swiper-button-next:before, .paragraph--type--msg-c-highlights .swiper-button-next:before, .swiperParagraph .swiper-button-prev:before, .paragraph--type--msg-c-highlights .swiper-button-prev:before, .link-attachment:after, .link-pdf:after, .link-arrow:after, .paragraph--type--cta-testuale-con-intro .field--name-field-cta a:after, .link-arrow-back:after, .link-arrow-tall:after, .link-book:after, .link-underline:after, .btn-square:before {
  font-family: sole24ding;
  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-arrow-forward:before {
  content: "\e800";
}

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

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

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

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

.icn-social-yt:before {
  content: "\e805";
}

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

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

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

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

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

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

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

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

.icn-book:before {
  content: "\e818";
}

.icn-type-gallery:before {
  content: "\e819";
}

.icn-type-video:before {
  content: "\e81a";
}

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

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

.icn-pause-simple:before {
  content: "\e84b";
}

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

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

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

.icn-check:before {
  content: "\e852";
}

.icn-file-generic:before {
  content: "\e853";
}

.icn-file-html:before {
  content: "\e854";
}

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

.icn-file-zip:before {
  content: "\e856";
}

/**
 * Sperimentale
 * Si possono sepcificare i tag hX e p o una classe custom.
 */
/**
 * Lato grafico, i font sono stati definiti per il desktop
 * Di default su cellulare prendono la classe successiva
 * Es, lo small di heading_xxl è il medium di heading_xl
 *
 * Lato editoriale sono disponibili gli heading da Xl a XS (H1 - H5)
 * E' inoltre disponibile il body_s, che rappresenta le note
 * Il testo di default è body_xl
 * Tutti gli altri sono usati internamente per degli elementi di header, footer e paragraphs
 */
.heading_xxl, h1 {
  font-family: "sole_display";
  font-weight: 800;
  font-size: 2.4rem;
  line-height: 3.2rem;
}

@media print, screen and (min-width: 40em) {
  .heading_xxl, h1 {
    font-size: 3.2rem;
    line-height: 4.8rem;
  }
}

.heading_xl, .pressContent.node-view-mode-full .gridHeader h1, .page-node-type-page.pageError .node-content.node-type-page h3, .paragraph--type--multitext .field--name-field-titolo, h2 {
  font-family: "sole_display";
  font-weight: 800;
  font-size: 1.9rem;
  line-height: 2.7rem;
}

@media print, screen and (min-width: 40em) {
  .heading_xl, .pressContent.node-view-mode-full .gridHeader h1, .page-node-type-page.pageError .node-content.node-type-page h3, .paragraph--type--multitext .field--name-field-titolo, h2 {
    font-size: 2.8rem;
    line-height: 4.2rem;
  }
}

.heading_l, .node-content.node-type-event.node-view-mode-teaser .eventDate .edDay, .paragraph--type--msg-c-highlight .highlight-title .highlight-number-static, .paragraph--type--msg-c-highlight .highlight-title .highlight-number,
.paragraph--type--msg-c-highlight .highlight-title .highlight-title-prefix, .paragraph--type--msg-c-highlight .highlight-title .highlight-title-suffix, .paragraph--type--msg-c-highlight .highlight-title, .whiteBoxes span.boxNumber, h3 {
  font-family: "sole_display";
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 2.1rem;
}

@media print, screen and (min-width: 40em) {
  .heading_l, .node-content.node-type-event.node-view-mode-teaser .eventDate .edDay, .paragraph--type--msg-c-highlight .highlight-title .highlight-number-static, .paragraph--type--msg-c-highlight .highlight-title .highlight-number,
  .paragraph--type--msg-c-highlight .highlight-title .highlight-title-prefix, .paragraph--type--msg-c-highlight .highlight-title .highlight-title-suffix, .paragraph--type--msg-c-highlight .highlight-title, .whiteBoxes span.boxNumber, h3 {
    font-size: 2.4rem;
    line-height: 3rem;
  }
}

.heading_m, .node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaLink a, .nodeHeader .field--name-field-header-text p, .paragraph--type--documents-wrapper .field--name-field-titolo, .paragraph--type--linkers .field--name-field-titolo, .webform-submission-form .webform-confirmation .webform-confirmation__message,
form.user-login-form .webform-confirmation .webform-confirmation__message,
.views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation .webform-confirmation__message,
.views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation .webform-confirmation__message, h4 {
  font-family: "SoleSans", sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.8rem;
}

@media print, screen and (min-width: 40em) {
  .heading_m, .node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaLink a, .nodeHeader .field--name-field-header-text p, .paragraph--type--documents-wrapper .field--name-field-titolo, .paragraph--type--linkers .field--name-field-titolo, .webform-submission-form .webform-confirmation .webform-confirmation__message,
  form.user-login-form .webform-confirmation .webform-confirmation__message,
  .views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation .webform-confirmation__message,
  .views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation .webform-confirmation__message, h4 {
    font-size: 1.5rem;
    line-height: 2.1rem;
  }
}

.heading_xs, .pressView.newsPressReleases .bef-exposed-form label, .pressView.newsPressReleases .bef-exposed-form legend,
.pressView.comunicatiInvestors .bef-exposed-form label,
.pressView.comunicatiInvestors .bef-exposed-form legend, .pressView.g24List .bef-exposed-form label, .pressView.g24List .bef-exposed-form legend, .befFilters .bef-exposed-form label, .whiteBoxes p.boxTitle, h5 {
  font-family: "SoleSans", sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.8rem;
}

.body_xxl, .node-content.node-type-event.node-view-mode-teaser .eventDate .edMonth, .node-content.node-type-event.node-view-mode-teaser .eventDate .edYear, .node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-body p, .node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-body, .node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-field-publishing-date, .pressContent.node-view-mode-full .gridHeader .field--name-field-publishing-date, .viewPaged ul.pager__items li.pager__item a, .paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-subtitle p,
.paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-text p, .paragraph--type--cta-testuale-con-intro .field--name-field-text p, .paragraph--type--cta-testuale-con-intro .field--name-field-titolo, .paragraph--type--cta-testuale-con-intro .field--name-field-company {
  margin-bottom: 1.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

@media print, screen and (min-width: 40em) {
  .body_xxl, .node-content.node-type-event.node-view-mode-teaser .eventDate .edMonth, .node-content.node-type-event.node-view-mode-teaser .eventDate .edYear, .node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-body p, .node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-body, .node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-field-publishing-date, .pressContent.node-view-mode-full .gridHeader .field--name-field-publishing-date, .viewPaged ul.pager__items li.pager__item a, .paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-subtitle p,
  .paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-text p, .paragraph--type--cta-testuale-con-intro .field--name-field-text p, .paragraph--type--cta-testuale-con-intro .field--name-field-titolo, .paragraph--type--cta-testuale-con-intro .field--name-field-company {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
}

.body_xl, .viewCellEmpty p, .befFilters .bef-exposed-form input[type=text], .paragraph--type--posizione-aperta .field--name-field-place, .paragraph--type--posizione-aperta .field--name-field-titolo, .paragraph--type--posizione-aperta .field--name-field-company, .block-menu-blocksocial label, .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,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=text],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=email],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=date],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=number],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=password],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=tel],
.views-exposed-form.block-exposedformsearchsearch-page form textarea,
.views-exposed-form.block-formespostosearchsearch-page form input[type=text],
.views-exposed-form.block-formespostosearchsearch-page form input[type=email],
.views-exposed-form.block-formespostosearchsearch-page form input[type=date],
.views-exposed-form.block-formespostosearchsearch-page form input[type=number],
.views-exposed-form.block-formespostosearchsearch-page form input[type=password],
.views-exposed-form.block-formespostosearchsearch-page form input[type=tel],
.views-exposed-form.block-formespostosearchsearch-page form textarea, .webform-submission-form label,
form.user-login-form label,
.views-exposed-form.block-exposedformsearchsearch-page form label,
.views-exposed-form.block-formespostosearchsearch-page form label, .whiteBoxes.boxesGovernanceOverview p.boxTitle, .whiteBoxes p.boxText, .select2-dropdown .select2-results__option, .select2-container--default span.select2-selection__rendered,
.select2-container--archiveMenu span.select2-selection__rendered, .link-attachment, .link-pdf, .block-system-main-block table.font-xl tbody td, .block-system-main-block table.font-xl tbody th, .block-system-main-block table.font-xl tbody a, .block-system-main-block table.font-xl tbody p:not([class]), .block-system-main-block table.font-xl tbody p[class=""] {
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  line-height: 1.5rem;
}

@media print, screen and (min-width: 40em) {
  .body_xl, .viewCellEmpty p, .befFilters .bef-exposed-form input[type=text], .paragraph--type--posizione-aperta .field--name-field-place, .paragraph--type--posizione-aperta .field--name-field-titolo, .paragraph--type--posizione-aperta .field--name-field-company, .block-menu-blocksocial label, .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,
  .views-exposed-form.block-exposedformsearchsearch-page form input[type=text],
  .views-exposed-form.block-exposedformsearchsearch-page form input[type=email],
  .views-exposed-form.block-exposedformsearchsearch-page form input[type=date],
  .views-exposed-form.block-exposedformsearchsearch-page form input[type=number],
  .views-exposed-form.block-exposedformsearchsearch-page form input[type=password],
  .views-exposed-form.block-exposedformsearchsearch-page form input[type=tel],
  .views-exposed-form.block-exposedformsearchsearch-page form textarea,
  .views-exposed-form.block-formespostosearchsearch-page form input[type=text],
  .views-exposed-form.block-formespostosearchsearch-page form input[type=email],
  .views-exposed-form.block-formespostosearchsearch-page form input[type=date],
  .views-exposed-form.block-formespostosearchsearch-page form input[type=number],
  .views-exposed-form.block-formespostosearchsearch-page form input[type=password],
  .views-exposed-form.block-formespostosearchsearch-page form input[type=tel],
  .views-exposed-form.block-formespostosearchsearch-page form textarea, .webform-submission-form label,
  form.user-login-form label,
  .views-exposed-form.block-exposedformsearchsearch-page form label,
  .views-exposed-form.block-formespostosearchsearch-page form label, .whiteBoxes.boxesGovernanceOverview p.boxTitle, .whiteBoxes p.boxText, .select2-dropdown .select2-results__option, .select2-container--default span.select2-selection__rendered,
  .select2-container--archiveMenu span.select2-selection__rendered, .link-attachment, .link-pdf, .block-system-main-block table.font-xl tbody td, .block-system-main-block table.font-xl tbody th, .block-system-main-block table.font-xl tbody a, .block-system-main-block table.font-xl tbody p:not([class]), .block-system-main-block table.font-xl tbody p[class=""] {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.body_l, .node-content.node-type-event.node-view-mode-teaser .eventCalendar .evLbl, .node-content.node-type-event .eventIcn, .node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaInfo, .pressArtPr.node-view-mode-teaser .field--name-field-media-documents .mediaLink a, .paragraph--type--posizione-aperta .field--name-field-cta a, .paragraph--type--linkers .field--name-field-cta-links a, .block-tt-foundation-footerintro .field--name-body p, .block-tt-foundation-footercontatti .field--name-body p, .block-system-main-block table tbody td, .block-system-main-block table tbody th {
  margin-bottom: 1rem;
  font-size: 0.8rem;
  line-height: 1rem;
}

@media print, screen and (min-width: 40em) {
  .body_l, .node-content.node-type-event.node-view-mode-teaser .eventCalendar .evLbl, .node-content.node-type-event .eventIcn, .node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaInfo, .pressArtPr.node-view-mode-teaser .field--name-field-media-documents .mediaLink a, .paragraph--type--posizione-aperta .field--name-field-cta a, .paragraph--type--linkers .field--name-field-cta-links a, .block-tt-foundation-footerintro .field--name-body p, .block-tt-foundation-footercontatti .field--name-body p, .block-system-main-block table tbody td, .block-system-main-block table tbody th {
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
}

.body_m, .node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-type, .node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-publishing-date, .pressArtPr.node-view-mode-teaser label.lblType, .pressArtPr.node-view-mode-teaser .field--name-field-publishing-date, .node-content.pressHp-evidenza label.lblType, .node-content.pressHp-evidenza .field--name-field-publishing-date, .node-content.node-download-files .mediaLink .field--name-body p,
.media.media--type-document.media--view-mode-download-item .mediaLink .field--name-body p, .viewManager.viewNote .views-field-field-note, .block-tt-foundation-piedipagina ul.menu li a, .block-footer-mainnav ul.menu li a, .block-stakeholder-engagement-block .svgPopup p, .mm-menu .mm-navbars_bottom .langChanger ul.links a.language-link {
  margin-bottom: 0.9rem;
  font-size: 0.7rem;
  line-height: 0.9rem;
}

@media print, screen and (min-width: 40em) {
  .body_m, .node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-type, .node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-publishing-date, .pressArtPr.node-view-mode-teaser label.lblType, .pressArtPr.node-view-mode-teaser .field--name-field-publishing-date, .node-content.pressHp-evidenza label.lblType, .node-content.pressHp-evidenza .field--name-field-publishing-date, .node-content.node-download-files .mediaLink .field--name-body p,
  .media.media--type-document.media--view-mode-download-item .mediaLink .field--name-body p, .viewManager.viewNote .views-field-field-note, .block-tt-foundation-piedipagina ul.menu li a, .block-footer-mainnav ul.menu li a, .block-stakeholder-engagement-block .svgPopup p, .mm-menu .mm-navbars_bottom .langChanger ul.links a.language-link {
    margin-bottom: 1rem;
    font-size: 0.8rem;
    line-height: 1rem;
  }
}

.body_s, .webform-submission-form .js-form-type-checkbox label,
form.user-login-form .js-form-type-checkbox label,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox label,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox label, .block-tt-foundation-datisocietari .field--name-body p, header.pageHeader .block-supheader-menu-standard ul.menu li a {
  margin-bottom: 0.9rem;
  font-size: 0.7rem;
  line-height: 0.9rem;
}

h4, h5 {
  font-family: "SoleSans", sans-serif;
}

/**
 * Ristringe l'elemento desiderato in base ai margin gutter
 * Ridimensiona la larghezza massima e gestisce i margin laterali
 *
 * @include sideMarginItem('.node-view-mode-teaser');
 * @include sideMarginItemSelf();
 */
/**
 * Allarga l'elemento desiderato in base ai margin gutter
 * Ridimensiona la larghezza massima e gestisce i margin laterali in negativo
 *
 * @include sideMarginWrapper('.node-view-mode-teaser');
 * @include sideMarginWrapperSelf();
 */
.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, .bgVideoAbs:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: 1;
}

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

.bgCoverAbs {
  z-index: 1;
}

.bgVideoAbs {
  z-index: 2;
}
.bgVideoAbs:before {
  z-index: 3;
}
.bgVideoAbs video {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.fullLink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

iframe {
  width: 100%;
  height: auto;
  border: none;
}

iframe.s24_mi {
  height: 445px;
}

.scroller, .fancybox-container.fancyManager .fancybox-content {
  --scrollbar-color-thumb: #3D3D3D;
  --scrollbar-color-track: #D2D2D3;
  --scrollbar-width: thin;
  --scrollbar-width-legacy: 15rem;
}

@supports (scrollbar-width: auto) {
  .scroller, .fancybox-container.fancyManager .fancybox-content {
    scrollbar-color: var(--scrollbar-color-thumb) var(--scrollbar-color-track);
    scrollbar-width: var(--scrollbar-width);
  }
}
@supports selector(::-webkit-scrollbar) {
  main:has(input[name=fix-safari]:checked) .scroller:hover, main:has(input[name=fix-safari]:checked) .fancybox-container.fancyManager .fancybox-content:hover, .fancybox-container.fancyManager main:has(input[name=fix-safari]:checked) .fancybox-content:hover {
    --safari-fix: ; /* This custom property forces Safari to re-render the scrollbars on hover */
  }
  .scroller::-webkit-scrollbar-thumb, .fancybox-container.fancyManager .fancybox-content::-webkit-scrollbar-thumb {
    background: transparent;
  }
  .scroller::-webkit-scrollbar-track, .fancybox-container.fancyManager .fancybox-content::-webkit-scrollbar-track {
    background: transparent;
  }
  .scroller:hover::-webkit-scrollbar-thumb, .fancybox-container.fancyManager .fancybox-content:hover::-webkit-scrollbar-thumb {
    background: var(--scrollbar-color-thumb);
  }
  .scroller:hover::-webkit-scrollbar-track, .fancybox-container.fancyManager .fancybox-content:hover::-webkit-scrollbar-track {
    background: var(--scrollbar-color-track);
  }
  .scroller::-webkit-scrollbar, .fancybox-container.fancyManager .fancybox-content::-webkit-scrollbar {
    max-width: var(--scrollbar-width-legacy);
    max-height: var(--scrollbar-width-legacy);
  }
}
.scroller, .fancybox-container.fancyManager .fancybox-content {
  position: relative;
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

.sr-only:not(:focus):not(:active), .block-stakeholder-engagement-block h2.block-title:not(:focus):not(:active), body.path-frontpage .block-page-title-block.block-tt-foundation-page-title:not(:focus):not(:active), body.hideHeadTitle .block-page-title-block.block-tt-foundation-page-title:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

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

a[href^="mailto:"] {
  text-decoration: underline;
}

.block-system-main-block a#main-content {
  display: none;
}
.block-system-main-block span.sottolineatura, .block-system-main-block span.sottolineaturaSmall {
  position: relative;
}
.block-system-main-block span.sottolineatura:before, .block-system-main-block span.sottolineaturaSmall:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.block-system-main-block span.txtRosso {
  color: #D2001F;
}
.block-system-main-block .table-scroller {
  overflow-x: auto;
}
.block-system-main-block table {
  width: 100%;
  margin: 1rem 0;
  border-collapse: separate;
  border-spacing: 0;
}
.block-system-main-block table th {
  padding: 10px 0;
  text-align: left;
}
.block-system-main-block table td {
  padding: 10px 0;
  text-align: left;
}
.block-system-main-block table td.text-align-right, .block-system-main-block table th.text-align-right {
  text-align: right;
}
.block-system-main-block table thead {
  border: none;
  background: transparent;
}
.block-system-main-block table thead th {
  border: none;
  border-bottom: 2px solid #3D3D3D;
}
.block-system-main-block table tbody {
  border: none;
  background: transparent;
}
.block-system-main-block table tbody tr {
  background: transparent !important;
}
.block-system-main-block table tbody td, .block-system-main-block table tbody th {
  margin-bottom: 0;
  border-bottom: 1px solid #3D3D3D;
}
.block-system-main-block table tbody td.highlight-cell, .block-system-main-block table tbody th.highlight-cell {
  font-weight: 700;
}
.block-system-main-block table tbody th {
  font-weight: 700;
}
.block-system-main-block table tbody p {
  margin-bottom: 0;
}
.block-system-main-block table.font-xl tbody td, .block-system-main-block table.font-xl tbody th, .block-system-main-block table.font-xl tbody a, .block-system-main-block table.font-xl tbody p:not([class]), .block-system-main-block table.font-xl tbody p[class=""] {
  margin-bottom: 0;
}

.greenHeaderTable thead th, .consAmministrazioneTable table thead th {
  padding: 5px 20px;
  background-color: #31686F;
  border: none;
  border-top: 1px solid #ffffff;
  border-bottom: none !important;
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 1.1rem;
  color: #ffffff;
  text-align: center;
}
.greenHeaderTable thead th:first-child, .consAmministrazioneTable table thead th:first-child {
  border-left: 1px solid #ffffff;
  text-align: left;
}
.greenHeaderTable thead th:last-child, .consAmministrazioneTable table thead th:last-child {
  border-right: 1px solid #ffffff;
}
.greenHeaderTable tbody td, .consAmministrazioneTable table tbody td, .greenHeaderTable tbody th, .consAmministrazioneTable table tbody th {
  padding: 12px 20px;
  background-color: #ffffff;
  border: 1px solid #F5E5D5;
  border-bottom: none !important;
  font-weight: 400;
  font-size: 0.9rem;
  line-height: 1.1rem;
  color: #000000;
  text-align: center;
}
.greenHeaderTable tbody td:first-child, .consAmministrazioneTable table tbody td:first-child {
  text-align: left;
}
.greenHeaderTable span.icn-check, .consAmministrazioneTable table span.icn-check {
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: #E5F1F3;
  border-radius: 30px;
  color: #3D3D3D;
  text-align: center;
}
.greenHeaderTable span.icn-check:before, .consAmministrazioneTable table span.icn-check:before {
  font-size: 10px;
  line-height: 30px;
}
.greenHeaderTable span.role, .consAmministrazioneTable table span.role {
  display: block;
  margin-top: 5px;
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 0.9rem;
  color: #3D3D3D;
}
@media print, screen and (min-width: 40em) {
  .greenHeaderTable, .consAmministrazioneTable table {
    margin: 0 !important;
  }
}

.block-system-main-block .field--type-text-with-summary ul:not(.nostyle):not(.contextual-links):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):not(.contextual-links), .block-system-main-block .field--type-text-long ol:not(.contextual-links), .block-system-main-block .zurb-foundation-callout ul:not(.nostyle):not(.contextual-links):not(.contextual-links), .block-system-main-block .zurb-foundation-callout ol:not(.contextual-links), .webform-submission-form .field--type-text-with-summary ul:not(.nostyle):not(.contextual-links):not(.contextual-links), .webform-submission-form .field--type-text-with-summary ol:not(.contextual-links), .webform-submission-form .field--type-text-long ul:not(.nostyle):not(.contextual-links):not(.contextual-links), .webform-submission-form .field--type-text-long ol:not(.contextual-links), .webform-submission-form .zurb-foundation-callout ul:not(.nostyle):not(.contextual-links):not(.contextual-links), .webform-submission-form .zurb-foundation-callout 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):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):not(.contextual-links) > li, .block-system-main-block .field--type-text-long ol:not(.contextual-links) > li, .block-system-main-block .zurb-foundation-callout ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li, .block-system-main-block .zurb-foundation-callout ol:not(.contextual-links) > li, .webform-submission-form .field--type-text-with-summary ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li, .webform-submission-form .field--type-text-with-summary ol:not(.contextual-links) > li, .webform-submission-form .field--type-text-long ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li, .webform-submission-form .field--type-text-long ol:not(.contextual-links) > li, .webform-submission-form .zurb-foundation-callout ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li, .webform-submission-form .zurb-foundation-callout ol:not(.contextual-links) > li {
  position: relative;
  margin: 0 0 0px 0;
  padding: 0 0 0 36px;
}
.block-system-main-block .field--type-text-with-summary ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li:before, .block-system-main-block .field--type-text-long ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li:before, .block-system-main-block .zurb-foundation-callout ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li:before, .webform-submission-form .field--type-text-with-summary ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li:before, .webform-submission-form .field--type-text-long ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li:before, .webform-submission-form .zurb-foundation-callout ul:not(.nostyle):not(.contextual-links):not(.contextual-links) > li:before {
  content: "";
  position: absolute;
  top: 12px;
  left: 14px;
  width: 6px;
  height: 6px;
  background: #3D3D3D;
}
.block-system-main-block .field--type-text-with-summary ol, .block-system-main-block .field--type-text-long ol, .block-system-main-block .zurb-foundation-callout ol, .webform-submission-form .field--type-text-with-summary ol, .webform-submission-form .field--type-text-long ol, .webform-submission-form .zurb-foundation-callout 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, .block-system-main-block .zurb-foundation-callout ol > li, .webform-submission-form .field--type-text-with-summary ol > li, .webform-submission-form .field--type-text-long ol > li, .webform-submission-form .zurb-foundation-callout 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, .block-system-main-block .zurb-foundation-callout ol > li:before, .webform-submission-form .field--type-text-with-summary ol > li:before, .webform-submission-form .field--type-text-long ol > li:before, .webform-submission-form .zurb-foundation-callout ol > li:before {
  content: counter(olLi);
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 20px;
  font-size: 0.8rem;
  line-height: 1.2rem;
  color: #3D3D3D;
  text-align: right;
}

/*
 * Indicazioni per i link
 */
.ctaBtn {
  display: inline-block;
  padding: 18px 20px;
  background: transparent;
  border-radius: 5px;
  font-size: 0.6rem;
  line-height: 0.9rem;
  color: #000000;
  text-transform: uppercase;
}
.ctaBtn:hover {
  background: transparent;
  color: #000000;
}

.btn-primary, .nodeHeader .field--name-field-header-cta a, .paragraph--type--banner-slide .field--name-field-cta a, .webform-submission-form .webform-actions .js-form-submit,
form.user-login-form .webform-actions .js-form-submit,
.views-exposed-form.block-exposedformsearchsearch-page form .webform-actions .js-form-submit,
.views-exposed-form.block-formespostosearchsearch-page form .webform-actions .js-form-submit, .views-exposed-form.block-exposedformsearchsearch-page .search-btn,
.views-exposed-form.block-formespostosearchsearch-page .search-btn {
  display: inline-block;
  padding: 12px;
  background: #3D3D3D;
  border: 1px solid #3D3D3D;
  vertical-align: top;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2rem;
  color: #ffffff !important;
}
@media print, screen and (min-width: 64em) {
  .btn-primary:hover, .nodeHeader .field--name-field-header-cta a:hover, .paragraph--type--banner-slide .field--name-field-cta a:hover, .webform-submission-form .webform-actions .js-form-submit:hover,
  form.user-login-form .webform-actions .js-form-submit:hover,
  .views-exposed-form.block-exposedformsearchsearch-page form .webform-actions .js-form-submit:hover,
  .views-exposed-form.block-formespostosearchsearch-page form .webform-actions .js-form-submit:hover, .views-exposed-form.block-exposedformsearchsearch-page .search-btn:hover,
  .views-exposed-form.block-formespostosearchsearch-page .search-btn:hover {
    background: #ffffff;
    border: 1px solid #ffffff;
    color: #000000 !important;
  }
}

.btn-secondary, .paragraph--type--banner-header .field--name-field-cta a {
  display: inline-block;
  padding: 12px;
  background: #F7D2AF;
  border: 1px solid #F7D2AF;
  vertical-align: top;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2rem;
}
@media print, screen and (min-width: 64em) {
  .btn-secondary:hover, .paragraph--type--banner-header .field--name-field-cta a:hover {
    background: #ffffff;
    border: 1px solid #ffffff;
  }
}

.btn-square {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 48px;
  margin-left: 0;
  background: #F7D2AF;
  border: 1px solid #F7D2AF;
  vertical-align: top;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 0;
  line-height: 0;
}
.btn-square:before {
  content: "\e800";
  position: absolute;
  top: 0;
  left: 14px;
  width: 20px;
  font-size: 20px;
  line-height: 48px;
}
@media print, screen and (min-width: 40em) {
  .btn-square {
    width: 58px;
    height: 58px;
  }
  .btn-square:before {
    left: 19px;
    line-height: 58px;
  }
}
@media print, screen and (min-width: 64em) {
  .btn-square {
    width: 78px;
    height: 78px;
    margin-left: 15px;
  }
  .btn-square:before {
    left: 30px;
    line-height: 80px;
  }
  .btn-square:hover {
    background: #ffffff;
    border: 1px solid #ffffff;
  }
}

.link-arrow, .paragraph--type--cta-testuale-con-intro .field--name-field-cta a, .link-arrow-back, .link-arrow-tall, .link-book, .link-underline {
  display: inline-block;
  position: relative;
  border: 1px solid transparent;
  vertical-align: top;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-family: "sole_display";
  font-weight: 800;
  font-size: 0.9rem;
  line-height: 1.1rem;
  color: #3D3D3D !important;
  text-decoration: none !important;
}
.link-arrow:after, .paragraph--type--cta-testuale-con-intro .field--name-field-cta a:after, .link-arrow-back:after, .link-arrow-tall:after, .link-book:after, .link-underline:after {
  content: "\e804";
  width: 12px;
  margin-left: 15px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 12px;
  line-height: 22px;
}
.link-arrow:before, .paragraph--type--cta-testuale-con-intro .field--name-field-cta a:before, .link-arrow-back:before, .link-arrow-tall:before, .link-book:before, .link-underline:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #3D3D3D;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media print, screen and (min-width: 64em) {
  .link-arrow:hover:before, .paragraph--type--cta-testuale-con-intro .field--name-field-cta a:hover:before, .link-arrow-back:hover:before, .link-arrow-tall:hover:before, .link-book:hover:before, .link-underline:hover:before {
    width: calc(100% - 27px);
  }
}

.link-arrow-back:after {
  content: "\e800";
  float: left;
  width: 18px;
  margin-left: 0;
  margin-right: 15px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media print, screen and (min-width: 64em) {
  .link-arrow-back:hover:before {
    width: 100%;
  }
}

.link-arrow-tall {
  line-height: 2.4rem;
}

.link-book:after {
  content: "\e818";
  margin-left: 5px;
}

.link-attachment, .link-pdf {
  margin: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  color: #000000;
  text-decoration: underline;
}
.link-attachment:after, .link-pdf:after {
  content: "\e853";
  margin-left: 10px;
  font-size: 20px;
  line-height: 1.5rem;
  color: #3D3D3D;
}
@media print, screen and (min-width: 64em) {
  .link-attachment:hover, .link-pdf:hover {
    color: #3D3D3D;
  }
}

.link-pdf:after {
  content: "\e855";
}

.link-underline:after {
  display: none;
}
.link-underline:hover:before {
  width: 100%;
}

/**
 * Gestione hamburger menu
 * Libreria di riferimento: https://github.com/kapoko/delicious-hamburgers
 * Demo stili: https://kapoko.github.io/delicious-hamburgers/
 */
/*!
 * 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: #FFF;
}
.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: #FFF;
}
.hamburger.active {
  background-color: transparent;
}
.hamburger.active span.bar {
  background-color: #FFF;
}
.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: #FFF;
}
.hamburger > .inner {
  margin: 0;
  margin-top: -1px;
  position: relative;
  width: 100%;
}
.hamburger span.bar {
  background-color: #FFF;
  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--spin > .inner {
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--spin span.bar {
  -webkit-transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s, -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s, -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.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s;
  transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s, -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--spin span.bar:nth-child(1) {
  top: 0;
  -webkit-transform: rotate(0deg) translate3d(0, -8px, 0);
          transform: rotate(0deg) translate3d(0, -8px, 0);
  -webkit-transform-origin: 40% 50%;
          transform-origin: 40% 50%;
}
.hamburger--spin span.bar:nth-child(3) {
  top: 0;
  -webkit-transform: rotate(0deg) translate3d(0, 8px, 0);
          transform: rotate(0deg) translate3d(0, 8px, 0);
  -webkit-transform-origin: 40% 50%;
          transform-origin: 40% 50%;
}
.hamburger--spin.active > .inner {
  -webkit-transform: rotate(180deg) translate3d(0, -2px, 0);
          transform: rotate(180deg) translate3d(0, -2px, 0);
}
.hamburger--spin.active span.bar {
  -webkit-transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s, opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
}
.hamburger--spin.active span.bar:nth-child(1) {
  -webkit-transform: rotate(135deg) translate3d(-5.4627416998px, -2.2627416998px, 0);
          transform: rotate(135deg) translate3d(-5.4627416998px, -2.2627416998px, 0);
}
.hamburger--spin.active span.bar:nth-child(2) {
  opacity: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hamburger--spin.active span.bar:nth-child(3) {
  -webkit-transform: rotate(45deg) translate3d(-0.9372583002px, -2.2627416998px, 0);
          transform: rotate(45deg) translate3d(-0.9372583002px, -2.2627416998px, 0);
}

/**
 * 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.2rem;
  line-height: 1.2rem;
}
#outdated p {
  margin: 0;
  font-size: 0.6rem;
  line-height: 0.6rem;
}
#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.8rem;
  line-height: 1.8rem;
  color: #ffffff;
  text-decoration: none;
}

#outdated.fullscreen {
  height: 100%;
}

/**
 * Fancybox dei manager
 * In _manager.scss viene effettuato l'override del contenuto, qui dello stile della fancybox
 */
.fancybox-container.fancyManager .fancybox-slide--html {
  padding: 0;
}
.fancybox-container.fancyManager .fancybox-content {
  max-height: 80vh;
  padding: 0 15px;
}
.fancybox-container.fancyManager .fancybox-toolbar {
  opacity: 1;
  visibility: visible;
}
.fancybox-container.fancyManager .fancybox-button.fancybox-button--close,
.fancybox-container.fancyManager .fancybox-button.fancybox-close-small {
  top: 0;
  right: 0;
  width: 56px;
  height: 56px;
  padding: 0;
  color: #ffffff;
  text-align: center;
}
.fancybox-container.fancyManager .fancybox-button.fancybox-button--close span:before,
.fancybox-container.fancyManager .fancybox-button.fancybox-close-small span:before {
  font-size: 40px;
  line-height: 56px;
}
.fancybox-container.fancyManager .fancybox-button.fancybox-button--close svg,
.fancybox-container.fancyManager .fancybox-button.fancybox-close-small svg {
  display: none;
}
.fancybox-container.fancyManager .fancybox-button.fancybox-close-small {
  display: none !important;
  width: 36px;
  height: 36px;
  background: #000000;
  color: #ffffff;
}
.fancybox-container.fancyManager .fancybox-button.fancybox-close-small span:before {
  font-size: 20px;
  line-height: 36px;
}
@media print, screen and (min-width: 64em) {
  .fancybox-container.fancyManager .fancybox-content {
    max-height: 90vh;
  }
  .fancybox-container.fancyManager .fancybox-button.fancybox-close-small {
    top: 10px;
    right: 10px;
  }
}

/**
 * Fancybox della ricerca
 * Aperta tramite button in header
 */
.fancybox-container.fancySearch .fancybox-infobar, .fancybox-container.fancySearch .fancybox-toolbar, .fancybox-container.fancySearch .fancybox-navigation,
.fancybox-container.fancySearch .fancybox-button, .fancybox-container.fancySearch .fancybox-caption {
  display: none !important;
}
.fancybox-container.fancySearch .fancybox-content {
  padding: 0;
  background: transparent;
}

.swiperParagraph .swiperWrapper, .paragraph--type--msg-c-highlights .swiperWrapper {
  position: relative;
}
.swiperParagraph .swiper-button-prev, .swiperParagraph .swiper-button-next, .paragraph--type--msg-c-highlights .swiper-button-prev, .paragraph--type--msg-c-highlights .swiper-button-next {
  top: 50%;
  left: auto;
  right: auto;
  width: 40px;
  height: 40px;
  margin: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  background: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #3D3D3D;
  text-align: center;
}
.swiperParagraph .swiper-button-prev:hover, .swiperParagraph .swiper-button-next:hover, .paragraph--type--msg-c-highlights .swiper-button-prev:hover, .paragraph--type--msg-c-highlights .swiper-button-next:hover {
  background: #3D3D3D;
  border: 1px solid #3D3D3D;
  color: #ffffff;
}
.swiperParagraph .swiper-button-prev:after, .swiperParagraph .swiper-button-next:after, .paragraph--type--msg-c-highlights .swiper-button-prev:after, .paragraph--type--msg-c-highlights .swiper-button-next:after {
  display: none;
}
.swiperParagraph .swiper-button-prev:before, .swiperParagraph .swiper-button-next:before, .paragraph--type--msg-c-highlights .swiper-button-prev:before, .paragraph--type--msg-c-highlights .swiper-button-next:before {
  font-size: 20px;
  line-height: 40px;
}
.swiperParagraph .swiper-button-prev, .paragraph--type--msg-c-highlights .swiper-button-prev {
  left: 0;
}
.swiperParagraph .swiper-button-prev:before, .paragraph--type--msg-c-highlights .swiper-button-prev:before {
  content: "\e826";
}
.swiperParagraph .swiper-button-next, .paragraph--type--msg-c-highlights .swiper-button-next {
  right: 0;
}
.swiperParagraph .swiper-button-next:before, .paragraph--type--msg-c-highlights .swiper-button-next:before {
  content: "\e827";
}
.swiperParagraph .swiper-pagination.swiper-pagination-bullets, .paragraph--type--msg-c-highlights .swiper-pagination.swiper-pagination-bullets {
  position: relative;
  top: auto;
  bottom: auto;
  margin: 20px 0 0 0;
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
  font-size: 0;
}
.swiperParagraph .swiper-pagination-bullet, .paragraph--type--msg-c-highlights .swiper-pagination-bullet {
  position: relative;
  width: 14px;
  height: 14px;
  margin: 0 6px !important;
  background: transparent;
  opacity: 1;
}
.swiperParagraph .swiper-pagination-bullet:only-child, .paragraph--type--msg-c-highlights .swiper-pagination-bullet:only-child {
  visibility: hidden;
}
.swiperParagraph .swiper-pagination-bullet:before, .paragraph--type--msg-c-highlights .swiper-pagination-bullet:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin: 3px;
  background: #000000;
  opacity: 1;
  border-radius: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.swiperParagraph .swiper-pagination-bullet-active:before, .paragraph--type--msg-c-highlights .swiper-pagination-bullet-active:before {
  width: 14px;
  height: 14px;
  margin: 0;
  background: #3D3D3D;
}

@media print, screen and (max-width: 39.99875em) {
  .swiper.swiper-fade.swiper-initialized .swiper-slide {
    opacity: 0 !important;
  }
  .swiper.swiper-fade.swiper-initialized .swiper-slide.swiper-slide-active {
    opacity: 1 !important;
  }
}

.select2-container * {
  outline: 0;
}

.select2-container--default,
.select2-container--archiveMenu {
  width: auto !important;
  margin-bottom: 0;
  background: #ffffff;
}
.select2-container--default .dropdown-wrapper,
.select2-container--archiveMenu .dropdown-wrapper {
  display: block !important;
  position: absolute;
  top: 50% !important;
  right: 10px !important;
  width: 24px !important;
  height: 24px !important;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  z-index: 0;
  text-align: center;
}
.select2-container--default .dropdown-wrapper b,
.select2-container--archiveMenu .dropdown-wrapper b {
  display: none;
}
.select2-container--default .dropdown-wrapper:before,
.select2-container--archiveMenu .dropdown-wrapper:before {
  content: "\e814";
  position: relative !important;
  vertical-align: top;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 8px !important;
  line-height: 24px !important;
  color: #3D3D3D;
}
.select2-container--default .select2-selection--single,
.select2-container--archiveMenu .select2-selection--single {
  position: relative;
  height: 52px;
  padding: 0;
  border-radius: 0;
  border: 1px solid #585858;
  background: transparent !important;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--archiveMenu .select2-selection--single .select2-selection__arrow {
  display: none;
}
.select2-container--default .select2-selection--single:focus,
.select2-container--archiveMenu .select2-selection--single:focus {
  outline: 2px solid #3D3D3D;
}
.select2-container--default span.select2-selection__rendered,
.select2-container--archiveMenu span.select2-selection__rendered {
  margin: 0;
  padding: 0 80px 0 20px !important;
  color: #000000 !important;
  line-height: 52px !important;
  letter-spacing: 0;
}
.select2-container--default span.selection,
.select2-container--archiveMenu span.selection {
  position: relative;
  z-index: 1;
}
.select2-container--default.select2-container--open .select2-selection__rendered,
.select2-container--archiveMenu.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,
.select2-container--archiveMenu.select2-container--open .select2-selection__arrow:before,
.select2-container--archiveMenu.select2-container--open .dropdown-wrapper:before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.select2-dropdown {
  background: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 0;
  border: none;
  margin-top: 0;
  padding: 0;
  z-index: 20 !important;
}
.select2-dropdown .select2-results__option {
  margin: 0;
  padding: 5px 20px;
  color: #000000;
  text-align: left;
  white-space: nowrap;
}
.select2-dropdown .select2-results__option.select2-results__option--highlighted {
  background: transparent;
  color: #3D3D3D;
}
.select2-dropdown .select2-results__option[aria-selected=true] {
  background: transparent;
  color: #3D3D3D;
}
.select2-dropdown.select2-dropdown--above {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.select2-dropdown.select2-dropdown--below {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.select2-dropdown .select2-results, .select2-dropdown .select2-results__options {
  max-height: 200px !important;
  overflow-y: auto;
}
@media print, screen and (min-width: 40em) {
  .select2-dropdown .select2-results, .select2-dropdown .select2-results__options {
    max-height: 300px !important;
  }
}

.select2-container--archiveMenu {
  width: 100% !important;
  background: #3D3D3D;
}
.select2-container--archiveMenu .dropdown-wrapper:before {
  color: #ffffff;
}
.select2-container--archiveMenu .select2-selection--single:focus {
  outline: 2px solid #000000;
}
.select2-container--archiveMenu span.select2-selection__rendered {
  color: #ffffff !important;
}
.select2-container--archiveMenu.select2-container--open .select2-selection__rendered {
  color: #ffffff !important;
}
@media print, screen and (min-width: 40em) {
  .select2-container--archiveMenu {
    max-width: 340px;
  }
}

.webform-submission-candidatura-spontanea-form .select2-container--default .dropdown-wrapper:before {
  content: "\e814";
  color: #D2001F;
}
.webform-submission-candidatura-spontanea-form .select2-container--default .select2-selection--single:focus {
  outline: 2px solid #D2001F;
}
.webform-submission-candidatura-spontanea-form .select2-container--default .select2-dropdown {
  background: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 0;
  border: none;
  margin-top: 0;
  padding: 0;
  z-index: 20 !important;
}
.webform-submission-candidatura-spontanea-form .select2-container--default .select2-dropdown .select2-results__option.select2-results__option--highlighted {
  background: transparent;
  color: #D2001F;
}
.webform-submission-candidatura-spontanea-form .select2-container--default .select2-dropdown .select2-results__option[aria-selected=true] {
  background: transparent;
  color: #D2001F;
}

header.pageHeader {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  background: #262A33;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 40;
  padding: 0;
  -webkit-transform: none !important;
          transform: none !important;
}
header.pageHeader.headroom--top {
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
header.pageHeader .headerMainGrid {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
header.pageHeader a.logo {
  display: inline-block;
  vertical-align: top;
  margin: 10px 0;
}
header.pageHeader a.logo svg {
  display: inline-block;
  width: 100%;
  max-height: 40px;
  vertical-align: top;
}
header.pageHeader a.logo:active, header.pageHeader a.logo:visited {
  border: none !important;
}
header.pageHeader a.logoWhite {
  display: none;
}
@media print, screen and (min-width: 64em) {
  .toolbar-fixed.toolbar-vertical.toolbar-tray-open header.pageHeader {
    left: 239px;
  }
  .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: 81px;
  }
  .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: 81px;
  }
}
header.pageHeader .headerMainRight {
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
header.pageHeader .headerMainRightTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
header.pageHeader .searchToggler {
  margin: 10px 10px 0 0;
}
header.pageHeader .searchToggler span {
  display: block;
  width: 30px;
  height: 30px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
  color: #ffffff;
}
header.pageHeader .searchToggler span:before {
  font-size: 24px;
  line-height: 30px;
}
header.pageHeader .toggleMenuMobi {
  margin-top: 10px;
}
header.pageHeader .block-supheader-menu-standard ul.menu li a {
  margin-bottom: 0;
  padding: 0 16px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  color: #ffffff;
}
header.pageHeader .block-supheader-menu-standard ul.menu li a:hover {
  text-decoration: underline;
}
@media print, screen and (max-width: 63.99875em) {
  header.pageHeader {
    top: 0 !important;
  }
}
@media print, screen and (min-width: 40em) {
  header.pageHeader a.logo {
    margin: 15px 0;
  }
  header.pageHeader a.logo svg {
    max-height: 60px;
  }
  header.pageHeader .searchToggler {
    margin: 25px 15px 0 0;
  }
  header.pageHeader .toggleMenuMobi {
    margin-top: 25px;
  }
}
@media print, screen and (min-width: 64em) {
  header.pageHeader .searchToggler {
    margin: 0;
  }
  header.pageHeader a.logo {
    margin: 30px 0;
  }
  header.pageHeader a.logo svg {
    max-height: 80px;
  }
}

/**
 * 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 {
  background-color: #262A33;
}
header.pageHeader.headroom--not-top.slideUp .searchToggler span {
  color: #ffffff;
}
@media print, screen and (min-width: 64em) {
  header.pageHeader.headroom--not-top.slideUp a.logo {
    margin: 15px 0;
  }
  header.pageHeader.headroom--not-top.slideUp svg {
    max-height: 60px;
  }
  header.pageHeader.headroom--not-top.slideUp svg #text {
    fill: #000000 !important;
  }
}

/**
 * Headroom - menu non attaccato in pagina ma scroll up
 * Non vario nulla
 */
header.pageHeader.headroom--not-top.slideDown {
  background-color: #262A33;
}
header.pageHeader.headroom--not-top.slideDown .searchToggler span {
  color: #ffffff;
}
@media print, screen and (min-width: 64em) {
  header.pageHeader.headroom--not-top.slideDown a.logo {
    margin: 15px 0;
  }
  header.pageHeader.headroom--not-top.slideDown svg {
    max-height: 60px;
  }
  header.pageHeader.headroom--not-top.slideDown svg #text {
    fill: #000000 !important;
  }
}

body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)),
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) {
  background: transparent;
}
body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) a.logoBase,
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) a.logoBase {
  display: none;
}
body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) a.logoBase svg #text,
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) a.logoBase svg #text {
  fill: #ffffff;
}
body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) a.logoWhite,
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) a.logoWhite {
  display: inline-block;
}
body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .searchToggler span,
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .searchToggler span {
  color: #ffffff;
}
body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .toggleMenuMobi span.bar,
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .toggleMenuMobi span.bar {
  background-color: #ffffff;
}
body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .block-supheader-menu-standard ul.menu li a,
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .block-supheader-menu-standard ul.menu li a {
  color: #ffffff;
}
body.path-frontpage:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .block-supheader-menu-standard ul.menu li a:hover,
body.headerSlider:not(.openMobiMenu) header.pageHeader:not(.headroom--not-top):not(:hover):not(:has(.tbm-item--has-dropdown.open)) .block-supheader-menu-standard ul.menu li a:hover {
  color: #3D3D3D;
}

body.stopOverflow {
  overflow: hidden;
}

body.stopOverflowX {
  overflow-x: hidden;
}

body.stopOverflowY {
  overflow-y: hidden;
}

#main.pageMain {
  position: relative;
  margin-top: 70px;
}
@media print, screen and (min-width: 40em) {
  #main.pageMain {
    margin-top: 100px;
  }
}
@media print, screen and (min-width: 64em) {
  #main.pageMain {
    margin-top: 141px;
  }
}

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

/**
 * Per overflow di AOS
 * Non lo gestiamo solo sulla HP
 * - c'è l'elemento sticky
 * - non c'è nessun AOS da left e right
 */
body:not(.path-frontpage) .block-tt-foundation-content.block-system-main-block {
  overflow-x: hidden;
}

#mobile-menu {
  visibility: hidden;
  height: 0;
}
#mobile-menu.mm-menu {
  visibility: visible;
  height: calc(100vh - 60px);
  height: calc(var(--vh, 1vh) * 100 - 60px);
}
@media print, screen and (min-width: 40em) {
  #mobile-menu.mm-menu {
    height: calc(100vh - 90px);
    height: calc(var(--vh, 1vh) * 100 - 90px);
  }
}

@media print, screen and (min-width: 64em) {
  .mm-page.mm-slideout {
    z-index: auto !important;
  }
}
.off-canvas {
  display: none !important;
}

.mm-wrapper__blocker {
  background: transparent;
}

.mm-menu {
  margin-top: 60px;
  z-index: 10;
}
.mm-menu .mm-panel {
  background: #ffffff;
}
.mm-menu.mm-menu_navbar_bottom-1 .mm-panels {
  bottom: 32px;
}
.mm-menu .mm-listitem__text {
  padding: 20px 30px 20px 20px;
  border-bottom: 1px solid #F4F4F4;
}
.mm-menu a, .mm-menu a:active, .mm-menu a:hover, .mm-menu a:link, .mm-menu a:visited {
  margin: 0 !important;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3rem;
  color: #000000;
}
.mm-menu a.itm-menu-main.link-gruppo {
  position: relative;
  font-family: "sole_display";
  font-weight: 800;
  color: #3D3D3D !important;
}
.mm-menu a.itm-menu-main.link-gruppo:after {
  content: "\e818";
  margin-left: 5px;
  font-size: 18px;
  line-height: 18px;
}
.mm-menu a.Selected {
  background-color: transparent !important;
  color: #3D3D3D !important;
}
.mm-menu .mm-listitem:after {
  display: none;
}
.mm-menu a.mm-btn_next {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: transparent;
  text-align: center;
}
.mm-menu a.mm-btn_next:after {
  display: none;
}
.mm-menu a.mm-btn_next:before {
  content: "\e800";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 40px;
  border: none;
  vertical-align: top;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  font-size: 10px;
  line-height: 20px;
  color: #3D3D3D;
}
.mm-menu .mm-btn:after, .mm-menu .mm-btn:before {
  border: none !important;
}
.mm-menu .mm-panel.mm-panel_has-navbar {
  padding-top: 62px;
}
.mm-menu .mm-panel.mm-panel_has-navbar .mm-navbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 62px;
  padding: 0 15px;
  background: #F5E5D5;
}
.mm-menu .mm-panel.mm-panel_has-navbar .mm-navbar a.mm-btn_prev {
  padding: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mm-menu .mm-panel.mm-panel_has-navbar .mm-navbar a.mm-btn_prev:before {
  display: none !important;
}
.mm-menu .mm-panel.mm-panel_has-navbar .mm-navbar a.mm-btn_prev:after {
  content: "\e800";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 40px;
  border: none;
  vertical-align: top;
  -webkit-transform: rotate(180deg) translate(0, 50%);
          transform: rotate(180deg) translate(0, 50%);
  font-size: 10px;
  line-height: 20px;
  color: #3D3D3D;
}
.mm-menu .mm-panel.mm-panel_has-navbar .mm-navbar a.mm-navbar__title {
  width: 100%;
  padding: 0 40px;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3rem;
  color: #000000;
}
.mm-menu .mm-navbars_bottom {
  border: none;
  border-top: 1px solid #F4F4F4;
}
.mm-menu .mm-navbars_bottom .mm-navbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 32px;
  padding: 0 20px;
  background: #ffffff;
}
.mm-menu .mm-navbars_bottom .mm-navbar > * {
  padding: 0;
}
.mm-menu .mm-navbars_bottom .langChanger ul.links {
  margin: 0;
  list-style: none;
}
.mm-menu .mm-navbars_bottom .langChanger ul.links li {
  display: none;
}
.mm-menu .mm-navbars_bottom .langChanger ul.links li:not(.is-active):not(.divider) {
  display: block;
}
.mm-menu .mm-navbars_bottom .langChanger ul.links a.language-link {
  display: block;
  margin: 0;
  color: #3D3D3D;
  line-height: 32px;
  text-transform: uppercase;
}
@media print, screen and (min-width: 40em) {
  .mm-menu {
    margin-top: 90px;
  }
}

.mm-menu_opened.mm-menu_pagedim-black ~ .mm-wrapper__blocker {
  background: #F5E5D5;
}

.mm-menu_offcanvas {
  width: 90%;
}
@media print, screen and (min-width: 40em) {
  .mm-menu_offcanvas {
    max-width: 550px;
  }
}

footer.pageFooter {
  position: relative;
  width: 100%;
  margin-top: 0;
  color: #ffffff;
}
footer.pageFooter a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #ffffff;
}
footer.pageFooter field--name-body p:last-of-type {
  margin-bottom: 0;
}
footer.pageFooter .footerTop {
  padding: 40px 0 20px;
  background-color: #262A33;
}
footer.pageFooter .footerMid {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #000000;
  border-bottom: 1px solid #252525;
}
footer.pageFooter .footerSub {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #000000;
}
footer.pageFooter .footerSubRightArea a.logo {
  display: inline-block;
  vertical-align: top;
}
footer.pageFooter .footerSubRightArea a.logo svg {
  display: inline-block;
  width: 210px;
  height: auto;
  vertical-align: top;
}
footer.pageFooter .footerSubRightArea a.logo svg * {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  footer.pageFooter .footerTopLeftArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media print, screen and (min-width: 40em) {
  footer.pageFooter .footerMid {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  footer.pageFooter .footerSub {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
@media print, screen and (min-width: 64em) {
  footer.pageFooter a:hover {
    text-decoration: underline;
  }
  footer.pageFooter .footerTop {
    padding: 80px 0 60px;
  }
}

.block-tt-foundation-footerintro {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .block-tt-foundation-footerintro {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    margin-right: 15px;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .block-tt-foundation-footerintro {
    margin-bottom: 40px;
  }
}

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .block-tt-foundation-footercontatti {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    margin-left: 15px;
  }
  .block-tt-foundation-footercontatti p {
    text-align: right;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .block-tt-foundation-footerintro,
  .block-tt-foundation-footercontatti,
  .block-tt-foundation-datisocietari {
    text-align: center;
  }
}

/**
 * Generazione classi ad hoc per spaziature top e bottom
 * item-margin-top-* + item-margin-bottom-*
 * La select può essere vuota (none) o valorizzata come small, medium e large
 * Lato Twig viene generata la classe da associare
 */
/**
 * Mappa delle spaziature
 * La funzione sottostante legge questa mappa e genera le classi in base al breakpoint di Foundation
 */
/**
 * Funzione di generazione
 * $type: padding / margin
 * $breakpoints: array dei breakpoint (usare stessi nomi di Foundation)
 * $bp: <small, medium, large>, singolo breakpoint
 * $size: <none, small, medium, large>, per il nome classe
 * $value: valore in pixel da assegnare
 */
.item-padding-top-none {
  padding-top: 0px !important;
}

.item-padding-bottom-none {
  padding-bottom: 0px !important;
}

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

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

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

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

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

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

@media print, screen and (min-width: 64em) {
  .item-padding-top-none {
    padding-top: 0px !important;
  }
  .item-padding-bottom-none {
    padding-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-padding-top-small {
    padding-top: 40px !important;
  }
  .item-padding-bottom-small {
    padding-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-padding-top-medium {
    padding-top: 100px !important;
  }
  .item-padding-bottom-medium {
    padding-bottom: 100px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-padding-top-large {
    padding-top: 200px !important;
  }
  .item-padding-bottom-large {
    padding-bottom: 200px !important;
  }
}
.item-margin-top-none {
  margin-top: 0px !important;
}

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

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

.item-margin-bottom-small, .node-content.node-type-assemblea.node-view-mode-teaser {
  margin-bottom: 20px !important;
}

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

.item-margin-bottom-medium, .documentsViews.viewRisultatiPresentazioni .viewItems .wrapperItems, .archivePage .documentsViews, .search.searchGlobal.viewPaged {
  margin-bottom: 50px !important;
}

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

.item-margin-bottom-large, .msg-disclaimer-form {
  margin-bottom: 100px !important;
}

@media print, screen and (min-width: 64em) {
  .item-margin-top-none {
    margin-top: 0px !important;
  }
  .item-margin-bottom-none {
    margin-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-margin-top-small {
    margin-top: 40px !important;
  }
  .item-margin-bottom-small, .node-content.node-type-assemblea.node-view-mode-teaser {
    margin-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-margin-top-medium {
    margin-top: 100px !important;
  }
  .item-margin-bottom-medium, .documentsViews.viewRisultatiPresentazioni .viewItems .wrapperItems, .archivePage .documentsViews, .search.searchGlobal.viewPaged {
    margin-bottom: 100px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-margin-top-large {
    margin-top: 200px !important;
  }
  .item-margin-bottom-large, .msg-disclaimer-form {
    margin-bottom: 200px !important;
  }
}
.views-exposed-form.block-exposedformsearchsearch-page form,
.views-exposed-form.block-formespostosearchsearch-page form {
  position: relative;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.views-exposed-form.block-exposedformsearchsearch-page label,
.views-exposed-form.block-formespostosearchsearch-page label {
  margin-bottom: 5px !important;
}
.views-exposed-form.block-exposedformsearchsearch-page .js-form-type-textfield, .views-exposed-form.block-exposedformsearchsearch-page .js-form-type-search-api-autocomplete,
.views-exposed-form.block-formespostosearchsearch-page .js-form-type-textfield,
.views-exposed-form.block-formespostosearchsearch-page .js-form-type-search-api-autocomplete {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.views-exposed-form.block-exposedformsearchsearch-page input[type=text],
.views-exposed-form.block-formespostosearchsearch-page input[type=text] {
  padding: 0;
}
.views-exposed-form.block-exposedformsearchsearch-page .form-actions,
.views-exposed-form.block-formespostosearchsearch-page .form-actions {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.views-exposed-form.block-exposedformsearchsearch-page .search-btn,
.views-exposed-form.block-formespostosearchsearch-page .search-btn {
  width: 52px;
  height: 52px;
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  text-align: center;
  background: #F7D2AF;
  border: 1px solid #F7D2AF;
  color: #3D3D3D !important;
}
.views-exposed-form.block-exposedformsearchsearch-page .search-btn:before,
.views-exposed-form.block-formespostosearchsearch-page .search-btn:before {
  font-size: 20px;
  line-height: 52px;
}

.views-exposed-form.block-exposedformsearchsearch-page {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  z-index: 100;
}
.views-exposed-form.block-exposedformsearchsearch-page label {
  color: #ffffff;
}
.views-exposed-form.block-exposedformsearchsearch-page .searchWrapper {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.views-exposed-form.block-exposedformsearchsearch-page .grid-container {
  width: 100%;
}
.views-exposed-form.block-exposedformsearchsearch-page .searchToggler {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 52px;
  height: 52px;
  margin-bottom: 20px;
  cursor: pointer;
  color: #ffffff;
  text-align: center;
}
.views-exposed-form.block-exposedformsearchsearch-page .searchToggler span:before {
  font-size: 30px;
  line-height: 52px;
}

.views-exposed-form.block-formespostosearchsearch-page {
  margin-bottom: 20px;
}
.views-exposed-form.block-formespostosearchsearch-page .searchToggler {
  display: none !important;
}
@media print, screen and (min-width: 40em) {
  .views-exposed-form.block-formespostosearchsearch-page {
    margin-bottom: 40px;
  }
}

.search.searchGlobal.viewPaged .views-row {
  margin-bottom: 20px;
  padding: 20px 0;
  border-bottom: 1px solid #3D3D3D;
}
.search.searchGlobal.viewPaged .views-row > *:last-child {
  margin-bottom: 0;
}
.search.searchGlobal.viewPaged .views-row:first-of-type {
  padding-top: 0;
}

.search-api-autocomplete-search {
  max-width: calc(100% - 30px);
  margin-left: -15px;
  border: 1px solid #3D3D3D !important;
}
.search-api-autocomplete-search .ui-menu-item-wrapper {
  margin-bottom: 0;
  color: #000000;
}
.search-api-autocomplete-search .ui-menu-item:hover {
  background: #3D3D3D;
  color: #ffffff;
}
.search-api-autocomplete-search .ui-menu-item-wrapper.ui-state-active .search-api-autocomplete-suggestion {
  background: #3D3D3D;
  color: #ffffff;
}

/**
 * Blocchi Drupal Basic block
 * Gestiti da /admin/structure/block/block-content
 */
.block-page-title-block.block-tt-foundation-page-title h1 {
  margin-bottom: 40px;
}

/**
 * Breadcrumbs
 * Blocco di sistema
 */
.block-system.block-system-breadcrumb-block {
  position: relative;
}
.block-system.block-system-breadcrumb-block ul.breadcrumbs {
  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;
}
.block-system.block-system-breadcrumb-block ul.breadcrumbs li {
  float: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.block-system.block-system-breadcrumb-block ul.breadcrumbs li:not(:last-child)::after {
  font-size: 15px;
}
.block-system.block-system-breadcrumb-block ul.breadcrumbs a {
  color: #000000;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.block-system.block-system-breadcrumb-block ul.breadcrumbs a:hover {
  color: #3D3D3D !important;
  text-decoration: underline !important;
}
@media print, screen and (max-width: 39.99875em) {
  .block-system.block-system-breadcrumb-block {
    display: none !important;
  }
}
@media print, screen and (min-width: 64em) {
  .block-system.block-system-breadcrumb-block ul.breadcrumbs {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

body.hideHeadBreadcrumb .block-system.block-system-breadcrumb-block {
  display: none !important;
}

/**
 * Blocco del cambio lingua
*/
.block-language {
  display: inline-block;
  vertical-align: top;
  margin-left: 13px;
}
.block-language ul.links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0;
}
.block-language ul.links li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.block-language ul.links li:not(:last-child)::after {
  content: "/";
  font-size: 0.7rem;
  font-weight: 600;
  color: #ffffff;
}
.block-language ul.links li a {
  display: block;
  padding: 10px 3px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: transparent;
  font-size: 0.6rem;
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
  text-transform: uppercase;
}
.block-language ul.links li a.is-active {
  pointer-events: none;
  text-decoration: underline;
}
.block-language ul.links li a:hover {
  text-decoration: underline;
}

body.path-frontpage header.pageHeader:not(.headroom--not-top):not(:hover) .block-language ul.links li:after, body.headerSlider header.pageHeader:not(.headroom--not-top):not(:hover) .block-language ul.links li:after {
  color: #ffffff;
}
body.path-frontpage header.pageHeader:not(.headroom--not-top):not(:hover) .block-language ul.links li.divider, body.headerSlider header.pageHeader:not(.headroom--not-top):not(:hover) .block-language ul.links li.divider {
  color: #ffffff;
}
body.path-frontpage header.pageHeader:not(.headroom--not-top):not(:hover) .block-language ul.links li a, body.headerSlider header.pageHeader:not(.headroom--not-top):not(:hover) .block-language ul.links li a {
  color: #ffffff;
}
.introLinkerStructure {
  position: relative;
}
.introLinkerStructure .introLinkerTitle, .introLinkerStructure .introLinkerSection {
  font-weight: 500;
  text-align: center;
}
.introLinkerStructure .introLinkerTitle {
  padding-top: 15px;
  padding-bottom: 15px;
  border: 1px solid #ffffff;
  background: #31686F;
  font-size: 1.4rem;
  line-height: 1.5rem;
  color: #ffffff;
}
.introLinkerStructure .introLinkerSection {
  padding: 10px;
  background: #C4D7D7;
  border-right: 1px solid #ffffff;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: #000000;
}
.introLinkerStructure .introLinkerItems, .introLinkerStructure .innerWrapper {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.introLinkerStructure .introLinkerItems .introLinkerItem, .introLinkerStructure .introLinkerItems .innerItem, .introLinkerStructure .innerWrapper .introLinkerItem, .introLinkerStructure .innerWrapper .innerItem {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  width: 100%;
}
.introLinkerStructure .innerItem {
  position: relative;
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #D2D2D3;
  text-align: center;
}
.introLinkerStructure .innerItem article img {
  width: auto;
  max-width: none;
  height: 100%;
}
.introLinkerStructure a.coverLink {
  display: inline-block;
  vertical-align: top;
}
.introLinkerStructure a.introLinkerLink {
  display: none;
  position: absolute;
  bottom: -15px;
  left: 50%;
  width: 30px;
  height: 30px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-color: #ffffff;
  border-radius: 100%;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
  border: 1px solid #D2D2D3;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  font-size: 0;
  line-height: 0;
  text-align: center;
}
.introLinkerStructure a.introLinkerLink:before {
  content: "\e80a";
  font-size: 18px;
  line-height: 30px;
  color: #3D3D3D;
}
.introLinkerStructure a.introLinkerLink:hover {
  background-color: #3D3D3D;
}
.introLinkerStructure a.introLinkerLink:hover:before {
  color: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .introLinkerStructure .introLinkerItems, .introLinkerStructure .innerWrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .introLinkerStructure .introLinkerItems {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .introLinkerStructure .innerWrapper {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .introLinkerStructure .introLinkerSection {
    border: 1px solid #ffffff;
  }
  .introLinkerStructure .innerItem {
    border-top: none;
  }
}
@media print, screen and (min-width: 64em) {
  .introLinkerStructure a.introLinkerLink {
    display: block;
  }
}
@media screen and (min-width: 80em) {
  .introLinkerStructure .introLinkerItems, .introLinkerStructure .innerWrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .introLinkerStructure .introLinkerItems .introLinkerItem.doubleSize {
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
  }
}
.introLinkerStructure.businessOverviewFirst {
  margin-bottom: 60px;
}
@media screen and (min-width: 40em) and (max-width: 79.99875em) {
  .introLinkerStructure.businessOverviewFirst .introLinkerItems .mediaQuotidiano {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .introLinkerStructure.businessOverviewFirst .introLinkerItems .mediaRadio, .introLinkerStructure.businessOverviewFirst .introLinkerItems .mediaStampa {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}
@media screen and (min-width: 80em) {
  .introLinkerStructure.businessOverviewFirst {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 40em) and (max-width: 79.99875em) {
  .businessOverviewSecond .introLinkerItems .introLinkerItem {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}
@media screen and (min-width: 80em) {
  .businessOverviewSecond .introLinkerSection {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .businessOverviewSecond .innerItem article img {
    width: 100%;
  }
}

.whiteBoxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.whiteBoxes .whiteBox {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  padding: 10px;
  background: #ffffff;
  text-align: center;
}
.whiteBoxes .whiteBoxFooter {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin-top: 40px;
  text-align: center;
}
.whiteBoxes span.boxNumber {
  margin-bottom: 10px;
  font-family: "sole_display";
  font-weight: 800;
  color: #3D3D3D;
}
.whiteBoxes p.boxTitle {
  margin-bottom: 10px;
  font-family: "SoleSans", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
}
.whiteBoxes p.boxText {
  margin-bottom: 10px;
}
@media print, screen and (min-width: 40em) {
  .whiteBoxes .whiteBox {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333%;
            flex: 0 0 33.3333%;
  }
}
.whiteBoxes.boxesGovernanceOverview .whiteBox {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin: 10px 0;
}
.whiteBoxes.boxesGovernanceOverview .boxIcon article.media {
  margin-top: 40px;
  margin-bottom: 20px;
}
.whiteBoxes.boxesGovernanceOverview .boxIcon article.media svg {
  width: auto;
  height: 75px;
}
.whiteBoxes.boxesGovernanceOverview p.boxTitle {
  margin-bottom: 20px;
  text-transform: none;
}
@media print, screen and (min-width: 40em) {
  .whiteBoxes.boxesGovernanceOverview {
    width: calc(100% + 20px);
    margin-left: -10px;
    margin-right: -10px;
  }
  .whiteBoxes.boxesGovernanceOverview .whiteBox {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 20px);
            flex: 0 0 calc(50% - 20px);
    margin: 10px;
  }
  .whiteBoxes.boxesGovernanceOverview .boxIcon article.media {
    margin-top: 70px;
    margin-bottom: 60px;
  }
  .whiteBoxes.boxesGovernanceOverview p.boxTitle {
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 64em) {
  .whiteBoxes.boxesGovernanceOverview .whiteBox {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(25% - 20px);
            flex: 0 0 calc(25% - 20px);
    margin: 0 10px;
  }
}

.whiteBoxes.boxesGovernanceWhistleblowing .whiteBox {
  padding: 20px 30px 30px 30px;
  border: 1px solid #D2D2D3;
}
.whiteBoxes.boxesGovernanceWhistleblowing p.boxText {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .whiteBoxes.boxesGovernanceWhistleblowing .whiteBox {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
  .whiteBoxes.boxesGovernanceWhistleblowing .whiteBox:last-of-type {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .whiteBoxes.boxesGovernanceWhistleblowing .whiteBox {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 33.3333% !important;
            flex: 0 0 33.3333% !important;
  }
  .whiteBoxes.boxesGovernanceWhistleblowing .whiteBox {
    padding: 30px 50px 50px 50px;
  }
}

.esgSlider .esgWrapper {
  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;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.esgSlider .esgItem {
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F6D1C0;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.esgSlider .esgSeparator {
  display: none;
  position: absolute;
  bottom: -20px;
  left: 30px;
  width: calc(100% - 70px);
  height: 1px;
  background: #3D3D3D;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.esgSlider .esgSeparator:before, .esgSlider .esgSeparator:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 1px;
  height: 20px;
  background: #3D3D3D;
}
.esgSlider .esgSeparator:before {
  left: 0;
}
.esgSlider .esgSeparator:after {
  right: 0;
}
.esgSlider .esgLetter {
  padding: 10px 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-family: "sole_display";
  font-weight: 800;
  font-size: 64px;
  line-height: 64px;
  color: #000000;
  text-align: center;
  text-transform: uppercase;
}
.esgSlider .esgText {
  width: 0;
  height: 0;
  padding: 0 20px 20px 20px;
  opacity: 0;
  overflow-x: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.esgSlider .esgText p:last-of-type {
  margin-bottom: 0;
}
.esgSlider .esgItem.active {
  width: 100%;
  height: auto;
  margin: 0;
  background-color: #ffffff;
  border: 1px solid #D2D2D3;
  cursor: auto;
}
.esgSlider .esgItem.active .esgLetter {
  font-size: 104px;
  line-height: 104px;
  color: #3D3D3D;
}
.esgSlider .esgItem.active .esgText {
  width: auto;
  height: auto;
  opacity: 1;
}
.esgSlider .esgItem.active .esgSeparator {
  opacity: 1;
}
@media screen and (min-width: 61.25em) {
  .esgSlider .esgWrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-bottom: 40px;
  }
  .esgSlider .esgItem {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 120px;
    height: 300px;
    margin: 40px 0;
  }
  .esgSlider .esgSeparator {
    display: block;
  }
  .esgSlider .esgLetter {
    padding: 0 40px;
  }
  .esgSlider .esgText {
    padding: 20px 60px 20px 0;
  }
  .esgSlider .esgItem.active {
    width: auto;
    height: 380px;
  }
  .esgSlider .esgItem.active .esgLetter {
    width: 230px;
    padding-left: 80px;
    padding-right: 80px;
  }
  .esgSlider .esgItem.active .esgText {
    max-height: 100%;
  }
}
/**
 * Blocco StakeholderEngagementBlock
 * Stampato in gruppo24/templates/stakeholder-engagement-block.html.twig
 * Interattività in js/blocks.js
 */
.block-stakeholder-engagement-block .svgWrapper {
  position: relative;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}
.block-stakeholder-engagement-block svg {
  width: 100%;
  height: auto;
}
.block-stakeholder-engagement-block svg .interactive-item #area {
  opacity: 0;
}
.block-stakeholder-engagement-block svg .interactive-item #oval, .block-stakeholder-engagement-block svg .interactive-item #ico {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-stakeholder-engagement-block svg .interactive-item.active #oval {
  fill: #3D3D3D;
}
.block-stakeholder-engagement-block svg .interactive-item.active #ico {
  fill: #ffffff;
}
.block-stakeholder-engagement-block .svgPopup {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 240px;
  height: 220px;
  padding-right: 10px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #ffffff;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  overflow-x: hidden;
}
.block-stakeholder-engagement-block .svgPopup.opened {
  opacity: 1;
}
.block-stakeholder-engagement-block .svgPopup p:last-of-type {
  margin-bottom: 0;
}
.block-stakeholder-engagement-block .paragraph-accordions-tabs .accordion-content {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.block-stakeholder-engagement-block .paragraph-accordions-tabs .accordion-content p:last-of-type {
  margin-bottom: 0;
}
@media print, screen and (min-width: 64em) {
  .block-stakeholder-engagement-block .svgWrapper {
    width: 970px;
    max-width: 100%;
  }
  .block-stakeholder-engagement-block #area {
    cursor: pointer;
  }
  .block-stakeholder-engagement-block svg .interactive-item:hover #oval {
    fill: #3D3D3D;
  }
  .block-stakeholder-engagement-block svg .interactive-item:hover #ico {
    fill: #ffffff;
  }
}

body.lang-en .block-stakeholder-engagement-block svg .interactive-item #txt_it {
  display: none !important;
}

body.lang-it .block-stakeholder-engagement-block svg .interactive-item #txt_en {
  display: none !important;
}

::-webkit-input-placeholder {
  color: #6C6C6C !important;
  opacity: 1 !important;
}

::-moz-placeholder {
  color: #6C6C6C !important;
  opacity: 1 !important;
}

:-ms-input-placeholder {
  color: #6C6C6C !important;
  opacity: 1 !important;
}

::-ms-input-placeholder {
  color: #6C6C6C !important;
  opacity: 1 !important;
}

::placeholder {
  color: #6C6C6C !important;
  opacity: 1 !important;
}

:-ms-input-placeholder {
  color: #6C6C6C !important;
  opacity: 1 !important;
}

::-ms-input-placeholder {
  color: #6C6C6C !important;
  opacity: 1 !important;
}

.webform-submission-form,
form.user-login-form,
.views-exposed-form.block-exposedformsearchsearch-page form,
.views-exposed-form.block-formespostosearchsearch-page form {
  position: relative;
}
.webform-submission-form .js-form-item,
form.user-login-form .js-form-item,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-item,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-item {
  position: relative;
}
.webform-submission-form .cell,
form.user-login-form .cell,
.views-exposed-form.block-exposedformsearchsearch-page form .cell,
.views-exposed-form.block-formespostosearchsearch-page form .cell {
  margin-bottom: 20px;
}
.webform-submission-form label,
form.user-login-form label,
.views-exposed-form.block-exposedformsearchsearch-page form label,
.views-exposed-form.block-formespostosearchsearch-page form label {
  margin: 5px;
}
.webform-submission-form label.form-required:after,
form.user-login-form label.form-required:after,
.views-exposed-form.block-exposedformsearchsearch-page form label.form-required:after,
.views-exposed-form.block-formespostosearchsearch-page form label.form-required:after {
  display: 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,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=text],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=email],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=date],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=number],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=password],
.views-exposed-form.block-exposedformsearchsearch-page form input[type=tel],
.views-exposed-form.block-exposedformsearchsearch-page form textarea,
.views-exposed-form.block-formespostosearchsearch-page form input[type=text],
.views-exposed-form.block-formespostosearchsearch-page form input[type=email],
.views-exposed-form.block-formespostosearchsearch-page form input[type=date],
.views-exposed-form.block-formespostosearchsearch-page form input[type=number],
.views-exposed-form.block-formespostosearchsearch-page form input[type=password],
.views-exposed-form.block-formespostosearchsearch-page form input[type=tel],
.views-exposed-form.block-formespostosearchsearch-page form textarea {
  width: 100%;
  height: 52px;
  margin: 0;
  padding: 0 20px;
  border-radius: 0;
  border: 1px solid #585858;
  background: #ffffff;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 52px;
  color: #252525;
}
.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,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=text]:focus,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=email]:focus,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=date]:focus,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=number]:focus,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=password]:focus,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=tel]:focus,
.views-exposed-form.block-exposedformsearchsearch-page form textarea:focus,
.views-exposed-form.block-formespostosearchsearch-page form input[type=text]:focus,
.views-exposed-form.block-formespostosearchsearch-page form input[type=email]:focus,
.views-exposed-form.block-formespostosearchsearch-page form input[type=date]:focus,
.views-exposed-form.block-formespostosearchsearch-page form input[type=number]:focus,
.views-exposed-form.block-formespostosearchsearch-page form input[type=password]:focus,
.views-exposed-form.block-formespostosearchsearch-page form input[type=tel]:focus,
.views-exposed-form.block-formespostosearchsearch-page form textarea:focus {
  outline: 2px solid #3D3D3D;
}
.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,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=text].error,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=email].error,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=date].error,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=number].error,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=password].error,
.views-exposed-form.block-exposedformsearchsearch-page form input[type=tel].error,
.views-exposed-form.block-exposedformsearchsearch-page form textarea.error,
.views-exposed-form.block-formespostosearchsearch-page form input[type=text].error,
.views-exposed-form.block-formespostosearchsearch-page form input[type=email].error,
.views-exposed-form.block-formespostosearchsearch-page form input[type=date].error,
.views-exposed-form.block-formespostosearchsearch-page form input[type=number].error,
.views-exposed-form.block-formespostosearchsearch-page form input[type=password].error,
.views-exposed-form.block-formespostosearchsearch-page form input[type=tel].error,
.views-exposed-form.block-formespostosearchsearch-page form textarea.error {
  border-color: #3D3D3D;
}
.webform-submission-form textarea,
form.user-login-form textarea,
.views-exposed-form.block-exposedformsearchsearch-page form textarea,
.views-exposed-form.block-formespostosearchsearch-page form textarea {
  height: 104px;
  padding: 20px;
  line-height: 1.2rem;
}
.webform-submission-form p.description,
form.user-login-form p.description,
.views-exposed-form.block-exposedformsearchsearch-page form p.description,
.views-exposed-form.block-formespostosearchsearch-page form p.description {
  margin: 0;
  font-size: 0.7rem;
  line-height: 0.9rem;
}
.webform-submission-form .select2-container--default,
form.user-login-form .select2-container--default,
.views-exposed-form.block-exposedformsearchsearch-page form .select2-container--default,
.views-exposed-form.block-formespostosearchsearch-page form .select2-container--default {
  width: 100% !important;
}
.webform-submission-form .js-form-type-checkbox:last-of-type,
form.user-login-form .js-form-type-checkbox:last-of-type,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox:last-of-type,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox:last-of-type {
  margin-bottom: 0;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox],
form.user-login-form .js-form-type-checkbox input[type=checkbox],
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox input[type=checkbox],
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox input[type=checkbox] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  margin: 0;
}
.webform-submission-form .js-form-type-checkbox label,
form.user-login-form .js-form-type-checkbox label,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox label,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox label {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 0 30px;
  cursor: pointer;
  color: #000000;
}
.webform-submission-form .js-form-type-checkbox label:before,
form.user-login-form .js-form-type-checkbox label:before,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox label:before,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox label:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #D2D2D3;
  border-radius: 0;
  background: #ffffff;
  -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,
form.user-login-form .js-form-type-checkbox label:after,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox label:after,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox label:after {
  content: "\e852";
  display: block !important;
  position: absolute;
  top: 4px;
  left: 2px;
  width: 10px;
  height: 10px;
  margin: 0;
  background: none;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 10px;
  line-height: 10px;
  color: #3D3D3D;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox]:focus + label:before,
form.user-login-form .js-form-type-checkbox input[type=checkbox]:focus + label:before,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox input[type=checkbox]:focus + label:before,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox input[type=checkbox]:focus + label:before {
  outline: 2px solid #3D3D3D;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
form.user-login-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox input[type=checkbox]:checked + label:before {
  background: #ffffff;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
form.user-login-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox input[type=checkbox]:checked + label:after {
  opacity: 1;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox].error + label,
form.user-login-form .js-form-type-checkbox input[type=checkbox].error + label,
.views-exposed-form.block-exposedformsearchsearch-page form .js-form-type-checkbox input[type=checkbox].error + label,
.views-exposed-form.block-formespostosearchsearch-page form .js-form-type-checkbox input[type=checkbox].error + label {
  color: #3D3D3D;
}
.webform-submission-form .webform-actions,
form.user-login-form .webform-actions,
.views-exposed-form.block-exposedformsearchsearch-page form .webform-actions,
.views-exposed-form.block-formespostosearchsearch-page form .webform-actions {
  text-align: right;
}
.webform-submission-form .webform-actions .js-form-submit,
form.user-login-form .webform-actions .js-form-submit,
.views-exposed-form.block-exposedformsearchsearch-page form .webform-actions .js-form-submit,
.views-exposed-form.block-formespostosearchsearch-page form .webform-actions .js-form-submit {
  margin: 0;
}
.webform-submission-form #status-messages,
form.user-login-form #status-messages,
.views-exposed-form.block-exposedformsearchsearch-page form #status-messages,
.views-exposed-form.block-formespostosearchsearch-page form #status-messages {
  padding-left: 20px;
  padding-right: 20px;
}
.webform-submission-form #status-messages .callout,
form.user-login-form #status-messages .callout,
.views-exposed-form.block-exposedformsearchsearch-page form #status-messages .callout,
.views-exposed-form.block-formespostosearchsearch-page form #status-messages .callout {
  margin: 0;
  background: rgba(37, 37, 37, 0.8);
  color: #ffffff;
}
.webform-submission-form .webform-confirmation,
form.user-login-form .webform-confirmation,
.views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation,
.views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation {
  margin: 10px;
  text-align: center;
}
.webform-submission-form .webform-confirmation .webform-confirmation__message,
form.user-login-form .webform-confirmation .webform-confirmation__message,
.views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation .webform-confirmation__message,
.views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation .webform-confirmation__message {
  margin-bottom: 0;
}

.webform-submission-form.webform-submission-candidatura-spontanea-form {
  padding-top: 50px;
  padding-bottom: 40px;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .cell.small-12:last-of-type {
  margin-bottom: 0;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 30px;
  margin-bottom: 30px;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper > div:first-of-type {
  margin-bottom: 20px;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper input[type=file]:focus ~ label {
  outline: 2px solid #3D3D3D;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper span.file {
  margin: 0 10px 0 0;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper span.file:before {
  content: "\e853";
  margin-right: 5px;
  font-size: 0.7rem;
  line-height: 0.9rem;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper span.file.file--application-pdf:before {
  content: "\e855";
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper span.file a {
  font-size: 0.7rem;
  line-height: 0.9rem;
}
.webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper .form-submit {
  background: transparent;
  margin: 0;
  padding: 0;
  border: none;
  font-size: 0.7rem;
  line-height: 0.9rem;
  color: #000000;
  text-transform: uppercase;
}
@media print, screen and (min-width: 40em) {
  .webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper {
    margin-top: 50px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper > div {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper > div:first-of-type {
    margin: 0 10px 0 0;
  }
  .webform-submission-form.webform-submission-candidatura-spontanea-form .attachmentsWrapper > div:last-of-type {
    margin: 0 0 0 10px;
  }
}

form.user-login-form,
form.user-pass {
  margin-bottom: 60px;
}
form.user-login-form .form-item,
form.user-pass .form-item {
  margin-bottom: 20px;
}
form.user-login-form .form-actions,
form.user-pass .form-actions {
  text-align: right;
}

.msg-disclaimer-form .form-wrapper.form-actions {
  text-align: center;
}
.msg-disclaimer-form .form-submit {
  margin-bottom: 0;
}

.headerMain {
  position: static;
}
.headerMain > .grid-container {
  position: static;
}
.headerMain .headerMenu, .headerMain .headerRight {
  position: static;
}

.block-tb-megamenu-menu-blockmain {
  position: static;
}
.block-tb-megamenu-menu-blockmain .tbm.tbm-main {
  position: static;
  background: transparent;
}
.block-tb-megamenu-menu-blockmain .tbm.tbm-main > .tbm-collapse {
  position: static;
}
.block-tb-megamenu-menu-blockmain .tbm-link-container, .block-tb-megamenu-menu-blockmain .tbm-link-container:after, .block-tb-megamenu-menu-blockmain a, .block-tb-megamenu-menu-blockmain span.no-link {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-tb-megamenu-menu-blockmain a.tbm-link {
  cursor: pointer !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
.block-tb-megamenu-menu-blockmain a.tbm-link:hover {
  text-decoration: underline !important;
}
.block-tb-megamenu-menu-blockmain .tbm-submenu {
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: none;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.block-tb-megamenu-menu-blockmain .tbm-group-container {
  border: none;
}
.block-tb-megamenu-menu-blockmain .tbm-row {
  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;
  -webkit-column-gap: 0;
     -moz-column-gap: 0;
          column-gap: 0;
}
.block-tb-megamenu-menu-blockmain .tbm-column {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.block-tb-megamenu-menu-blockmain .tbm-group-container .tbm-column {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 100%;
  padding: 0 10px;
}
.block-tb-megamenu-menu-blockmain .tbm-item.hideSubGroup > .tbm-group-container.tbm-item-child {
  display: none !important;
}
.block-tb-megamenu-menu-blockmain .tbm-group-title {
  text-transform: none;
}
.block-tb-megamenu-menu-blockmain ul.tbm-nav.level-0 {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1 {
  position: static;
  margin: 0;
  padding: 0;
  border: none !important;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1.leaving > .tbm-submenu {
  opacity: 1 !important;
  display: block !important;
  overflow: visible !important;
  clip: auto !important;
  height: auto !important;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1 > .tbm-link-container {
  position: relative;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1 > .tbm-link-container > button.tbm-submenu-toggle {
  display: block;
  background: transparent !important;
  width: 100%;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1 > .tbm-link-container > button.tbm-submenu-toggle:before {
  display: none !important;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1:hover > .tbm-link-container a.tbm-link,
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1 > .tbm-link-container button[aria-expanded=true] {
  text-decoration: underline;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-1 > .tbm-submenu {
  padding-top: 0 !important;
  padding-bottom: 30px !important;
  border-top: 1px solid #F4F4F4;
  background-color: #262A33;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-1,
.block-tb-megamenu-menu-blockmain button.tbm-link.level-1 {
  padding: 30px 8px;
  white-space: nowrap;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  background: transparent !important;
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.1rem;
  color: #ffffff !important;
  text-align: center;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-1:hover,
.block-tb-megamenu-menu-blockmain button.tbm-link.level-1:hover {
  text-decoration: underline;
  text-decoration-thickness: 3px;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-1.active-trail, .block-tb-megamenu-menu-blockmain button.tbm-link.level-1.active-trail {
  text-decoration: underline;
}
.block-tb-megamenu-menu-blockmain .rows_3 ul.tbm-subnav.level-1:has(li:nth-child(3)) {
  grid-template-rows: repeat(3, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1 {
  text-align: left;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: repeat(2, auto);
  grid-auto-flow: column;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  /* >=5 → 2 righe */
  /* >=10 → 4 righe */
  /* >=13 → 5 righe */
  /* >=16 → 6 righe */
  /* >=19 → 7 righe */
  /* >=22 → 8 righe */
  /* >=25 → 9 righe */
  /* >=28 → 10 righe */
}
.rows_3 .block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(3)) {
  grid-template-rows: repeat(3, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(5)) {
  grid-template-rows: repeat(3, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(10)) {
  grid-template-rows: repeat(4, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(13)) {
  grid-template-rows: repeat(5, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(16)) {
  grid-template-rows: repeat(6, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(19)) {
  grid-template-rows: repeat(7, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(22)) {
  grid-template-rows: repeat(8, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(25)) {
  grid-template-rows: repeat(9, auto);
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-1:has(li:nth-child(28)) {
  grid-template-rows: repeat(10, auto);
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-2 {
  margin: 40px 0 0 0;
  border: none;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-2 {
  padding: 0 !important;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1rem;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-2.active-trail {
  color: #ffffff !important;
  text-decoration: underline !important;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-2.link-gruppo {
  font-family: "sole_display";
  font-weight: 800;
  color: #ffffff !important;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-2.link-gruppo:after {
  content: "\e818";
  margin-left: 5px;
  font-size: 18px;
  line-height: 18px;
}
.block-tb-megamenu-menu-blockmain ul.tbm-subnav.level-2 {
  width: 100%;
  margin: 0;
}
.block-tb-megamenu-menu-blockmain li.tbm-item.level-3 {
  margin: 20px 0 0 0;
  border: none;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-3 {
  padding: 0 !important;
  font-size: 0.9rem;
  line-height: 0.9rem;
}
.block-tb-megamenu-menu-blockmain a.tbm-link.level-3.active-trail {
  color: #3D3D3D !important;
}
@media print, screen and (min-width: 64em) {
  .block-tb-megamenu-menu-blockmain a.tbm-link.level-1 {
    padding-left: 5px;
    padding-right: 5px;
    font-size: 0.9rem;
    line-height: 1.1rem;
  }
}
@media screen and (min-width: 80em) {
  .block-tb-megamenu-menu-blockmain a.tbm-link.level-1,
  .block-tb-megamenu-menu-blockmain button.tbm-link.level-1 {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 1.05rem;
  }
}
@media screen and (min-width: 90em) {
  .block-tb-megamenu-menu-blockmain a.tbm-link.level-1,
  .block-tb-megamenu-menu-blockmain button.tbm-link.level-1 {
    padding-left: 18px;
    padding-right: 18px;
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 105em) {
  .block-tb-megamenu-menu-blockmain a.tbm-link.level-1,
  .block-tb-megamenu-menu-blockmain button.tbm-link.level-1 {
    padding-left: 20px;
    padding-right: 20px;
  }
}
header.pageHeader.headroom--not-top .block-tb-megamenu-menu-blockmain a.tbm-link.level-1,
header.pageHeader.headroom--not-top .block-tb-megamenu-menu-blockmain button.tbm-link.level-1 {
  padding-top: 15px;
  padding-bottom: 15px;
}

.block-footer-mainnav {
  margin-bottom: 22px;
}
.block-footer-mainnav h3.blockTitle {
  margin-bottom: 10px;
  font-family: "SoleSans", sans-serif;
  text-transform: uppercase;
}
.block-footer-mainnav ul.menu li {
  margin-bottom: 0;
}
.block-footer-mainnav ul.menu li a {
  margin-bottom: 0;
  padding: 11px 0;
}
.block-footer-mainnav ul.menu li a.is-active {
  text-decoration: underline;
}
.block-footer-mainnav ul.menu li:last-of-type {
  margin-bottom: 0;
}
.block-footer-mainnav ul.menu li:last-of-type a {
  padding-bottom: 0;
}

.block-menu-blocksocial {
  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;
}
.block-menu-blocksocial label {
  font-weight: bold;
  margin-bottom: 0;
  color: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .block-menu-blocksocial {
    -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) {
  .block-menu-blocksocial {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media print, screen and (min-width: 64em) and (max-width: 79.99875em) {
  .block-menu-blocksocial {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 80em) {
  .block-menu-blocksocial {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.block-tt-foundation-piedipagina ul.menu {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.block-tt-foundation-piedipagina ul.menu li a {
  margin-bottom: 0;
  padding: 10px 20px;
}
.block-tt-foundation-piedipagina ul.menu li:last-child a {
  padding-right: 0;
}
@media print, screen and (min-width: 64em) and (max-width: 79.99875em) {
  .block-tt-foundation-piedipagina ul.menu li a {
    padding: 10px;
  }
}
@media print, screen and (min-width: 64em) {
  .block-tt-foundation-piedipagina ul.menu {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

/**
 * Menu in pagina - Archivio
 * Stilizzato come Select2
 * Generato tramite JS (archiveViewBehavior)
 */
.block-supheader-archive {
  margin-bottom: 40px;
}
.block-supheader-archive .archiveMenuWrapper ul.menu {
  display: none !important;
}
.block-supheader-archive .archiveMenuWrapper select.archive-selmenu {
  background-color: #3D3D3D;
  color: #ffffff;
  font-size: 1rem;
  max-width: 380px;
  width: 100%;
  height: 52px;
  padding: 0 50px 0 20px;
  background-position: right -35px center;
  background-size: 11px 6px;
  text-overflow: ellipsis;
  white-space: nowrap;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='70.8'%3E%3Cpolygon points='75%2C70.8 0%2C0 150%2C0' fill='%23FFFFFF' /%3E%3C/svg%3E");
}
.block-supheader-archive .archiveMenuWrapper select.archive-selmenu:focus, .block-supheader-archive .archiveMenuWrapper select.archive-selmenu:focus-visible {
  outline: 2px solid #ffffff;
}
.block-supheader-archive .archiveMenuWrapper select.archive-selmenu option {
  background-color: #ffffff;
  color: #000000;
}

.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-accordions-tabs {
  overflow: hidden;
}
.paragraph-accordions-tabs ul.tabs {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-color: transparent;
  background: transparent;
}
.paragraph-accordions-tabs ul.tabs:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -50vw;
  width: 150vw;
  height: 1px;
  background: #3D3D3D;
}
.paragraph-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-accordions-tabs ul.tabs .tabs-title > a {
  position: relative;
  height: 48px;
  padding: 0 10px;
  border: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-family: "SoleSans", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 48px;
  color: #000000;
}
.paragraph-accordions-tabs ul.tabs .tabs-title > a:hover, .paragraph-accordions-tabs ul.tabs .tabs-title > a:focus, .paragraph-accordions-tabs ul.tabs .tabs-title > a[aria-selected=true] {
  background: #3D3D3D;
  color: #ffffff;
}
.paragraph-accordions-tabs .tabs-content {
  margin: 40px 0;
  border-color: transparent;
  background: transparent;
}
.paragraph-accordions-tabs .tabs-panel {
  width: calc(100% + 10px);
  margin-left: -10px;
  margin-right: -10px;
  padding: 0;
}
.paragraph-accordions-tabs ul.accordion {
  background: transparent;
}
.paragraph-accordions-tabs li.accordion-item {
  margin-bottom: 10px;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  background: #ffffff;
}
.paragraph-accordions-tabs .accordion-title {
  display: block !important;
  position: relative;
  padding: 10px 30px 10px 10px;
  border: none;
  background: transparent;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-family: "sole_display";
  font-weight: 800;
  font-size: 20px;
  line-height: 24px;
  color: #000000;
}
.paragraph-accordions-tabs .accordion-title:before {
  display: none !important;
}
.paragraph-accordions-tabs .accordion-title:after {
  content: "\e814";
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translate(0, -50%) rotate(180deg);
          transform: translate(0, -50%) rotate(180deg);
  z-index: 2;
  font-size: 6px;
  line-height: 1;
  color: #3D3D3D;
  text-align: center;
}
.paragraph-accordions-tabs .accordion-title:focus, .paragraph-accordions-tabs .accordion-title:hover {
  color: #3D3D3D;
}
.paragraph-accordions-tabs li.accordion-item.is-active > .accordion-title:after {
  -webkit-transform: translate(0, -50%) rotate(0);
          transform: translate(0, -50%) rotate(0);
}
.paragraph-accordions-tabs .accordion-content {
  width: calc(100% + 10px);
  margin-left: -10px;
  margin-right: -10px;
  padding: 20px 10px;
  border: none;
  background: transparent;
}
.paragraph-accordions-tabs .accordion-content .field--paragraph-field-cnt-documents {
  padding-left: 10px;
  padding-right: 10px;
}
@media print, screen and (min-width: 40em) {
  .paragraph-accordions-tabs .tabs-panel {
    width: calc(100% + 15px);
    margin-left: -15px;
    margin-right: -15px;
  }
  .paragraph-accordions-tabs .accordion-title {
    padding: 20px 60px 20px 40px;
  }
  .paragraph-accordions-tabs .accordion-title:after {
    right: 35px;
  }
  .paragraph-accordions-tabs .accordion-content {
    width: calc(100% + 15px);
    margin-left: -15px;
    margin-right: -15px;
    padding: 40px;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph-accordions-tabs .tabs-panel {
    width: calc(100% + 10px);
    margin-left: -10px;
    margin-right: -10px;
  }
  .paragraph-accordions-tabs .accordion-content {
    width: calc(100% + 10px);
    margin-left: -10px;
    margin-right: -10px;
  }
}

.basic-paragraph-wrapper.bg-pink_light {
  background: #F5E5D5;
}
.basic-paragraph-wrapper.bg-background_pink_dark {
  background: #F6D1C0;
}
.basic-paragraph-wrapper.bg-blu_light {
  background: #C2DAE6;
}
.basic-paragraph-wrapper.bg-green {
  background: #C4D7D7;
}
.basic-paragraph-wrapper.bg-wave {
  background-image: url("../images/background-wave.svg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
}

@media print, screen and (min-width: 40em) {
  .paragraph--type--management .node-type-manager {
    margin-bottom: 40px;
  }
}

.paragraph--type--linkers .field--name-field-titolo {
  margin-bottom: 40px;
  text-align: center;
}
.paragraph--type--linkers .field--name-field-cta-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.paragraph--type--linkers .field--name-field-cta-links .field__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin: 10px 0;
  border-bottom: 1px solid #3D3D3D;
}
.paragraph--type--linkers .field--name-field-cta-links a {
  display: inline-block;
  margin-bottom: 0;
  padding: 15px 0;
  font-weight: 700;
}
.paragraph--type--linkers .field--name-field-cta-links a[target=_blank]:after {
  content: "\e804";
  margin-left: 5px;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--linkers .field--name-field-cta-links {
    width: calc(100% + 20px);
    margin-left: -10px;
    margin-right: -10px;
  }
  .paragraph--type--linkers .field--name-field-cta-links .field__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 20px);
            flex: 0 0 calc(50% - 20px);
    margin: 10px;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--linkers .field--name-field-cta-links .field__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.3333% - 20px);
            flex: 0 0 calc(33.3333% - 20px);
  }
}

.paragraph--type--icon-boxes .itemWrapper {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.paragraph--type--icon-boxes .paragraph--type--icon-box {
  -ms-flex-preferred-size: calc(100% - 20px);
      flex-basis: calc(100% - 20px);
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-bottom: 20px;
  margin-left: 10px;
  margin-right: 10px;
  padding: 20px 10px;
  background: #ffffff;
}
.paragraph--type--icon-boxes .field--name-field-svg {
  margin-bottom: 20px;
}
.paragraph--type--icon-boxes .field--name-field-svg svg {
  width: auto;
  max-height: 75px;
}
.paragraph--type--icon-boxes .field--name-field-text p:last-of-type {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--icon-boxes .itemWrapper {
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-right: -15px;
  }
  .paragraph--type--icon-boxes .paragraph--type--icon-box {
    margin-bottom: 30px;
    margin-left: 15px;
    margin-right: 15px;
    padding: 20px;
  }
  .paragraph--type--icon-boxes .field--name-field-svg {
    margin-bottom: 40px;
  }
  .paragraph--type--icon-boxes.ipp_3 .paragraph--type--icon-box {
    -ms-flex-preferred-size: calc(33.3333% - 30px);
        flex-basis: calc(33.3333% - 30px);
  }
  .paragraph--type--icon-boxes.ipp_4 .paragraph--type--icon-box {
    -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px);
  }
  .paragraph--type--icon-boxes.ipp_5 .paragraph--type--icon-box {
    -ms-flex-preferred-size: calc(50% - 30px);
        flex-basis: calc(50% - 30px);
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--icon-boxes .itemWrapper {
    width: calc(100% + 20px);
    margin-left: -10px;
    margin-right: -10px;
  }
  .paragraph--type--icon-boxes .paragraph--type--icon-box {
    margin-bottom: 20px;
    margin-left: 10px;
    margin-right: 10px;
  }
  .paragraph--type--icon-boxes.ipp_3 .paragraph--type--icon-box {
    -ms-flex-preferred-size: calc(33.3333% - 20px);
        flex-basis: calc(33.3333% - 20px);
  }
  .paragraph--type--icon-boxes.ipp_4 .paragraph--type--icon-box {
    -ms-flex-preferred-size: calc(25% - 20px);
        flex-basis: calc(25% - 20px);
  }
  .paragraph--type--icon-boxes.ipp_5 .paragraph--type--icon-box {
    -ms-flex-preferred-size: calc(20% - 20px);
        flex-basis: calc(20% - 20px);
  }
}
@media screen and (min-width: 80em) {
  .paragraph--type--icon-boxes .paragraph--type--icon-box {
    padding: 40px 20px;
  }
  .paragraph--type--icon-boxes .field--name-field-svg {
    margin-bottom: 60px;
  }
}

.paragraph-type-textual .field--type-text-long p:last-of-type {
  margin-bottom: 0;
}

.paragraph--type--testo-immagine {
  position: relative;
  z-index: 1;
  /*&.imgPos-left {
    div.singleImage {
      margin-left: 20px;
      &:before { left: -20px; }
    }

    div.doubleFirst {
      left: 0;
      margin-right: 80px;
      &:before { left: 20px; }
    }
    div.doubleLast {
      float: right;
      margin-left: 80px;
      &:before { left: -20px; }
    }
  }*/
}
.paragraph--type--testo-immagine .cellImages {
  position: relative;
  margin-bottom: 20px;
}
.paragraph--type--testo-immagine div.singleImage, .paragraph--type--testo-immagine div.doubleFirst, .paragraph--type--testo-immagine div.doubleLast {
  margin-bottom: 20px;
}
.paragraph--type--testo-immagine div.singleImage:before, .paragraph--type--testo-immagine div.doubleFirst:before, .paragraph--type--testo-immagine div.doubleLast:before {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  width: 100%;
  height: 100%;
  border: 1px solid #3D3D3D;
  z-index: -1;
}
.paragraph--type--testo-immagine div.singleImage {
  position: relative;
  width: calc(100% - 20px);
}
.paragraph--type--testo-immagine div.doubleFirst, .paragraph--type--testo-immagine div.doubleLast {
  width: auto;
}
.paragraph--type--testo-immagine div.doubleFirst {
  position: absolute;
  top: 0;
  z-index: 0;
}
.paragraph--type--testo-immagine div.doubleLast {
  position: relative;
  display: inline-block;
  margin-top: 140px;
  z-index: 1;
}
.paragraph--type--testo-immagine.imgPos-right div.singleImage, .paragraph--type--testo-immagine.imgPos-left div.singleImage {
  margin-right: 20px;
}
.paragraph--type--testo-immagine.imgPos-right div.singleImage:before, .paragraph--type--testo-immagine.imgPos-left div.singleImage:before {
  left: 20px;
}
.paragraph--type--testo-immagine.imgPos-right div.doubleFirst, .paragraph--type--testo-immagine.imgPos-left div.doubleFirst {
  right: 0;
  margin-left: 80px;
}
.paragraph--type--testo-immagine.imgPos-right div.doubleFirst:before, .paragraph--type--testo-immagine.imgPos-left div.doubleFirst:before {
  left: -20px;
}
.paragraph--type--testo-immagine.imgPos-right div.doubleLast, .paragraph--type--testo-immagine.imgPos-left div.doubleLast {
  margin-right: 80px;
}
.paragraph--type--testo-immagine.imgPos-right div.doubleLast:before, .paragraph--type--testo-immagine.imgPos-left div.doubleLast:before {
  left: 20px;
}
@media print, screen and (max-width: 39.99875em) {
  .paragraph--type--testo-immagine .cellText {
    margin-bottom: 25px;
  }
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--testo-immagine {
    /*&.imgPos-left {
      div.doubleFirst { margin-right: 40px; }
      div.doubleLast { margin-left: 40px; }
    }*/
  }
  .paragraph--type--testo-immagine div.doubleLast {
    margin-top: 140px;
  }
  .paragraph--type--testo-immagine.imgPos-right div.doubleFirst, .paragraph--type--testo-immagine.imgPos-left div.doubleFirst {
    margin-left: 40px;
  }
  .paragraph--type--testo-immagine.imgPos-right div.doubleLast, .paragraph--type--testo-immagine.imgPos-left div.doubleLast {
    margin-right: 40px;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--testo-immagine {
    /*&.imgPos-left {
      div.doubleFirst { margin-right: 20px; }
      div.doubleLast { margin-left: 20px; }
    }*/
  }
  .paragraph--type--testo-immagine div.doubleLast {
    margin-top: 250px;
  }
  .paragraph--type--testo-immagine.imgPos-right div.doubleFirst, .paragraph--type--testo-immagine.imgPos-left div.doubleFirst {
    margin-left: 20px;
  }
  .paragraph--type--testo-immagine.imgPos-right div.doubleLast, .paragraph--type--testo-immagine.imgPos-left div.doubleLast {
    margin-right: 20px;
  }
}

.paragraph--type--testo-immagine-full {
  background: #C2DAE6;
}
.paragraph--type--testo-immagine-full .cellText {
  padding-top: 30px;
  padding-bottom: 30px;
}
.paragraph--type--testo-immagine-full .cellImage {
  position: relative;
}
@media print, screen and (max-width: 39.99875em) {
  .paragraph--type--testo-immagine-full .cellText {
    margin-bottom: 25px;
  }
  .paragraph--type--testo-immagine-full .cellImage {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    aspect-ratio: 1/1;
  }
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--testo-immagine-full .cellText {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .paragraph--type--testo-immagine-full .bgCoverAbs {
    width: calc(50vw - 15px);
  }
  .paragraph--type--testo-immagine-full.imgPos-left .bgCoverAbs {
    left: auto;
    right: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--testo-immagine-full .cellText {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .paragraph--type--testo-immagine-full .bgCoverAbs {
    width: calc(50vw - 10px);
  }
}

.paragraph--type--testo-videobg {
  position: relative;
  z-index: 1;
  /*&.imgPos-left div.vidWrapper {
    // margin-left: 20px;
    &:before { left: -20px; }
  }*/
}
.paragraph--type--testo-videobg div.cellVideo {
  position: relative;
}
.paragraph--type--testo-videobg .vidWrapper {
  position: relative;
  width: calc(100% - 20px);
  margin-right: 20px;
}
.paragraph--type--testo-videobg .vidWrapper:before {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  width: 100%;
  height: 100%;
  border: 1px solid #3D3D3D;
  z-index: 0;
}
.paragraph--type--testo-videobg video {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.paragraph--type--testo-videobg.imgPos-right div.vidWrapper:before, .paragraph--type--testo-videobg.imgPos-left div.vidWrapper:before {
  left: 20px;
}
@media print, screen and (max-width: 39.99875em) {
  .paragraph--type--testo-videobg .cellText {
    margin-bottom: 25px;
  }
  .paragraph--type--testo-videobg.imgPos-left div.cellVideo {
    margin-bottom: 30px;
  }
}

@media print, screen and (min-width: 64em) {
  .paragraph--type--testo-immagine.imgPos-right .cellText, .paragraph--type--testo-videobg.imgPos-right .cellText {
    padding-right: 20px;
  }
  .paragraph--type--testo-immagine.imgPos-right .cellImages, .paragraph--type--testo-videobg.imgPos-right .cellImages {
    padding-left: 20px;
  }
  .paragraph--type--testo-immagine.imgPos-left .cellText, .paragraph--type--testo-videobg.imgPos-left .cellText {
    padding-left: 20px;
  }
  .paragraph--type--testo-immagine.imgPos-left .cellImages, .paragraph--type--testo-videobg.imgPos-left .cellImages {
    padding-right: 20px;
  }
}

.paragraph--type--multitext .field--name-field-titolo {
  margin-bottom: 30px;
  font-family: "sole_display";
  font-weight: 800;
}
.paragraph--type--multitext .field__item.cell {
  margin-bottom: 20px;
}
.paragraph--type--multitext .field__item.cell p:last-of-type {
  margin-bottom: 0;
}

.paragraph--type--cta-testuale-con-intro .grid-x {
  margin-right: 0;
  margin-left: 0;
  padding-top: 40px;
  padding-bottom: 30px;
  background: #ffffff;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
}
.paragraph--type--cta-testuale-con-intro .field--name-field-company {
  margin-bottom: 15px;
}
.paragraph--type--cta-testuale-con-intro .field--name-field-titolo {
  margin-bottom: 15px;
  font-weight: 500;
  letter-spacing: 1px;
}
.paragraph--type--cta-testuale-con-intro .field--name-field-text {
  margin-bottom: 25px;
}
.paragraph--type--cta-testuale-con-intro .field--name-field-text p:last-of-type {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--cta-testuale-con-intro .field--name-field-company {
    margin-bottom: 0;
  }
}

/**
 * Paragraph Highlight
 * Ad ora nascosti via Backend i seguenti campi
 * Image, Pretitle, Abstract, Align, Number animation duration
 */
.paragraph--type--msg-c-highlight .highlight-title {
  margin-bottom: 0;
}
.paragraph--type--msg-c-highlight .highlight-title .highlight-number-static, .paragraph--type--msg-c-highlight .highlight-title .highlight-number,
.paragraph--type--msg-c-highlight .highlight-title .highlight-title-prefix, .paragraph--type--msg-c-highlight .highlight-title .highlight-title-suffix {
  margin-bottom: 0;
  font-family: "sole_display";
  font-weight: 800;
  color: #3D3D3D;
}
.paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-subtitle p:last-of-type,
.paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-text p:last-of-type {
  margin-bottom: 0;
}
.paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-subtitle p {
  font-weight: 500;
  text-transform: uppercase;
}
.paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-pretitle, .paragraph--type--msg-c-highlight .field--name-field-msg-c-highlight-abstract {
  display: none !important;
}

.paragraph--type--carosello-immagini .swiperWrapper {
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
}
.paragraph--type--carosello-immagini .swiper-button-prev {
  left: 20px;
}
.paragraph--type--carosello-immagini .swiper-button-next {
  right: 20px;
}
.paragraph--type--carosello-immagini .swiper-slide article {
  width: calc(100% - 20px);
  margin: 0 10px;
  text-align: center;
}
.paragraph--type--carosello-immagini .swiper-slide article img {
  display: inline-block;
  width: 100%;
  vertical-align: top;
}

.paragraph--type--banner-simple {
  position: relative;
}
.paragraph--type--banner-simple.banner-fullwidth {
  height: 380px;
}
.paragraph--type--banner-simple.banner-in-grid .cell {
  aspect-ratio: 16/9;
}
.paragraph--type--banner-simple .btnAction {
  position: absolute;
  bottom: 100px;
  left: 50%;
  width: 40px;
  height: 40px;
  border: 1px solid #3D3D3D;
  border-radius: 100%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 5;
  color: #3D3D3D;
  text-align: center;
}
.paragraph--type--banner-simple .btnAction:before {
  font-size: 16px;
  line-height: 38px;
}
.paragraph--type--banner-simple .btnAction.isPaused:before {
  content: "\e84c";
}
.paragraph--type--banner-simple .btnAction.isPlaying:before {
  content: "\e84b";
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--banner-simple.banner-fullwidth {
    height: 480px;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--banner-simple.banner-fullwidth {
    height: 680px;
  }
}

.paragraph--type--banner-slider .swiperWrapper {
  position: relative;
}
.paragraph--type--banner-slider .swiper-slide {
  height: auto;
}
.paragraph--type--banner-slider .swiper-button-prev, .paragraph--type--banner-slider .swiper-button-next {
  top: auto;
  bottom: 20px;
  left: auto;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.paragraph--type--banner-slider .swiper-button-prev {
  right: 70px;
}
.paragraph--type--banner-slider .swiper-button-next {
  right: 20px;
}
@media print, screen and (max-width: 39.99875em) {
  .paragraph--type--banner-slider .swiperWrapper {
    padding-bottom: 60px;
  }
  .paragraph--type--banner-slider .swiper-button-prev, .paragraph--type--banner-slider .swiper-button-next {
    bottom: 0;
  }
}

.paragraph--type--banner-slide {
  position: relative;
}
.paragraph--type--banner-slide .slideMedias {
  position: relative;
  width: 100%;
  height: 380px;
}
.paragraph--type--banner-slide .gridTexts {
  position: relative;
  z-index: 1;
}
.paragraph--type--banner-slide .textWrapper {
  margin: 20px 0;
  padding: 0;
  background: #F5E5D5;
}
.paragraph--type--banner-slide .field--name-field-titolo h2 {
  margin-bottom: 15px;
  font-family: "sole_display";
  font-weight: 800;
}
.paragraph--type--banner-slide .slideFoot {
  -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;
}
.paragraph--type--banner-slide .slideManagement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-top: 20px;
}
.paragraph--type--banner-slide .slideIndicator {
  position: relative;
  width: 100%;
  height: 4px;
  background: #ffffff;
}
.paragraph--type--banner-slide .slideIndicator .indicator {
  position: relative;
  width: 0;
  height: 4px;
  background: #3D3D3D;
}
.paragraph--type--banner-slide .slideManager {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px !important;
  height: 20px !important;
  margin-left: 10px;
  border-radius: 100%;
  background: #3D3D3D;
  font-size: 0;
  color: #ffffff;
  text-align: center;
}
.paragraph--type--banner-slide .slideManager:before {
  vertical-align: middle !important;
  cursor: pointer;
  font-size: 10px;
  line-height: 20px;
}
.paragraph--type--banner-slide .slideManager.isPaused:before {
  content: "\e84c";
  padding-left: 2px;
}
.paragraph--type--banner-slide .slideManager.isPlaying:before {
  content: "\e84b";
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--banner-slide {
    height: 1px;
    min-height: 600px;
  }
  .paragraph--type--banner-slide .slideMedias {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .paragraph--type--banner-slide .gridTexts {
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .paragraph--type--banner-slide .textWrapper {
    margin: 0;
    padding: 30px 20px;
  }
  .paragraph--type--banner-slide .field--name-field-titolo h2 {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--banner-slide {
    min-height: 680px;
  }
  .paragraph--type--banner-slide .textWrapper {
    padding: 60px 50px;
  }
  .paragraph--type--banner-slide .slideFoot {
    -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;
  }
  .paragraph--type--banner-slide .slideManagement {
    width: 210px;
    margin-top: 0;
    margin-left: auto;
  }
}

.paragraph--type--banner-header {
  position: relative;
}
.paragraph--type--banner-header .slideMedias {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.paragraph--type--banner-header .slideMedias:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgb(0, 0, 0);
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0.2)));
  background: linear-gradient(90deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%);
  z-index: 3;
}
.paragraph--type--banner-header .gridTexts {
  position: relative;
  height: 75vh;
  height: calc(var(--vh, 1vh) * 75);
  min-height: -webkit-fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
  padding-top: 120px;
  padding-bottom: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 5;
}
.paragraph--type--banner-header .field--name-field-titolo h2 {
  margin-bottom: 15px;
  font-family: "sole_display";
  font-weight: 800;
  color: #ffffff;
}
.paragraph--type--banner-header .field--name-field-msg-c-body p {
  color: #ffffff;
}
.paragraph--type--banner-header .slideManagement {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  z-index: 10;
}
.paragraph--type--banner-header .indicator {
  position: relative;
  width: 40px !important;
  height: 40px !important;
  background: transparent;
  border-radius: 100%;
  border: 1px solid #ffffff;
}
.paragraph--type--banner-header .indicator:after {
  content: "";
  border-radius: 100%;
  display: block;
  position: absolute;
  top: -2px;
  left: -2px;
  height: 44px;
  width: 44px;
  background: conic-gradient(from 0deg, #3D3D3D, #3D3D3D var(--data-indicator), transparent var(--data-indicator));
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #fff calc(100% - 2px));
          mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #fff calc(100% - 2px));
}
.paragraph--type--banner-header .slideManager {
  position: absolute;
  top: 1px;
  left: 1px;
  width: 40px;
  height: 40px;
  font-size: 0;
  color: #ffffff;
  text-align: center;
}
.paragraph--type--banner-header .slideManager:before {
  vertical-align: middle !important;
  cursor: pointer;
  font-size: 20px;
  line-height: 40px;
}
.paragraph--type--banner-header .slideManager.isPaused:before {
  content: "\e84c";
  padding-left: 4px;
}
.paragraph--type--banner-header .slideManager.isPlaying:before {
  content: "\e84b";
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--banner-header .gridTexts {
    height: 75vh;
    height: calc(var(--vh, 1vh) * 75);
    padding-top: 200px;
  }
  .paragraph--type--banner-header .field--name-field-titolo h2 {
    margin-bottom: 30px;
  }
  .paragraph--type--banner-header .slideManagement {
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    bottom: 80px;
    right: unset;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--banner-header .gridTexts {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    padding-top: 250px;
  }
  .paragraph--type--banner-header .slideManagement {
    bottom: 120px;
  }
}

.paragraph--type--banner-slider.itemsOnLeft .paragraph--type--banner-slide .cellTexts {
  margin-left: calc(0% + 1rem / 2);
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--banner-slider.itemsOnLeft .paragraph--type--banner-slide .cellTexts {
    margin-left: calc(0% + 1.5rem / 2);
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--banner-slider.itemsOnLeft .paragraph--type--banner-slide .cellTexts {
    margin-left: calc(0% + 1rem / 2);
  }
}

.paragraph--type--documents-wrapper .field--name-field-titolo {
  margin-bottom: 40px;
}

.block-block-content.block-posizioni-aperte p.blockTitle {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 64em) {
  .block-block-content.block-posizioni-aperte p.blockTitle {
    margin-bottom: 40px;
  }
}

.paragraph--type--posizione-aperta {
  margin-bottom: 20px;
}
.paragraph--type--posizione-aperta .flex-container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px;
  background: #ffffff;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
}
.paragraph--type--posizione-aperta .field--name-field-place, .paragraph--type--posizione-aperta .field--name-field-titolo, .paragraph--type--posizione-aperta .field--name-field-company {
  margin: 0 0 10px 0;
}
.paragraph--type--posizione-aperta .field--name-field-place {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.paragraph--type--posizione-aperta .field--name-field-titolo {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-weight: 700;
}
.paragraph--type--posizione-aperta .field--name-field-company {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.paragraph--type--posizione-aperta .field--name-field-cta {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0;
}
.paragraph--type--posizione-aperta .field--name-field-cta a {
  display: inline-block;
  margin-bottom: 0;
  font-family: "sole_display";
  font-weight: 800;
}
.paragraph--type--posizione-aperta .field--name-field-cta span {
  display: inline-block;
  margin: 0 0 4px 8px;
  vertical-align: top;
  color: #3D3D3D;
}
.paragraph--type--posizione-aperta .field--name-field-cta span:before {
  font-size: 16px;
  line-height: 1;
}
@media print, screen and (min-width: 40em) {
  .paragraph--type--posizione-aperta .flex-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 35px 30px 35px 40px;
  }
  .paragraph--type--posizione-aperta .field--name-field-place, .paragraph--type--posizione-aperta .field--name-field-titolo {
    width: 100%;
  }
  .paragraph--type--posizione-aperta .field--name-field-company, .paragraph--type--posizione-aperta .field--name-field-cta {
    width: 50%;
  }
  .paragraph--type--posizione-aperta .field--name-field-cta {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .paragraph--type--posizione-aperta .field--name-field-company {
    margin-bottom: 0;
  }
  .paragraph--type--posizione-aperta .field--name-field-cta {
    margin-bottom: 0;
  }
  .paragraph--type--posizione-aperta .field--name-field-cta a {
    margin-bottom: 0;
  }
  .paragraph--type--posizione-aperta .field--name-field-cta span {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--posizione-aperta .flex-container {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .paragraph--type--posizione-aperta .field--name-field-place {
    width: 140px;
    margin-bottom: 0;
  }
  .paragraph--type--posizione-aperta .field--name-field-titolo {
    margin-bottom: 0;
  }
  .paragraph--type--posizione-aperta .field--name-field-company {
    width: 220px;
  }
  .paragraph--type--posizione-aperta .field--name-field-cta {
    width: 120px;
  }
}

/**
 * Definizioni comuni a tutte le viste
 * Le viste che riguardano un certo tipo di contenuto vanno stilizzate nel relativo file content_types/_*.scss
 */
.viewPaged nav.pager {
  text-align: center;
}
.viewPaged ul.pager__items {
  display: inline-block;
  width: auto;
  margin: 40px auto 0 auto;
  padding: 0;
  font-size: 0;
  text-align: center;
}
.viewPaged ul.pager__items li.pager__item {
  display: inline-block;
  min-width: 36px;
  margin: 0 5px;
  padding: 0;
  vertical-align: top;
  background: transparent;
  font-size: 0;
}
.viewPaged ul.pager__items li.pager__item:before {
  display: none !important;
}
.viewPaged ul.pager__items li.pager__item a {
  position: relative;
  display: inline-block;
  min-width: 36px;
  height: 48px;
  margin: 0;
  padding: 0;
  background: transparent;
  vertical-align: top;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  line-height: 48px;
  color: #000000;
  text-align: center;
}
.viewPaged ul.pager__items li.pager__item a:hover {
  background: #3D3D3D;
  color: #ffffff;
}
.viewPaged ul.pager__items li.pager__item.pager__item--previous, .viewPaged ul.pager__items li.pager__item.pager__item--next {
  display: none !important;
}
.viewPaged ul.pager__items li.pager__item.pager__item--first, .viewPaged ul.pager__items li.pager__item.pager__item--last {
  background: transparent;
}
.viewPaged ul.pager__items li.pager__item.pager__item--first a, .viewPaged ul.pager__items li.pager__item.pager__item--last a {
  color: #3D3D3D;
}
.viewPaged ul.pager__items li.pager__item.pager__item--first:before, .viewPaged ul.pager__items li.pager__item.pager__item--last:before {
  display: none;
}
.viewPaged ul.pager__items li.pager__item.pager__item--first:hover a, .viewPaged ul.pager__items li.pager__item.pager__item--last:hover a {
  color: #ffffff;
}
.viewPaged ul.pager__items li.pager__item.pager__item--first span.icn-arrow-forward:before, .viewPaged ul.pager__items li.pager__item.pager__item--last span.icn-arrow-forward:before {
  font-size: 20px;
  line-height: 48px;
}
.viewPaged ul.pager__items li.pager__item.pager__item--first span.icn-arrow-forward:before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.viewPaged ul.pager__items li.pager__item--ellipsis {
  display: none !important;
}
.viewPaged ul.pager__items li.pager__item.current a {
  background: #3D3D3D;
  color: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .viewPaged ul.pager__items li.pager__item {
    margin: 0 8px;
  }
}

.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 {
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.befFilters .bef-exposed-form legend {
  display: none;
}
.befFilters .bef-exposed-form > .js-form-item {
  margin: 0 15px;
}
.befFilters .bef-exposed-form input[type=text] {
  width: 100%;
  height: 52px;
  margin: 0;
  padding: 0 20px;
  border-radius: 0;
  border: 1px solid #585858;
  background: #ffffff;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 52px;
  color: #252525;
}
.befFilters .bef-exposed-form .form-composite.fieldset-fake {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  border: none;
}
.befFilters .bef-exposed-form .bef-checkboxes .js-form-type-checkbox {
  display: inline-block;
  margin: 10px 10px 0 0;
}
.befFilters .bef-exposed-form .bef-checkboxes input[type=checkbox] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  margin: 0;
}
.befFilters .bef-exposed-form .bef-checkboxes label.option {
  height: 40px;
  margin: 0;
  padding: 0 15px;
  border: none;
  border-radius: 20px;
  background: #8B8B8B;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 0.7rem;
  line-height: 40px;
  color: #ffffff;
  text-align: center;
}
.befFilters .bef-exposed-form .bef-checkboxes input[type=checkbox]:checked + label.option {
  background: #3D3D3D;
  color: #ffffff;
}
.befFilters .bef-exposed-form .js-form-type-select .form-select {
  font-size: 1rem;
  max-width: 380px;
  width: 100%;
  height: 52px;
  padding: 0 50px 0 20px;
  background-position: right -35px center;
  background-size: 11px 6px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='70.8'%3E%3Cpolygon points='75%2C70.8 0%2C0 150%2C0' fill='%233D3D3D' /%3E%3C/svg%3E");
}
.befFilters .bef-exposed-form .js-form-type-select .form-select:focus, .befFilters .bef-exposed-form .js-form-type-select .form-select:focus-visible {
  outline: 2px solid #3D3D3D;
}
.befFilters .bef-exposed-form .js-form-type-select .select2-container--default,
.befFilters .bef-exposed-form .js-form-type-select .select2-container--archiveMenu {
  width: 100% !important;
  max-width: 260px;
}
.befFilters .bef-exposed-form .form-actions {
  display: none;
}
@media print, screen and (max-width: 39.99875em) {
  .befFilters .bef-exposed-form .js-form-item {
    -ms-flex-preferred-size: calc(100% - 20px);
        flex-basis: calc(100% - 20px);
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin: 0 10px 15px 10px;
  }
}
@media print, screen and (min-width: 40em) {
  .befFilters .bef-exposed-form {
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-right: -15px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .befFilters .bef-exposed-form input[type=text] {
    width: 100%;
  }
  .befFilters .bef-exposed-form .form-composite.fieldset-fake {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .befFilters .bef-exposed-form .bef-checkboxes {
    margin-left: 20px;
  }
  .befFilters .bef-exposed-form .js-form-type-select .select2-container--default, .befFilters .bef-exposed-form .js-form-type-select .select2-container--archiveMenu {
    max-width: 360px;
  }
}
.befFilters.befFiltersCenter .bef-exposed-form {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.viewCellEmpty {
  padding: 15px 0;
  text-align: center;
}
.viewCellEmpty p {
  margin: 0;
  color: #3D3D3D;
}

.draggableView .viewItems .tabledrag-toggle-weight-wrapper,
.draggableView .viewItems .tabledrag-changed-warning {
  font-size: 18px;
  line-height: 22px;
  color: #000000;
}
.draggableView .viewItems .tabledrag-changed-warning {
  padding: 20px;
  background-color: #C4D7D7;
  text-align: center;
}
.draggableView .viewItems table {
  width: 100%;
  margin-bottom: 40px;
}
.draggableView .viewItems table .draggable td {
  padding: 5px 6px;
  border-bottom: 1px solid #000000;
}
.draggableView .viewItems table .draggable .views-field {
  font-size: 18px;
  line-height: 22px;
  color: #000000;
}
.draggableView .viewItems table .draggable a.tabledrag-handle {
  width: 20px;
  height: 20px;
  margin: 0 10px 0 0;
}
.draggableView .viewItems table .draggable a.tabledrag-handle .handle {
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  background-position: center center;
}
.draggableView .viewItems table .draggable.drag td {
  background-color: #D2D2D3;
}
.draggableView .viewItems .form-actions {
  margin-bottom: 40px;
  text-align: center;
}
.draggableView .viewItems .form-actions .button {
  margin-bottom: 0;
}

.pressView.g24List .bef-exposed-form {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  overflow: hidden;
}
.pressView.g24List .bef-exposed-form label, .pressView.g24List .bef-exposed-form legend {
  display: block;
  margin-bottom: 0;
}
.pressView.g24List .bef-exposed-form .js-form-type-select {
  -ms-flex-preferred-size: 180px;
      flex-basis: 180px;
}
.pressView.g24List .bef-exposed-form .js-form-type-select .select2-container--default {
  width: 100% !important;
}
.pressView.g24List .bef-exposed-form .js-form-type-textfield {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.pressView.g24List .bef-exposed-form .form-composite.fieldset-fake {
  -ms-flex-preferred-size: calc(100% - 30px);
      flex-basis: calc(100% - 30px);
}
.pressView.g24List .views-row {
  margin-bottom: 40px;
}
@media print, screen and (min-width: 40em) {
  .pressView.g24List .bef-exposed-form .form-composite.fieldset-fake {
    margin-top: 40px;
  }
}

.pressView.newsPressReleases .bef-exposed-form,
.pressView.comunicatiInvestors .bef-exposed-form {
  overflow: hidden;
}
.pressView.newsPressReleases .bef-exposed-form label, .pressView.newsPressReleases .bef-exposed-form legend,
.pressView.comunicatiInvestors .bef-exposed-form label,
.pressView.comunicatiInvestors .bef-exposed-form legend {
  display: block;
  margin-bottom: 0;
}
.pressView.newsPressReleases .bef-exposed-form .js-form-type-select,
.pressView.comunicatiInvestors .bef-exposed-form .js-form-type-select {
  -ms-flex-preferred-size: 330px;
      flex-basis: 330px;
}
.pressView.newsPressReleases .bef-exposed-form .js-form-type-select .select2-container--default,
.pressView.comunicatiInvestors .bef-exposed-form .js-form-type-select .select2-container--default {
  width: 100% !important;
}
.pressView.newsPressReleases .bef-exposed-form .js-form-type-textfield,
.pressView.comunicatiInvestors .bef-exposed-form .js-form-type-textfield {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.pressView.newsPressReleases .bef-exposed-form .form-item-pr-type, .pressView.newsPressReleases .bef-exposed-form .form-item-art-type {
  display: none;
}
.pressView.newsPressReleases .views-row {
  margin-bottom: 24px;
}

.pressView.comunicatiInvestors .views-row {
  margin-bottom: 20px;
}

.pressView.newsPressReleasesHp {
  position: relative;
}
.pressView.newsPressReleasesHp .newsPressWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.pressView.newsPressReleasesHp .newsPressWrapper header {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.pressView.newsPressReleasesHp .newsPressWrapper header a:first-of-type {
  margin-right: 40px;
}
.pressView.newsPressReleasesHp .newsPressWrapper .itemsWrapper {
  position: relative;
}
.pressView.newsPressReleasesHp .newsPressWrapper .item {
  display: block;
  position: absolute;
  width: 100%;
  margin: 0 0 40px 0;
}
@media print, screen and (min-width: 40em) {
  .pressView.newsPressReleasesHp .newsPressSticky {
    position: sticky;
    top: 100px;
  }
}
@media print, screen and (min-width: 64em) {
  .pressView.newsPressReleasesHp .newsPressWrapper .itemsWrapper {
    width: calc(100% + 10px);
    margin-left: -10px;
    margin-right: -10px;
  }
  .pressView.newsPressReleasesHp .newsPressWrapper .itemsWrapper ul {
    list-style: none;
    margin: 0;
  }
  .pressView.newsPressReleasesHp .newsPressWrapper .item {
    width: calc(50% - 20px);
    margin-left: 10px;
    margin-right: 10px;
  }
}

.documentsViews.viewRisultatiPresentazioni h2.heading_m.wrapperTitle, .documentsViews.viewRisultatiPresentazioni .webform-submission-form .webform-confirmation h2.wrapperTitle.webform-confirmation__message, .webform-submission-form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message,
.documentsViews.viewRisultatiPresentazioni form.user-login-form .webform-confirmation h2.wrapperTitle.webform-confirmation__message,
form.user-login-form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message,
.documentsViews.viewRisultatiPresentazioni .views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation h2.wrapperTitle.webform-confirmation__message,
.views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message,
.documentsViews.viewRisultatiPresentazioni .views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation h2.wrapperTitle.webform-confirmation__message,
.views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message, .documentsViews.viewRisultatiPresentazioni .paragraph--type--linkers h2.wrapperTitle.field--name-field-titolo, .paragraph--type--linkers .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.field--name-field-titolo, .documentsViews.viewRisultatiPresentazioni .paragraph--type--documents-wrapper h2.wrapperTitle.field--name-field-titolo, .paragraph--type--documents-wrapper .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.field--name-field-titolo {
  margin-bottom: 20px;
}
.documentsViews.viewRisultatiPresentazioni .viewItems .wrapperItems:last-of-type {
  margin-bottom: 0 !important;
}
.documentsViews.viewRisultatiPresentazioni .viewItems .wrapperItems .wrapperNotes {
  margin-top: 30px;
}
@media print, screen and (min-width: 64em) {
  .documentsViews.viewRisultatiPresentazioni h2.heading_m.wrapperTitle, .documentsViews.viewRisultatiPresentazioni .webform-submission-form .webform-confirmation h2.wrapperTitle.webform-confirmation__message, .webform-submission-form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message,
  .documentsViews.viewRisultatiPresentazioni form.user-login-form .webform-confirmation h2.wrapperTitle.webform-confirmation__message,
  form.user-login-form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message,
  .documentsViews.viewRisultatiPresentazioni .views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation h2.wrapperTitle.webform-confirmation__message,
  .views-exposed-form.block-exposedformsearchsearch-page form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message,
  .documentsViews.viewRisultatiPresentazioni .views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation h2.wrapperTitle.webform-confirmation__message,
  .views-exposed-form.block-formespostosearchsearch-page form .webform-confirmation .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.webform-confirmation__message, .documentsViews.viewRisultatiPresentazioni .paragraph--type--linkers h2.wrapperTitle.field--name-field-titolo, .paragraph--type--linkers .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.field--name-field-titolo, .documentsViews.viewRisultatiPresentazioni .paragraph--type--documents-wrapper h2.wrapperTitle.field--name-field-titolo, .paragraph--type--documents-wrapper .documentsViews.viewRisultatiPresentazioni h2.wrapperTitle.field--name-field-titolo {
    margin-bottom: 40px;
  }
}

.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form {
  margin-bottom: 20px;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .fieldset-wrapper {
  width: 100%;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios ul {
  width: 100%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -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;
  text-align: center;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios li {
  margin: 0 0 10px 0;
  list-style: none;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios .js-form-item {
  margin: 0;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios .js-form-type-radio input[type=radio] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  margin: 0;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios .js-form-type-radio label {
  position: relative;
  display: block;
  margin: 0;
  padding: 12px 15px;
  cursor: pointer;
  background: #F6D1C0;
  border-radius: 20px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 0.7rem;
  line-height: 0.8rem;
  color: #000000;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios .js-form-type-radio input[type=radio]:checked + label {
  background: #3D3D3D;
  color: #ffffff;
}
.viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios .js-form-type-radio input[type=radio]:focus-visible + label {
  outline: 2px solid #007ACC;
  outline-offset: 1px;
}
@media print, screen and (min-width: 40em) {
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
}
@media print, screen and (min-width: 40em) {
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .fieldset-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
  }
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .fieldset-wrapper > div {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 1.5rem);
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .form-radios li {
    margin: 0 10px 10px 10px;
  }
}
@media print, screen and (min-width: 64em) {
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake {
    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;
  }
  .viewManager.viewConsiglioAmministrazioneComitati .bef-exposed-form .form-composite.fieldset-fake .fieldset-wrapper > div {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 83.3333333333%;
    margin-left: calc(8.3333333333% + 1rem / 2);
  }
}

.viewManager.viewNote .views-field-field-note {
  margin-bottom: 0;
}

.nodeHeader .field--name-field-header-text p:last-of-type {
  margin-bottom: 0;
}
.nodeHeader .cell.small-12 > div:first-child {
  margin-bottom: 40px;
}
.nodeHeader .cell.small-12 > div:last-child {
  margin-bottom: 50px;
}

.node-content.node-download-files,
.media.media--type-document.media--view-mode-download-item {
  position: relative;
}
.node-content.node-download-files .documentWrapper, .node-content.node-download-files .mediaWrapper,
.media.media--type-document.media--view-mode-download-item .documentWrapper,
.media.media--type-document.media--view-mode-download-item .mediaWrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 15px 0;
  border-bottom: 1px solid #3D3D3D;
}
.node-content.node-download-files .field--name-field-publishing-date,
.media.media--type-document.media--view-mode-download-item .field--name-field-publishing-date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.node-content.node-download-files .mediaLink a, .node-content.node-download-files .mediaSize,
.media.media--type-document.media--view-mode-download-item .mediaLink a,
.media.media--type-document.media--view-mode-download-item .mediaSize {
  margin: 0;
  color: #000000;
}
.node-content.node-download-files .mediaLink,
.media.media--type-document.media--view-mode-download-item .mediaLink {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-bottom: 8px;
}
.node-content.node-download-files .mediaLink a,
.media.media--type-document.media--view-mode-download-item .mediaLink a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 700;
}
.node-content.node-download-files .mediaLink .field--name-body,
.media.media--type-document.media--view-mode-download-item .mediaLink .field--name-body {
  margin-top: 10px;
}
.node-content.node-download-files .mediaLink .field--name-body p:last-of-type,
.media.media--type-document.media--view-mode-download-item .mediaLink .field--name-body p:last-of-type {
  margin-bottom: 0;
}
.node-content.node-download-files .mediaSize,
.media.media--type-document.media--view-mode-download-item .mediaSize {
  margin: 0;
  text-transform: uppercase;
}
.node-content.node-download-files .mediaIco,
.media.media--type-document.media--view-mode-download-item .mediaIco {
  margin-left: 12px;
}
.node-content.node-download-files .mediaIco span,
.media.media--type-document.media--view-mode-download-item .mediaIco span {
  color: #3D3D3D;
}
.node-content.node-download-files .mediaIco span:before,
.media.media--type-document.media--view-mode-download-item .mediaIco span:before {
  font-size: 24px;
  line-height: 24px;
}
@media print, screen and (min-width: 40em) {
  .node-content.node-download-files .documentWrapper, .node-content.node-download-files .mediaWrapper,
  .media.media--type-document.media--view-mode-download-item .documentWrapper,
  .media.media--type-document.media--view-mode-download-item .mediaWrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .node-content.node-download-files .field--name-field-publishing-date,
  .media.media--type-document.media--view-mode-download-item .field--name-field-publishing-date {
    -ms-flex-preferred-size: 190px;
        flex-basis: 190px;
  }
  .node-content.node-download-files .mediaInfos,
  .media.media--type-document.media--view-mode-download-item .mediaInfos {
    -ms-flex-preferred-size: 174px;
        flex-basis: 174px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .node-content.node-download-files .mediaLink,
  .media.media--type-document.media--view-mode-download-item .mediaLink {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    margin-bottom: 0;
  }
  .node-content.node-download-files .mediaSize,
  .media.media--type-document.media--view-mode-download-item .mediaSize {
    -ms-flex-preferred-size: 120px;
        flex-basis: 120px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin: 0 0 0 auto;
    text-align: right;
    white-space: nowrap;
  }
}
@media print, screen and (min-width: 64em) {
  .node-content.node-download-files .mediaLink a:hover,
  .media.media--type-document.media--view-mode-download-item .mediaLink a:hover {
    color: #3D3D3D;
    text-decoration: underline;
  }
}

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

.media.media--type-document.media--view-mode-download-item .mediaWrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media print, screen and (min-width: 40em) {
  .media.media--type-document.media--view-mode-download-item .mediaWrapper {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

article.media .field--name-field-media-svg svg {
  max-width: 100%;
  height: auto;
}

.page-node-type-page.pageError .node-content.node-type-page {
  padding-top: 180px;
  padding-bottom: 100px;
}
.page-node-type-page.pageError .node-content.node-type-page h2 {
  margin-bottom: 0;
  font-size: 10rem;
  line-height: 8rem;
  color: #3D3D3D;
}
.page-node-type-page.pageError .node-content.node-type-page h3 {
  margin-bottom: 40px;
}

.pressContent.node-view-mode-full .gridHeader {
  margin-top: 65px;
  margin-bottom: 40px;
}
.pressContent.node-view-mode-full .gridHeader .field--name-field-publishing-date {
  margin-bottom: 10px;
  font-weight: 500;
}
.pressContent.node-view-mode-full .gridHeader h1 {
  margin-bottom: 20px;
}
.pressContent.node-view-mode-full .gridHeader .cellBack {
  margin-top: 20px;
  margin-bottom: 20px;
}
.pressContent.node-view-mode-full .gridHeader .cellBack a.link-arrow-back {
  margin: 0 10px;
}
.pressContent.node-view-mode-full .gridHeader .cellBack a.link-arrow-back:after {
  margin-right: 5px;
}
.pressContent.node-view-mode-full .cellDocuments {
  margin-bottom: 50px;
}

.node-content.node-type-g24-racconto.node-view-mode-teaser-big {
  position: relative;
  background: #ffffff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser-big .cellCover {
  position: relative;
  aspect-ratio: 9/5;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser-big .cellText {
  position: relative;
  padding: 20px 10px;
  padding-bottom: 58px;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-field-publishing-date {
  margin-bottom: 10px;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser-big a.cntTitle {
  display: block;
  margin-bottom: 20px;
  color: #000000;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-body {
  margin-bottom: 0;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser-big .field--name-body p:last-of-type {
  margin-bottom: 0;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser-big a.btn-square {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media print, screen and (min-width: 40em) {
  .node-content.node-type-g24-racconto.node-view-mode-teaser-big .cellText {
    padding: 40px 15px;
    padding-bottom: 68px;
  }
}
@media print, screen and (min-width: 64em) {
  .node-content.node-type-g24-racconto.node-view-mode-teaser-big .cellCover {
    aspect-ratio: auto;
  }
  .node-content.node-type-g24-racconto.node-view-mode-teaser-big .cellText {
    padding: 80px 0;
  }
  .node-content.node-type-g24-racconto.node-view-mode-teaser-big:hover {
    background: #3D3D3D;
  }
  .node-content.node-type-g24-racconto.node-view-mode-teaser-big:hover .cellText, .node-content.node-type-g24-racconto.node-view-mode-teaser-big:hover a.cntTitle {
    color: #ffffff;
  }
  .node-content.node-type-g24-racconto.node-view-mode-teaser-big:hover a.btn-square:before {
    left: 30px;
  }
}

.node-content.pressHp-evidenza .cntHeader {
  position: relative;
}
.node-content.pressHp-evidenza a.linkCover {
  display: block;
}
.node-content.pressHp-evidenza span.icn-play {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background: #3D3D3D;
  border-radius: 100%;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
  color: #ffffff;
}
.node-content.pressHp-evidenza span.icn-play:before {
  margin-left: 5px;
  font-size: 20px;
  line-height: 50px;
}
.node-content.pressHp-evidenza .cntTexts {
  position: relative;
  padding: 20px 20px 58px 20px;
  background: #ffffff;
}
.node-content.pressHp-evidenza label.lblType, .node-content.pressHp-evidenza .field--name-field-publishing-date {
  color: #000000;
}
.node-content.pressHp-evidenza label.lblType {
  margin-bottom: 10px;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
}
.node-content.pressHp-evidenza .field--name-field-publishing-date {
  margin-bottom: 20px;
  color: #000000;
}
.node-content.pressHp-evidenza .cntTitle {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 1.9rem;
  line-height: 2.4rem;
  color: #000000;
}
.node-content.pressHp-evidenza .btn-square {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media print, screen and (min-width: 40em) {
  .node-content.pressHp-evidenza .cellText {
    padding-bottom: 68px;
  }
}
@media print, screen and (min-width: 64em) {
  .node-content.pressHp-evidenza .cntTexts {
    padding: 30px 30px 80px 30px;
  }
  .node-content.pressHp-evidenza span.icn-play:hover {
    background: #ffffff;
    color: #3D3D3D;
  }
  .node-content.pressHp-evidenza:not(.node-type-g24-racconto) a.cntLink:hover .cntTitle {
    color: #3D3D3D;
  }
}
@media screen and (min-width: 80em) {
  .node-content.pressHp-evidenza .cntTexts {
    padding: 40px 40px 80px 40px;
  }
}

.node-content.node-type-g24-racconto.node-view-mode-entityqueue-hp .cntTexts {
  background: #000000;
}
.node-content.node-type-g24-racconto.node-view-mode-entityqueue-hp label.lblType, .node-content.node-type-g24-racconto.node-view-mode-entityqueue-hp .field--name-field-publishing-date {
  color: #ffffff;
}
.node-content.node-type-g24-racconto.node-view-mode-entityqueue-hp .cntTitle {
  color: #ffffff;
}

.pressArtPr.node-view-mode-teaser {
  position: relative;
  height: 100%;
  background: #ffffff;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.pressArtPr.node-view-mode-teaser .cntHeader {
  position: relative;
}
.pressArtPr.node-view-mode-teaser a.linkCover {
  display: block;
}
.pressArtPr.node-view-mode-teaser .cntTexts {
  padding: 20px 20px 30px 20px;
}
.pressArtPr.node-view-mode-teaser label.lblType, .pressArtPr.node-view-mode-teaser .field--name-field-publishing-date {
  margin-bottom: 10px;
}
.pressArtPr.node-view-mode-teaser label.lblType {
  font-weight: 500;
  text-transform: uppercase;
}
.pressArtPr.node-view-mode-teaser a.cntTitle {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 400;
  font-size: 1.1rem;
  line-height: 1.4rem;
  color: #000000;
}
.pressArtPr.node-view-mode-teaser .cntFooter {
  padding: 0 20px 20px 20px;
}
.pressArtPr.node-view-mode-teaser .field--name-field-media-documents .mediaLink a {
  margin-bottom: 0;
  font-family: "sole_display";
  font-weight: 800;
}
.pressArtPr.node-view-mode-teaser .field--name-field-media-documents .mediaLink a:hover {
  text-decoration: underline;
}
.pressArtPr.node-view-mode-teaser .field--name-field-media-documents span {
  margin-left: 5px;
}
.pressArtPr.node-view-mode-teaser .field--name-field-media-documents span:before {
  font-size: 16px;
  line-height: 16px;
}
@media print, screen and (min-width: 64em) {
  .pressArtPr.node-view-mode-teaser a.cntTitle:hover {
    color: #3D3D3D;
    text-decoration: underline;
  }
}

.node-content.node-type-press-release.node-view-mode-teaser {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.node-content.node-type-article.node-view-mode-teaser {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.node-content.node-type-g24-racconto.node-view-mode-teaser {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  background: #000000;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser label.lblType, .node-content.node-type-g24-racconto.node-view-mode-teaser .field--name-field-publishing-date {
  color: #ffffff;
}
.node-content.node-type-g24-racconto.node-view-mode-teaser a.cntTitle {
  color: #ffffff;
}
@media print, screen and (min-width: 64em) {
  .node-content.node-type-g24-racconto.node-view-mode-teaser a.cntTitle:hover {
    color: #F7D2AF;
  }
}

.node-content.node-type-press-release.node-view-mode-teaser-alternate {
  position: relative;
  background: #ffffff;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate .documentWrapper {
  padding: 20px;
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate .wrpTop {
  margin-bottom: 20px;
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-type, .node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-publishing-date {
  margin: 0;
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-type {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #3D3D3D;
  font-weight: 500;
  text-transform: uppercase;
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate .wrpBot {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaLink a {
  margin: 0 0 20px 0;
  color: #000000;
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaInfo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  margin: 0;
  font-family: "sole_display";
  font-weight: 700;
  color: #3D3D3D;
}
.node-content.node-type-press-release.node-view-mode-teaser-alternate span[class^=icn-]:before {
  font-size: 24px;
  line-height: 24px;
}
@media print, screen and (max-width: 39.99875em) {
  .node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaInfo {
    margin-top: 30px;
    text-align: right;
  }
}
@media print, screen and (min-width: 40em) {
  .node-content.node-type-press-release.node-view-mode-teaser-alternate .wrpTop {
    margin-bottom: 30px;
  }
  .node-content.node-type-press-release.node-view-mode-teaser-alternate .field--name-field-type {
    margin-right: 20px;
    padding-right: 20px;
  }
  .node-content.node-type-press-release.node-view-mode-teaser-alternate .wrpBot {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaLink {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 20px 0 0;
  }
}
@media print, screen and (min-width: 64em) {
  .node-content.node-type-press-release.node-view-mode-teaser-alternate .mediaLink a:hover {
    color: #3D3D3D;
  }
}

.nodeTypeIcons.flexIcons {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
}
.nodeTypeIcons.flexIcons .flexIcon {
  width: 50px;
  height: 50px;
  margin-left: 5px;
  background: #F7D2AF;
  text-align: center;
}
.nodeTypeIcons.flexIcons span {
  display: inline-block;
  vertical-align: top;
}
.nodeTypeIcons.flexIcons span:before {
  font-size: 24px;
  line-height: 50px;
}

.node-content.node-type-manager.node-view-mode-full .teaserWrapper .field--name-field-cover img,
.node-content.node-type-manager.node-view-mode-teaser .teaserWrapper .field--name-field-cover img {
  width: 100%;
}
.node-content.node-type-manager.node-view-mode-full .teaserWrapper .textWrapper,
.node-content.node-type-manager.node-view-mode-teaser .teaserWrapper .textWrapper {
  padding: 20px 20px 60px 20px;
}
.node-content.node-type-manager.node-view-mode-full .teaserWrapper h2, .node-content.node-type-manager.node-view-mode-full .teaserWrapper p,
.node-content.node-type-manager.node-view-mode-teaser .teaserWrapper h2,
.node-content.node-type-manager.node-view-mode-teaser .teaserWrapper p {
  margin-bottom: 0;
}
.node-content.node-type-manager.node-view-mode-full .teaserWrapper p.managerRole,
.node-content.node-type-manager.node-view-mode-teaser .teaserWrapper p.managerRole {
  margin-bottom: 20px;
}
.node-content.node-type-manager.node-view-mode-full .managerPopup,
.node-content.node-type-manager.node-view-mode-teaser .managerPopup {
  display: none;
}

.fancybox-container.fancyManager .grid-container {
  padding-top: 40px;
  padding-bottom: 20px;
}
.fancybox-container.fancyManager .managerPopup {
  background: #ffffff;
}
.fancybox-container.fancyManager .managerName {
  margin-bottom: 0;
}
.fancybox-container.fancyManager p.managerRole {
  margin-bottom: 0;
}
.fancybox-container.fancyManager .managerPopupBottom {
  margin-top: 40px;
}
.fancybox-container.fancyManager .field--name-body p:last-of-type {
  margin-bottom: 0;
}
.fancybox-container.fancyManager .field--name-field-attachment {
  margin-top: 20px;
}
@media print, screen and (max-width: 63.99875em) {
  .fancybox-container.fancyManager .managerName {
    font-size: 1.5rem;
    line-height: 2.1rem;
  }
}
@media print, screen and (min-width: 64em) {
  .fancybox-container.fancyManager .grid-container {
    width: 100%;
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .fancybox-container.fancyManager .field--name-field-attachment {
    margin-top: 40px;
  }
}

.node-content.node-type-event .eventIcn {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  font-weight: 700;
  text-shadow: none;
}
.node-content.node-type-event .eventIcn span.addeventatc_icon {
  display: none;
}
.node-content.node-type-event .eventIcn span.icn-calendar:before {
  font-size: 16px;
  line-height: 16px;
  color: #3D3D3D;
}
.node-content.node-type-event .eventPast {
  opacity: 0.5;
}

.node-content.node-type-event.node-view-mode-teaser {
  position: relative;
}
.node-content.node-type-event.node-view-mode-teaser .eventWrapper {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #3D3D3D;
}
.node-content.node-type-event.node-view-mode-teaser .eventDate {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 150px;
  min-height: 150px;
  margin-right: 10px;
  padding: 10px 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#EFBCA9), to(#F5E5D5));
  background-image: linear-gradient(180deg, #EFBCA9 0%, #F5E5D5 100%);
  -webkit-box-shadow: inset 0 60px 83px 0 rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 60px 83px 0 rgba(0, 0, 0, 0.05);
  text-align: center;
}
.node-content.node-type-event.node-view-mode-teaser .eventDate .edDay, .node-content.node-type-event.node-view-mode-teaser .eventDate .edMonth, .node-content.node-type-event.node-view-mode-teaser .eventDate .edYear {
  display: block;
}
.node-content.node-type-event.node-view-mode-teaser .eventDate .edDay {
  margin: 0;
}
.node-content.node-type-event.node-view-mode-teaser .eventDate .edMonth, .node-content.node-type-event.node-view-mode-teaser .eventDate .edYear {
  margin: 0;
}
.node-content.node-type-event.node-view-mode-teaser .eventSide {
  width: calc(100% - 160px);
  padding: 10px 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.node-content.node-type-event.node-view-mode-teaser .eventTitle {
  margin: 0;
  font-family: "sole_display";
  font-size: 1.4rem;
  line-height: 2rem;
}
.node-content.node-type-event.node-view-mode-teaser .eventCalendar {
  width: 100%;
  text-align: right;
}
.node-content.node-type-event.node-view-mode-teaser .eventCalendar .evLbl {
  margin: 0;
  font-weight: 700;
  color: #3D3D3D;
}
@media print, screen and (min-width: 40em) {
  .node-content.node-type-event.node-view-mode-teaser .eventWrapper {
    padding: 0;
  }
  .node-content.node-type-event.node-view-mode-teaser .eventSide {
    -ms-flex-item-align: center;
        align-self: center;
  }
  .node-content.node-type-event.node-view-mode-teaser .eventTitle {
    font-size: 1.6rem;
    line-height: 2.1rem;
  }
}
@media print, screen and (min-width: 64em) {
  .node-content.node-type-event.node-view-mode-teaser .eventSide {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .node-content.node-type-event.node-view-mode-teaser .eventTitle {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .node-content.node-type-event.node-view-mode-teaser .eventCalendar {
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.brightcove-video.brightcove-video-view-mode-default .videoPlayer {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.brightcove-video.brightcove-video-view-mode-default .videoPlayer .vjs-big-play-button {
  background-color: #3D3D3D;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR0X2ZvdW5kYXRpb24uY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImJhc2UvX2RydXBhbC5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX2ljb25zLnNjc3MiLCJiYXNlL190eXBvX3J1bGVzLnNjc3MiLCJiYXNlL19taXhpbnMuc2NzcyIsImJhc2UvX2VsZW1lbnRzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19saW5rcy5zY3NzIiwidmVuZG9ycy9faGFtYnVyZ2Vycy5zY3NzIiwidmVuZG9ycy9oYW1idXJnZXJzL19oYW1idXJnZXJzLnNjc3MiLCJ2ZW5kb3JzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsInZlbmRvcnMvaGFtYnVyZ2Vycy9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3JzL2hhbWJ1cmdlcnMvYW5pbWF0aW9ucy9fc3Bpbi5zY3NzIiwidmVuZG9ycy9fb3V0ZGF0ZWQtYnJvd3Nlci5zY3NzIiwidmVuZG9ycy9fZmFuY3lib3guc2NzcyIsInZlbmRvcnMvX3N3aXBlci5zY3NzIiwidmVuZG9ycy9fc2VsZWN0Mi5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fbWFpbi5zY3NzIiwibGF5b3V0L19tbWVudS5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fc3BhY2Vycy5zY3NzIiwibGF5b3V0L19zZWFyY2guc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19iYXNpY19ibG9ja3Muc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19icmVhZGNydW1icy5zY3NzIiwibW9kdWxlcy9ibG9ja3MvX2xhbmd1YWdlLnNjc3MiLCJtb2R1bGVzL2Jsb2Nrcy9fc3RhdGljLnNjc3MiLCJtb2R1bGVzL2Jsb2Nrcy9fc3Rha2Vob2xkZXJfZW5nYWdlbWVudC5zY3NzIiwibW9kdWxlcy9mb3Jtcy9fZ2xvYmFsLnNjc3MiLCJtb2R1bGVzL2Zvcm1zL19sb2dpbi5zY3NzIiwibW9kdWxlcy9mb3Jtcy9fZGlzY2xhaW1lci5zY3NzIiwibW9kdWxlcy9tZW51cy9fdGJtZWdhbWVudS5zY3NzIiwibW9kdWxlcy9tZW51cy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL21lbnVzL19hcmNoaXZlLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2NvbW1vbi5zY3NzIiwibW9kdWxlcy9wYXJhZ3JhcGhzL19hY2NvcmRpb25zX3RhYnMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fd3JhcHBlcnMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fdGV4dHVhbHMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fc2xpZGVycy5zY3NzIiwibW9kdWxlcy9wYXJhZ3JhcGhzL19iYW5uZXJzLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2VtYmVkLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX290aGVycy5zY3NzIiwibW9kdWxlcy92aWV3cy9fY29tbW9uLnNjc3MiLCJtb2R1bGVzL3ZpZXdzL19wcmVzcy5zY3NzIiwibW9kdWxlcy92aWV3cy9fZG9jdW1lbnRzLnNjc3MiLCJtb2R1bGVzL3ZpZXdzL19tYW5hZ2VyLnNjc3MiLCJjb250ZW50X3R5cGVzL19jb21tb24uc2NzcyIsImNvbnRlbnRfdHlwZXMvX21lZGlhLnNjc3MiLCJjb250ZW50X3R5cGVzL19wYWdlcy5zY3NzIiwiY29udGVudF90eXBlcy9fcHJlc3Muc2NzcyIsImNvbnRlbnRfdHlwZXMvX21hbmFnZXIuc2NzcyIsImNvbnRlbnRfdHlwZXMvX2V2ZW50cy5zY3NzIiwiY29udGVudF90eXBlcy9fYnJpZ2h0Y292ZV92aWRlby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RUFBQTtBQ0dFLDJFQUFBO0FBUUE7RUFDRSxpQkFBQTtFQUNBLDhCQUFBO0FGRko7O0FFVUU7RUFDRSxTQUFBO0FGUEo7O0FFYUU7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QUZWSjs7QUVt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YztFR3BYZCx5QkhrWGE7RUdqWGIsZ0JIRmM7RUdHZCx5QkhkTTtFR2VOLHNESGtYYTtVR2xYYiw4Q0hrWGE7RUdoWGIsb0JIc1drQjtFR3JXbEIsaUJIc1dnQjtFR3JXaEIsbUJIVnFCO0VHV3JCLGdCSGhDa0I7RUdpQ2xCLGNIdEJNO0VHeUJKLDJFSDRXZTtFRzVXZixtRUg0V2U7RUc1V2YsMkRINFdlO0VHNVdmLG9GSDRXZTtFR3ZWZix3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7QVBvTEo7QU9yTUU7O0VBQ0UsYUFBQTtFQUNBLHlCSGlXaUI7RUdoV2pCLHlCSC9CSTtFR2dDSixtQ0hrV2lCO1VHbFdqQiwyQkhrV2lCO0VHL1ZmLDJFSGlXYTtFR2pXYixtRUhpV2E7RUdqV2IsMkRIaVdhO0VHaldiLG9GSGlXYTtBSjNKbkI7O0FPeExFO0VBQ0UsZUFBQTtBUDJMSjtBT3pMSTtFQUNFLFlBQUE7QVAyTE47O0FPcExJOzs7RUFFRSx5QkhsRU87RUdtRVAsbUJIb1VrQjtBSjVJeEI7O0FPbkxFOztFQUVFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLGdCSDVEWTtBSmtQaEI7O0FPbExFO0VBQ0UsOEJBQUE7VUFBQSxzQkFBQTtBUHFMSjs7QU9wS0U7RUFDRSxjSGpHVTtBSndRZDs7QU94S0U7RUFDRSxjSGpHVTtBSndRZDs7QU94S0U7RUFDRSxjSGpHVTtBSndRZDs7QU94S0U7RUFDRSxjSGpHVTtBSndRZDs7QU94S0U7RUFDRSxjSGpHVTtBSndRZDs7QVE5VUU7OztFQUdFLGtCQUFBO0FSaVZKOztBUTdVRTs7RUFFRSxxQkFBQTtFQUNBLHdCQUFBO0VBRUEsbUJBQUE7RUFDQSxvQkprYVc7RUlqYVgsZ0JBQUE7QVIrVUo7QVE3VUk7O0VBQ0UsZUFBQTtBUmdWTjs7QVEzVUU7O0VBRUUsb0JBQUE7QVI4VUo7O0FRMVVFO0VBQ0UsV0FBQTtBUjZVSjs7QVN4VUU7RUFsQkEsY0FBQTtFQUNBLFNBQUE7RUFFQSxpQkxxYXFCO0VLcGFyQixtQkw4RHFCO0VLN0RyQixnQkxxYXVCO0VLcGF2QixjTGtETTtBSjJTUjtBUzlVSTtFQVRGLGtCQUFBO0VBQ0EsZ0JMZ0NrQjtFSy9CbEIsa0JBQUE7QVQwVkY7O0FVNVdFO0VBR0UsbUJBRmE7RUFHYixrQk5pYWlCO0VNaGFqQixrQk5pYWtCO0VNaGFsQixjTnNESTtBSnVUUjs7QVc5V0U7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLFdBQUE7RUFDQSxxQlAyWlc7RU94WlQsMEJBQUE7TUFBQSx1QkFBQTtVQUFBLG9CQUFBO0FYK1dOO0FXM1dNO0VBQ0Usc0JBQUE7QVg2V1I7QVd4V007RUFDRSxzQkFBQTtBWDBXUjs7QVdyV0U7Ozs7RUFDRSxTQUFBO0VBQ0EsbUJBQUE7QVgyV0o7O0FXbldFO0VBRUUsZUFBQTtFQUNBLHlCUGlZa0I7RU9oWWxCLG1CUGdCUztFT2RULGNQaUJJO0VPaEJKLGtCQUFBO0VBQ0EsbUJBQUE7RUFHRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0FYa1dOO0FXMVZNO0VBQ0UsZUFBQTtBWDRWUjtBV3pWTTtFQUNFLGNBQUE7QVgyVlI7O0FXdFZFO0VBRUUsZ0JBQUE7RUFHRSxtQkFBQTtNQUFBLGlCQUFBO1VBQUEsYUFBQTtFQUNBLFlBQUE7QVhzVk47O0FXbFZFO0VBRUUsY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFHRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0FYa1ZOO0FXM1VJOzs7O0VBT0ksNEJBQUE7TUFBQSxtQkFBQTtFQUNBLFlBQUE7RUFLRixjQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQlB5VVk7QUpIbEI7O0FZamFFO0VBQ0UsU0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0Fab2FKOztBWWphRTtFQUNFLGVBQUE7RUFDQSxxQkFBQTtBWm9hSjs7QVlqYUU7RUF4QkEsZ0JSNlpnQjtFUTVaaEIsYVIyWmlCO0VRMVpqQix5QlJ5WmdCO0FKb0NsQjtBWTNiRTtFQUVFLFNBQUE7RUFDQSxxQkFBQTtFQUNBLGtCUnNaYTtBSnNDakI7O0FhdllFO0VBL0RBLGVBRlM7RUFHVCxrQkFBQTtFQUNBLGVUeWJjO0VTdmJkLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLHlCVG9iYTtFU25iYixnQlRnRWM7RVMvRGQseUJUb0RNO0VTbEROLG9CVHlha0I7RVN4YWxCLGlCVHlhZ0I7RVN4YWhCLG1CVHlEcUI7RVN4RHJCLGdCVG1Da0I7RVNsQ2xCLGNUNkNNO0VFcUVOLHdPQUFBO0VPOUdFLDhCQUFBO0VBQ0EseUNBQUE7RUFDQSw0QkFBQTtFQUNBLHdCQUFBO0VBRUEscUJBQUE7RUFJQSwyRVRxYWU7RVNyYWYsbUVUcWFlO0VTcmFmLDJEVHFhZTtFU3JhZixvRlRxYWU7QUo2Qm5CO0FNM1ZFO0VPbEVBO0lQcUVJLHVXQUFBO0VONFZKO0FBQ0Y7QWFuY0U7RUFDRSxhQUFBO0VBQ0EseUJUMFppQjtFU3paakIseUJUMEJJO0VTekJKLG1DVDJaaUI7VVMzWmpCLDJCVDJaaUI7RVN4WmYsMkVUMFphO0VTMVpiLG1FVDBaYTtFUzFaYiwyRFQwWmE7RVMxWmIsb0ZUMFphO0FKeUNuQjtBYTliRTtFQUNFLHlCVFlTO0VTWFQsbUJUa1pvQjtBSjhDeEI7QWE1YkU7RUFDRSxhQUFBO0FiOGJKO0FhM2JFO0VBQ0UsWUFBQTtFQUNBLHNCQUFBO0FiNmJKO0FhM2JFO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FiNmJKOztBY2xlRTtFQUNFLHFCVnlMdUI7RVV4THZCLHNDQUFBO0FkcWVKO0FjbmVJO0VBQ0UsY1ZxTHFCO0FKZ1QzQjtBY3RlSTtFQUNFLGNWcUxxQjtBSmdUM0I7QWN0ZUk7RUFDRSxjVnFMcUI7QUpnVDNCO0FjdGVJO0VBQ0UsY1ZxTHFCO0FKZ1QzQjtBY3RlSTtFQUNFLGNWcUxxQjtBSmdUM0I7O0FjM2NJO0VBQ0UsY1YySnFCO0FKbVQzQjs7QWN6Y0U7RUF6QkEsYUFBQTtFQUNBLG1CQUFBO0VBQ0EscUJWOFhhO0VVNVhiLGlCVjZLc0I7RVU1S3RCLGdCVGhEWTtFU2lEWixjVjBLa0I7QUoyVHBCO0FjL2NJO0VBQ0UsY0FBQTtBZGlkTjs7QWVuVUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBQTtFQUNBLFVBQUE7QWZzVUo7O0FlbFVFO0VBQ0UsbUJYaEZzQjtFV2tGdEIsa0JBQUE7RUFDQSxnQlhwRm1CO0VXcUZuQixrQ1huRnVCO0FKdVozQjs7QWVoVUU7O0VBRUUsa0JBQUE7RUFDQSxvQkFBQTtBZm1VSjs7QWUvVEU7O0VBRUUsZ0JWaFFVO0VVaVFWLG9CQUFBO0Fma1VKOztBZTlURTtFQUNFLGNYMUdjO0VXMkdkLG9CQUFBO0FmaVVKOztBZTdURTs7Ozs7O0VBTUUsbUNWMVJZO0VVMlJaLGtCWDdJZ0I7RVc4SWhCLGdCVm5SVTtFVW9SVixjWDdJVztFVzhJWCxrQ1gxSG9CO0FKMGJ4QjtBZTlUSTs7Ozs7O0VBQ0UsY0FBQTtFQUNBLGNYdk5RO0FKNGhCZDs7QWU1VFE7RUFPSSxpQkFEaUI7RUFRakIsa0JBQUE7RUFVQSxhQUFBO0VBT0EscUJBQUE7QWZvU1o7O0FlblVRO0VBT0ksaUJBRGlCO0VBUWpCLHlCQUFBO0VBVUEsYUFBQTtFQU9BLHFCQUFBO0FmMlNaOztBZTFVUTtFQU9JLGlCQURpQjtFQVFqQixpQkFBQTtFQVVBLGFBQUE7RUFPQSxxQkFBQTtBZmtUWjs7QWVqVlE7RUFPSSxpQkFEaUI7RUFRakIseUJBQUE7RUFVQSxhQUFBO0VBT0EscUJBQUE7QWZ5VFo7O0FleFZRO0VBT0ksaUJBRGlCO0VBUWpCLHlCQUFBO0VBVUEsYUFBQTtFQU9BLHFCQUFBO0FmZ1VaOztBZS9WUTtFQU9JLGlCQURpQjtFQVFqQix5QkFBQTtFQVVBLGFBQUE7RUFPQSxxQkFBQTtBZnVVWjs7QWdCbGVRO0VENEhBO0lBT0ksaUJBRGlCO0lBUWpCLGtCQUFBO0lBZUEsbUJBQUE7RWZnVlY7RWU3V007SUFPSSxpQkFEaUI7SUFRakIsa0JBQUE7SUFlQSxtQkFBQTtFZnFWVjtFZWxYTTtJQU9JLGlCQURpQjtJQVFqQixtQkFBQTtJQWVBLG1CQUFBO0VmMFZWO0VldlhNO0lBT0ksaUJBRGlCO0lBUWpCLGlCQUFBO0lBZUEscUJBQUE7RWYrVlY7QUFDRjtBZXRWRTtFQUNFLG9CQUFBO0VBQ0EsY0UvTmdCO0VGZ09oQixxQlh4S3FCO0VXMEtyQixlQUFBO0FmdVZKO0FlclZJO0VBRUUsK0JYL0tlO0FKcWdCckI7QWVoVkk7RUFDRSxTQUFBO0Fma1ZOOztBZTdVRTtFQUNFLFdBQUE7RUFFQSxnQlh6U1c7RVcwU1gsU0FBQTtFQUNBLGlCWDNMUTtFVzZMUixhQUFBO0VBQ0EsZUFBQTtFQUNBLGdDWGhNUTtFV2lNUixjQUFBO0FmOFVKOztBZTFVRTs7O0VBR0UsbUJYaE5zQjtFV2lOdEIsNEJYcE1rQjtFV3FNbEIsZ0JYbk5tQjtBSmdpQnZCOztBZXpVRTtFQUNFLGtCQUFBO0FmNFVKOztBZXhVRTtFQUNFLG9CWDlNZTtFVytNZixxQlhqTmM7QUo0aEJsQjs7QWV2VUU7RUFDRSxvQlhwTmU7QUo4aEJuQjs7QWVyVUk7RUFDRSxvQlh6Tm9CO0VXME5wQixnQkFBQTtBZndVTjs7QWVuVUU7RUFDRSxtQlgvTnFCO0FKcWlCekI7QWVwVUk7RUFDRSxxQlhoT3dCO0VXaU94QixnQlZsWlE7QUx3dEJkOztBZWpVRTtFQUNFLGdCQUFBO0VBQ0EsK0JYdE9pQjtFV3VPakIsOEJYdE9nQjtBSjBpQnBCO0FlbFVJO0VBQ0UsZ0JYL1BpQjtFV2dRakIsY1gzVk07QUorcEJaOztBZXRURTtFQUNFLGlDWGxQYTtFV21QYixZQUFBO0VBQ0EscUJBQUE7QWZ5VEo7O0FlclRFO0VBQ0UsU0FBQTtBZndUSjs7QWU3U0U7RUFDRSxTQUFBO0VBQ0Esd0JYeFFnQjtFVzBRaEIseUJYbFlTO0VXb1lULDREWC9Ub0I7RVdnVXBCLGNYbFlJO0FKZ3JCUjs7QWtCNW5CRTtFQUNFLGtCZDRFbUI7RWMzRW5CLHFCZDRFc0I7RWMxRXRCLG1CZDlDbUI7RWMrQ25CLGdCZHFFbUI7RWNwRW5CLGNkM0RRO0FKeXJCWjs7QWtCMW5CRTtFQUNFLGVkNkRhO0VjNURiLGdCZDZEYztBSmdrQmxCOztBa0J6bkJFO0VBQ0UsaUJkOERhO0VjN0RiLGNBQUE7QWxCNG5CSjtBa0IxbkJJO0VBQ0UsaUJBQUE7QWxCNG5CTjs7QWtCdG5CSTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBbEJ5bkJOOztBa0JybkJFO0VBakZBLGNBQUE7RUFDQSxjZE5VO0VjT1Ysa0JkK0hlO0FKMmtCakI7QWtCeHNCRTtFQUNFLGFkNkhrQjtBSjZrQnRCOztBa0J0bkJFO0VBN0VBLHlCZDJIWTtFYzFIWix5QmRwQlc7RWNzQlgsNERkK0NzQjtFYzlDdEIsbUJkVnFCO0VjV3JCLGNkckJNO0VjMkJOLGVBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7RUFFQSwrQmQ2R2E7QUptbEJmOztBa0J6bkJFO0VBdEZBLHlCZDJIWTtFYzFIWix5QmRwQlc7RWNzQlgsNERkK0NzQjtFYzlDdEIsbUJkVnFCO0VjV3JCLGNkckJNO0VjcUNOLGNBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFFQSxhZG9HbUI7RWNuR25CLHFCZG9HeUI7QUo4bEIzQjs7QW1CL3lCVTtFQUNFLGdCQVJVO0FuQjB6QnRCOztBbUJuekJVO0VBQ0UsaUJBUlU7QW5COHpCdEI7O0FtQnZ6QlU7RUFDRSxrQkFSVTtBbkJrMEJ0Qjs7QW1CM3pCVTtFQUNFLG1CQVJVO0FuQnMwQnRCOztBZ0IxcEJRO0VHMUtFO0lBQ0UsZ0JBSFU7RW5CMjBCcEI7RW1CejBCUTtJQUNFLGlCQUhVO0VuQjgwQnBCO0VtQjUwQlE7SUFDRSxrQkFIVTtFbkJpMUJwQjtFbUIvMEJRO0lBQ0UsbUJBSFU7RW5CbzFCcEI7QUFDRjtBZ0J6cUJRO0VHMUtFO0lBQ0UsZ0JBSFU7RW5CeTFCcEI7RW1CdjFCUTtJQUNFLGlCQUhVO0VuQjQxQnBCO0VtQjExQlE7SUFDRSxrQkFIVTtFbkIrMUJwQjtFbUI3MUJRO0lBQ0UsbUJBSFU7RW5CazJCcEI7QUFDRjtBZ0JsckJRO0VHL0tFO0lBQ0UsZ0JBSFU7RW5CdTJCcEI7RW1CcjJCUTtJQUNFLGlCQUhVO0VuQjAyQnBCO0VtQngy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QUE7QXJCay9CUjs7QWdCOTNCUTtFS3JIRjtJQUNFLDZCQUFBO1FBQUEsZ0JBQUE7RXJCdS9CTjtBQUNGO0FnQnA0QlE7RUtySEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VyQjQvQk47QUFDRjtBZ0JwNEJRO0VLMUhGO0lBQ0UsNkJBQUE7UUFBQSxnQkFBQTtFckJpZ0NOO0FBQ0Y7QWdCejRCUTtFSzFIRjtJQUNFLDZCQUFBO1FBQUEsZ0JBQUE7RXJCc2dDTjtBQUNGO0FnQjk0QlE7RUsxSEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VyQjJnQ047QUFDRjtBcUIvL0JJO0VHNkNGLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0F4QnE5QkY7O0FxQm4vQk07RUd5RUYsb0JBVE07QXhCdTdCVjs7QXFCdi9CTTtFR3lFRixxQkFUTTtBeEIyN0JWOztBcUIzL0JNO0VHeUVGLFVBVE07QXhCKzdCVjs7QXFCLy9CTTtFR3lFRixxQkFUTTtBeEJtOEJWOztBcUJuZ0NNO0VHeUVGLHFCQVRNO0F4QnU4QlY7O0FxQnZnQ007RUd5RUYsVUFUTTtBeEIyOEJWOztBcUIzZ0NNO0VHeUVGLHFCQVRNO0F4Qis4QlY7O0FxQi9nQ007RUd5RUYscUJBVE07QXhCbTlCVjs7QXFCbmhDTTtFR3lFRixVQVRNO0F4QnU5QlY7O0FxQnZoQ007RUd5RUYscUJBVE07QXhCMjlCVjs7QXFCM2hDTTtFR3lFRixxQkFUTTtBeEIrOUJWOztBcUIvaENNO0VHeUVGLFdBVE07QXhCbStCVjs7QWdCMzhCUTtFSzVHRjtJR2tESixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxXQVRNO0V4QnkrQlI7RXFCeGpDRTtJRzZDRixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFeEI4Z0NBO0VxQnJqQ0k7SUdrRkYsV0FUTTtFeEIrK0JSO0VxQi9pQ0k7SUd5RUYsb0JBVE07RXhCay9CUjtFcUJsakNJO0lHeUVGLHFCQVRNO0V4QnEvQlI7RXFCcmpDSTtJR3lFRixVQVRNO0V4QncvQlI7RXFCeGpDSTtJR3lFRixxQkFUTTtFeEIyL0JSO0VxQjNqQ0k7SUd5RUYscUJBVE07RXhCOC9CUjtFcUI5akNJO0lHeUVGLFVBVE07RXhCaWdDUjtFcUJqa0NJO0lHeUVGLHFCQVRNO0V4Qm9nQ1I7RXFCcGtDSTtJR3lFRixxQkFUTTtFeEJ1Z0NSO0VxQnZrQ0k7SUd5RUYsVUFUTTtFeEIwZ0NSO0VxQjFrQ0k7SUd5RUYscUJBVE07RXhCNmdDUjtFcUI3a0NJO0lHeUVGLHFCQVRNO0V4QmdoQ1I7RXFCaGxDSTtJR3lFRixXQVRNO0V4Qm1oQ1I7QUFDRjtBZ0I1L0JRO0VLNUdGO0lHa0RKLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFdBVE07RXhCeWhDUjtFcUJ4bUNFO0lHNkNGLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V4QjhqQ0E7RXFCcm1DSTtJR2tGRixXQVRNO0V4QitoQ1I7RXFCL2xDSTtJR3lFRixvQkFUTTtFeEJraUNSO0VxQmxtQ0k7SUd5RUYscUJBVE07RXhCcWlDUjtFcUJybUNJO0lHeUVGLFVBVE07RXhCd2lDUjtFcUJ4bUNJO0lHeUVGLHFCQVRNO0V4QjJpQ1I7RXFCM21DSTtJR3lFRixxQkFUTTtFeEI4aUNSO0VxQjltQ0k7SUd5RUYsVUFUTTtFeEJpakNSO0VxQmpuQ0k7SUd5RUYscUJBVE07RXhCb2pDUjtFcUJwbkNJO0lHeUVGLHFCQVRNO0V4QnVqQ1I7RXFCdm5DSTtJR3lFRixVQVRNO0V4QjBqQ1I7RXFCMW5DSTtJR3lFRixxQkFUTTtFeEI2akNSO0VxQjduQ0k7SUd5RUYscUJBVE07RXhCZ2tDUjtFcUJob0NJO0lHeUVGLFdBVE07RXhCbWtDUjtBQUNGO0FnQnZpQ1E7RUtqSEY7SUdrREosbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsV0FUTTtFeEJ5a0NSO0VxQnhwQ0U7SUc2Q0YsbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXhCOG1DQTtFcUJycENJO0lHa0ZGLFdBVE07RXhCK2tDUjtFcUIvb0NJO0lHeUVGLG9CQVRNO0V4QmtsQ1I7RXFCbHBDSTtJR3lFRixxQkFUTTtFeEJxbENSO0VxQnJwQ0k7SUd5RUYsVUFUTTtFeEJ3bENSO0VxQnhwQ0k7SUd5RUYscUJBVE07RXhCMmxDUjtFcUIzcENJO0lHeUVGLHFCQVRNO0V4QjhsQ1I7RXFCOXBDSTtJR3lFRixVQVRNO0V4QmltQ1I7RXFCanFDSTtJR3lFRixxQkFUTTtFeEJvbUNSO0VxQnBxQ0k7SUd5RUYscUJBVE07RXhCdW1DUjtFcUJ2cUNJO0lHeUVGLFVBVE07RXhCMG1DUjtFcUIxcUNJO0lHeUVGLHFCQVRNO0V4QjZtQ1I7RXFCN3FDSTtJR3lFRixxQkFUTTtFeEJnbkNSO0VxQmhyQ0k7SUd5RUYsV0FUTTtFeEJtbkNSO0FBQ0Y7QWdCdmxDUTtFS2pIRjtJR2tESixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxXQVRNO0V4QnluQ1I7RXFCeHNDRTtJRzZDRixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFeEI4cENBO0VxQnJzQ0k7SUdrRkYsV0FUTTtFeEIrbkNSO0VxQi9yQ0k7SUd5RUYsb0JBVE07RXhCa29DUjtFcUJsc0NJO0lHeUVGLHFCQVRNO0V4QnFvQ1I7RXFCcnNDSTtJR3lFRixVQVRNO0V4QndvQ1I7RXFCeHNDSTtJR3lFRixxQkFUTTtFeEIyb0NSO0VxQjNzQ0k7SUd5RUYscUJBVE07RXhCOG9DUjtFcUI5c0NJO0lHeUVGLFVBVE07RXhCaXBDUjtFcUJqdENJO0lHeUVGLHFCQVRNO0V4Qm9wQ1I7RXFCcHRDSTtJR3lFRixxQkFUTTtFeEJ1cENSO0VxQnZ0Q0k7SUd5RUYsVUFUTTtFeEIwcENSO0VxQjF0Q0k7SUd5RUYscUJBVE07RXhCNnBDUjtFcUI3dENJO0lHeUVGLHFCQVRNO0V4QmdxQ1I7RXFCaHVDSTtJR3lFRixXQVRNO0V4Qm1xQ1I7QUFDRjtBZ0J2b0NRO0VLakhGO0lHa0RKLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFdBVE07RXhCeXFDUjtFcUJ4dkNFO0lHNkNGLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V4QjhzQ0E7RXFCcnZDSTtJR2tGRixXQVRNO0V4QitxQ1I7RXFCL3VDSTtJR3lFRixvQkFUTTtFeEJrckNSO0VxQmx2Q0k7SUd5RUYscUJBVE07RXhCcXJDUjtFcUJydkNJO0lHeUVGLFVBVE07RXhCd3JDUjtFcUJ4dkNJO0lHeUVGLHFCQVRNO0V4QjJyQ1I7RXFCM3ZDSTtJR3lFRixxQkFUTTtFeEI4ckNSO0VxQjl2Q0k7SUd5RUYsVUFUTTtFeEJpc0NSO0VxQmp3Q0k7SUd5RUYscUJBVE07RXhCb3NDUjtFcUJwd0NJO0lHeUVGLHFCQVRNO0V4QnVzQ1I7RXFCdndDSTtJR3lFRixVQVRNO0V4QjBzQ1I7RXFCMXdDSTtJR3lFRixxQkFUTTtFeEI2c0NSO0VxQjd3Q0k7SUd5RUYscUJBVE07RXhCZ3RDUjtFcUJoeENJO0lHeUVGLFdBVE07RXhCbXRDUjtBQUNGO0FxQjV3Q0U7RUFDRSxXQUFBO0FyQjh3Q0o7O0FxQjF3Q0U7RUFDRSxZQUFBO0FyQjZ3Q0o7O0FxQi91Q0U7RUN2R00sb0JBQUE7RUFBQSxxQkFBQTtBdEIyMUNSO0FnQnhzQ1E7RUs1Q047SUN2R00scUJBQUE7SUFBQSxzQkFBQTtFdEJnMkNOO0FBQ0Y7QWdCOXNDUTtFSzVDTjtJQ3ZHTSxvQkFBQTtJQUFBLHFCQUFBO0V0QnMyQ047QUFDRjtBcUI1dkNJO0VHeUJBLHdCQVRNO0VGbEhKLG1CQUFBO0VBQUEsb0JBQUE7QXRCbTJDTjtBZ0J6dENRO0VLakNBO0lHa0JKLDBCQVRNO0lGbEhKLG9CQUFBO0lBQUEscUJBQUE7RXRCeTJDSjtBQUNGO0FnQmh1Q1E7RUtqQ0E7SUdrQkosd0JBVE07SUZsSEosbUJBQUE7SUFBQSxvQkFBQTtFdEJnM0NKO0FBQ0Y7QXFCM3lDRTtFR3FERSxXQVRNO0F4Qmt3Q1Y7QXFCMXlDRTtFR2lERSxXQVRNO0F4QnF3Q1Y7QXFCcnlDSTtFR3lDQSxpQ0FUTTtBeEJ3d0NWO0FxQnh5Q0k7RUd5Q0Esa0NBVE07QXhCMndDVjtBcUIzeUNJO0VHeUNBLHVCQVRNO0F4Qjh3Q1Y7QXFCOXlDSTtFR3lDQSxrQ0FUTTtBeEJpeENWO0FxQmp6Q0k7RUd5Q0Esa0NBVE07QXhCb3hDVjtBcUJwekNJO0VHeUNBLHVCQVRNO0F4QnV4Q1Y7QXFCdnpDSTtFR3lDQSxrQ0FUTTtBeEIweENWO0FxQjF6Q0k7RUd5Q0Esa0NBVE07QXhCNnhDVjtBcUI3ekNJO0VHeUNBLHVCQVRNO0F4Qmd5Q1Y7QXFCaDBDSTtFR3lDQSxrQ0FUTTtBeEJteUNWO0FxQm4wQ0k7RUd5Q0Esa0NBVE07QXhCc3lDVjtBcUJ0MENJO0VHeUNBLHdCQVRNO0F4Qnl5Q1Y7QWdCanhDUTtFS3BFTjtJR3FERSxXQVRNO0V4QjZ5Q1I7RXFCcjFDQTtJR2lERSxXQVRNO0V4Qmd6Q1I7RXFCaDFDRTtJR3lDQSxtQ0FUTTtFeEJtekNSO0VxQm4xQ0U7SUd5Q0Esb0NBVE07RXhCc3pDUjtFcUJ0MUNFO0lHeUNBLHlCQVRNO0V4Qnl6Q1I7RXFCejFDRTtJR3lDQSxvQ0FUTTtFeEI0ekNSO0VxQjUxQ0U7SUd5Q0Esb0NBVE07RXhCK3pDUjtFcUIvMUNFO0lHeUNBLHlCQVRNO0V4QmswQ1I7RXFCbDJDRTtJR3lDQSxvQ0FUTTtFeEJxMENSO0VxQnIyQ0U7SUd5Q0Esb0NBVE07RXhCdzBDUjtFcUJ4MkNFO0lHeUNBLHlCQVRNO0V4QjIwQ1I7RXFCMzJDRTtJR3lDQSxvQ0FUTTtFeEI4MENSO0VxQjkyQ0U7SUd5Q0Esb0NBVE07RXhCaTFDUjtFcUJqM0NFO0lHeUNBLDBCQVRNO0V4Qm8xQ1I7RXFCaDRDQTtJR3FERSxXQVRNO0V4QnUxQ1I7RXFCLzNDQTtJR2lERSxXQVRNO0V4QjAxQ1I7RXFCMTNDRTtJR3lDQSxtQ0FUTTtFeEI2MUNSO0VxQjczQ0U7SUd5Q0Esb0NBVE07RXhCZzJDUjtFcUJoNENFO0lHeUNBLHlCQVRNO0V4Qm0yQ1I7RXFCbjRDRTtJR3lDQSxvQ0FUTTtFeEJzMkNSO0VxQnQ0Q0U7SUd5Q0Esb0NBVE07RXhCeTJDUjtFcUJ6NENFO0lHeUNBLHlCQVRNO0V4QjQyQ1I7RXFCNTRDRTtJR3lDQSxvQ0FUTTtFeEIrMkNSO0VxQi80Q0U7SUd5Q0Esb0NBVE07RXhCazNDUjtFcUJsNUNFO0lHeUNBLHlCQVRNO0V4QnEzQ1I7RXFCcjVDRTtJR3lDQSxvQ0FUTTtFeEJ3M0NSO0VxQng1Q0U7SUd5Q0Esb0NBVE07RXhCMjNDUjtFcUIzNUNFO0lHeUNBLDBCQVRNO0V4QjgzQ1I7QUFDRjtBZ0J2MkNRO0VLcEVOO0lHcURFLFdBVE07RXhCbTRDUjtFcUIzNkNBO0lHaURFLFdBVE07RXhCczRDUjtFcUJ0NkNFO0lHeUNBLGlDQVRNO0V4Qnk0Q1I7RXFCejZDRTtJR3lDQSxrQ0FUTTtFeEI0NENSO0VxQjU2Q0U7SUd5Q0EsdUJBVE07RXhCKzRDUjtFcUIvNkNFO0lHeUNBLGtDQVRNO0V4Qms1Q1I7RXFCbDdDRTtJR3lDQSxrQ0FUTTtFeEJxNUNSO0VxQnI3Q0U7SUd5Q0EsdUJBVE07RXhCdzVDUjtFcUJ4N0NFO0lHeUNBLGtDQVRNO0V4QjI1Q1I7RXFCMzdDRTtJR3lDQSxrQ0FUTTtFeEI4NUNSO0VxQjk3Q0U7SUd5Q0EsdUJBVE07RXhCaTZDUjtFcUJqOENFO0lHeUNBLGtDQVRNO0V4Qm82Q1I7RXFCcDhDRTtJR3lDQSxrQ0FUTTtFeEJ1NkNSO0VxQnY4Q0U7SUd5Q0Esd0JBVE07RXhCMDZDUjtFcUJ0OUNBO0lHcURFLFdBVE07RXhCNjZDUjtFcUJyOUNBO0lHaURFLFdBVE07RXhCZzdDUjtFcUJoOUNFO0lHeUNBLGlDQVRNO0V4Qm03Q1I7RXFCbjlDRTtJR3lDQSxrQ0FUTTtFeEJzN0NSO0VxQnQ5Q0U7SUd5Q0EsdUJBVE07RXhCeTdDUjtFcUJ6OUNFO0lHeUNBLGtDQVRNO0V4QjQ3Q1I7RXFCNTlDRTtJR3lDQSxrQ0FUTTtFeEIrN0NSO0VxQi85Q0U7SUd5Q0EsdUJBVE07RXhCazhDUjtFcUJsK0NFO0lHeUNBLGtDQVRNO0V4QnE4Q1I7RXFCcitDRTtJR3lDQSxrQ0FUTTtFeEJ3OENSO0VxQngrQ0U7SUd5Q0EsdUJBVE07RXhCMjhDUjtFcUIzK0NFO0lHeUNBLGtDQVRNO0V4Qjg4Q1I7RXFCOStDRTtJR3lDQSxrQ0FUTTtFeEJpOUNSO0VxQmovQ0U7SUd5Q0Esd0JBVE07RXhCbzlDUjtFcUJoZ0RBO0lHcURFLFdBVE07RXhCdTlDUjtFcUIvL0NBO0lHaURFLFdBVE07RXhCMDlDUjtFcUIxL0NFO0lHeUNBLGlDQVRNO0V4QjY5Q1I7RXFCNy9DRTtJR3lDQSxrQ0FUTTtFeEJnK0NSO0VxQmhnREU7SUd5Q0EsdUJBVE07RXhCbStDUjtFcUJuZ0RFO0lHeUNBLGtDQVRNO0V4QnMrQ1I7RXFCdGdERTtJR3lDQSxrQ0FUTTtFeEJ5K0NSO0VxQnpnREU7SUd5Q0EsdUJBVE07RXhCNCtDUjtFcUI1Z0RFO0lHeUNBLGtDQVRNO0V4QisrQ1I7RXFCL2dERTtJR3lDQSxrQ0FUTTtFeEJrL0NSO0VxQmxoREU7SUd5Q0EsdUJBVE07RXhCcS9DUjtFcUJyaERFO0lHeUNBLGtDQVRNO0V4QncvQ1I7RXFCeGhERTtJR3lDQSxrQ0FUTTtFeEIyL0NSO0VxQjNoREU7SUd5Q0Esd0JBVE07RXhCOC9DUjtBQUNGO0FnQmwrQ1E7RUt6RU47SUdxREUsV0FUTTtFeEJtZ0RSO0VxQjNpREE7SUdpREUsV0FUTTtFeEJzZ0RSO0VxQnRpREU7SUd5Q0EsaUNBVE07RXhCeWdEUjtFcUJ6aURFO0lHeUNBLGtDQVRNO0V4QjRnRFI7RXFCNWlERTtJR3lDQSx1QkFUTTtFeEIrZ0RSO0VxQi9pREU7SUd5Q0Esa0NBVE07RXhCa2hEUjtFcUJsakRFO0lHeUNBLGtDQVRNO0V4QnFoRFI7RXFCcmpERTtJR3lDQSx1QkFUTTtFeEJ3aERSO0VxQnhqREU7SUd5Q0Esa0NBVE07RXhCMmhEUjtFcUIzakRFO0lHeUNBLGtDQVRNO0V4QjhoRFI7RXFCOWpERTtJR3lDQSx1QkFUTTtFeEJpaURSO0VxQmprREU7SUd5Q0Esa0NBVE07RXhCb2lEUjtFcUJwa0RFO0lHeUNBLGtDQVRNO0V4QnVpRFI7RXFCdmtERTtJR3lDQSx3QkFUTTtFeEIwaURSO0FBQ0Y7QWdCOWdEUTtFS3pFTjtJR3FERSxXQVRNO0V4QitpRFI7RXFCdmxEQTtJR2lERSxXQVRNO0V4QmtqRFI7RXFCbGxERTtJR3lDQSxpQ0FUTTtFeEJxakRSO0VxQnJsREU7SUd5Q0Esa0NBVE07RXhCd2pEUjtFcUJ4bERFO0lHeUNBLHVCQVRNO0V4QjJqRFI7RXFCM2xERTtJR3lDQSxrQ0FUTTtFeEI4akRSO0VxQjlsREU7SUd5Q0Esa0NBVE07RXhCaWtEUjtFcUJqbURFO0lHeUNBLHVCQVRNO0V4Qm9rRFI7RXFCcG1ERTtJR3lDQSxrQ0FUTTtFeEJ1a0RSO0VxQnZtREU7SUd5Q0Esa0NBVE07RXhCMGtEUjtFcUIxbURFO0lHeUNBLHVCQVRNO0V4QjZrRFI7RXFCN21ERTtJR3lDQSxrQ0FUTTtFeEJnbERSO0VxQmhuREU7SUd5Q0Esa0NBVE07RXhCbWxEUjtFcUJubkRFO0lHeUNBLHdCQVRNO0V4QnNsRFI7QUFDRjtBZ0IxakRRO0VLekVOO0lHcURFLFdBVE07RXhCMmxEUjtFcUJub0RBO0lHaURFLFdBVE07RXhCOGxEUjtFcUI5bkRFO0lHeUNBLGlDQVRNO0V4QmltRFI7RXFCam9ERTtJR3lDQSxrQ0FUTTtFeEJvbURSO0VxQnBvREU7SUd5Q0EsdUJBVE07RXhCdW1EUjtFcUJ2b0RFO0lHeUNBLGtDQVRNO0V4QjBtRFI7RXFCMW9ERTtJR3lDQSxrQ0FUTTtFeEI2bURSO0VxQjdvREU7SUd5Q0EsdUJBVE07RXhCZ25EUjtFcUJocERFO0lHeUNBLGtDQVRNO0V4Qm1uRFI7RXFCbnBERTtJR3lDQSxrQ0FUTTtFeEJzbkRSO0VxQnRwREU7SUd5Q0EsdUJBVE07RXhCeW5EUjtFcUJ6cERFO0lHeUNBLGtDQVRNO0V4QjRuRFI7RXFCNXBERTtJR3lDQSxrQ0FUTTtFeEIrbkRSO0VxQi9wREU7SUd5Q0Esd0JBVE07RXhCa29EUjtBQUNGOztBcUJobkRJO0VDOUlJLHFCQUFBO0VBQUEsb0JBQUE7QXRCbXdEUjtBZ0JobkRRO0VLTEo7SUM5SUksc0JBQUE7SUFBQSxxQkFBQTtFdEJ3d0ROO0FBQ0Y7QWdCdG5EUTtFS0xKO0lDOUlJLHFCQUFBO0lBQUEsb0JBQUE7RXRCOHdETjtBQUNGO0FxQjNuREk7RUNwSkkscUJBQUE7RUFBQSxvQkFBQTtBdEJteERSO0FnQmhvRFE7RUtDSjtJQ3BKSSxzQkFBQTtJQUFBLHFCQUFBO0V0Qnd4RE47QUFDRjtBZ0J0b0RRO0VLQ0o7SUNwSkkscUJBQUE7SUFBQSxvQkFBQTtFdEI4eEROO0FBQ0Y7QXFCdG9ESTtFQ3pKSSxxQkFBQTtFQUFBLG9CQUFBO0F0Qm15RFI7QWdCaHBEUTtFS01KO0lDekpJLHNCQUFBO0lBQUEscUJBQUE7RXRCd3lETjtBQUNGO0FnQnRwRFE7RUtNSjtJQ3pKSSxxQkFBQTtJQUFBLG9CQUFBO0V0Qjh5RE47QUFDRjs7QXlCL3lERTtFRG9JRSxXQVRNO0F4QndyRFY7O0F5Qm56REU7RURvSUUsVUFUTTtBeEI0ckRWOztBeUJ2ekRFO0VEb0lFLHFCQVRNO0F4QmdzRFY7O0F5QjN6REU7RURvSUUsVUFUTTtBeEJvc0RWOztBeUIvekRFO0VEb0lFLFVBVE07QXhCd3NEVjs7QXlCbjBERTtFRG9JRSxxQkFUTTtBeEI0c0RWOztBeUJ2MERFO0VEb0lFLHFCQVRNO0F4Qmd0RFY7O0F5QjMwREU7RURvSUUsWUFUTTtBeEJvdERWOztBZ0I1ckRRO0VTbkpOO0lEb0lFLFdBVE07RXhCeXREUjtFeUJwMURBO0lEb0lFLFVBVE07RXhCNHREUjtFeUJ2MURBO0lEb0lFLHFCQVRNO0V4Qit0RFI7RXlCMTFEQTtJRG9JRSxVQVRNO0V4Qmt1RFI7RXlCNzFEQTtJRG9JRSxVQVRNO0V4QnF1RFI7RXlCaDJEQTtJRG9JRSxxQkFUTTtFeEJ3dURSO0V5Qm4yREE7SURvSUUscUJBVE07RXhCMnVEUjtFeUJ0MkRBO0lEb0lFLFlBVE07RXhCOHVEUjtBQUNGO0FnQnZ0RFE7RVNuSk47SURvSUUsV0FUTTtFeEJtdkRSO0V5QjkyREE7SURvSUUsVUFUTTtFeEJzdkRSO0V5QmozREE7SURvSUUscUJBVE07RXhCeXZEUjtFeUJwM0RBO0lEb0lFLFVBVE07RXhCNHZEUjtFeUJ2M0RBO0lEb0lFLFVBVE07RXhCK3ZEUjtFeUIxM0RBO0lEb0lFLHFCQVRNO0V4Qmt3RFI7RXlCNzNEQTtJRG9JRSxxQkFUTTtFeEJxd0RSO0V5Qmg0REE7SURvSUUsWUFUTTtFeEJ3d0RSO0FBQ0Y7QWdCNXVEUTtFU3hKTjtJRG9JRSxXQVRNO0V4QjZ3RFI7RXlCeDREQTtJRG9JRSxVQVRNO0V4Qmd4RFI7RXlCMzREQTtJRG9JRSxxQkFUTTtFeEJteERSO0V5Qjk0REE7SURvSUUsVUFUTTtFeEJzeERSO0V5Qmo1REE7SURvSUUsVUFUTTtFeEJ5eERSO0V5QnA1REE7SURvSUUscUJBVE07RXhCNHhEUjtFeUJ2NURBO0lEb0lFLHFCQVRNO0V4Qit4RFI7RXlCMTVEQTtJRG9JRSxZQVRNO0V4Qmt5RFI7QUFDRjtBZ0J0d0RRO0VTeEpOO0lEb0lFLFdBVE07RXhCdXlEUjtFeUJsNkRBO0lEb0lFLFVBVE07RXhCMHlEUjtFeUJyNkRBO0lEb0lFLHFCQVRNO0V4QjZ5RFI7RXlCeDZEQTtJRG9JRSxVQVRNO0V4Qmd6RFI7RXlCMzZEQTtJRG9JRSxVQVRNO0V4Qm16RFI7RXlCOTZEQTtJRG9JRSxxQkFUTTtFeEJzekRSO0V5Qmo3REE7SURvSUUscUJBVE07RXhCeXpEUjtFeUJwN0RBO0lEb0lFLFlBVE07RXhCNHpEUjtBQUNGO0FnQmh5RFE7RVN4Sk47SURvSUUsV0FUTTtFeEJpMERSO0V5QjU3REE7SURvSUUsVUFUTTtFeEJvMERSO0V5Qi83REE7SURvSUUscUJBVE07RXhCdTBEUjtFeUJsOERBO0lEb0lFLFVBVE07RXhCMDBEUjtFeUJyOERBO0lEb0lFLFVBVE07RXhCNjBEUjtFeUJ4OERBO0lEb0lFLHFCQVRNO0V4QmcxRFI7RXlCMzhEQTtJRG9JRSxxQkFUTTtFeEJtMURSO0V5Qjk4REE7SURvSUUsWUFUTTtFeEJzMURSO0FBQ0Y7QXlCbDlERTtFRG9JRSx3QkFUTTtBeEIwMURWOztBeUJyOURFO0VEb0lFLHVCQVRNO0F4QjgxRFY7O0F5Qno5REU7RURvSUUsa0NBVE07QXhCazJEVjs7QXlCNzlERTtFRG9JRSx1QkFUTTtBeEJzMkRWOztBeUJqK0RFO0VEb0lFLHVCQVRNO0F4QjAyRFY7O0F5QnIrREU7RURvSUUsa0NBVE07QXhCODJEVjs7QXlCeitERTtFRG9JRSxrQ0FUTTtBeEJrM0RWOztBeUI3K0RFO0VEb0lFLHlCQVRNO0F4QnMzRFY7O0FnQjkxRFE7RVNuSk47SURvSUUsMEJBVE07RXhCMjNEUjtFeUJ0L0RBO0lEb0lFLHlCQVRNO0V4QjgzRFI7RXlCei9EQTtJRG9JRSxvQ0FUTTtFeEJpNERSO0V5QjUvREE7SURvSUUseUJBVE07RXhCbzREUjtFeUIvL0RBO0lEb0lFLHlCQVRNO0V4QnU0RFI7RXlCbGdFQTtJRG9JRSxvQ0FUTTtFeEIwNERSO0V5QnJnRUE7SURvSUUsb0NBVE07RXhCNjREUjtFeUJ4Z0VBO0lEb0lFLDJCQVRNO0V4Qmc1RFI7RXlCM2dFQTtJRG9JRSwwQkFUTTtFeEJtNURSO0V5QjlnRUE7SURvSUUseUJBVE07RXhCczVEUjtFeUJqaEVBO0lEb0lFLG9DQVRNO0V4Qnk1RFI7RXlCcGhFQTtJRG9JRSx5QkFUTTtFeEI0NURSO0V5QnZoRUE7SURvSUUseUJBVE07RXhCKzVEUjtFeUIxaEVBO0lEb0lFLG9DQVRNO0V4Qms2RFI7RXlCN2hFQTtJRG9JRSxvQ0FUTTtFeEJxNkRSO0V5QmhpRUE7SURvSUUsMkJBVE07RXhCdzZEUjtBQUNGO0FnQmo1RFE7RVNuSk47SURvSUUsd0JBVE07RXhCNjZEUjtFeUJ4aUVBO0lEb0lFLHdCQVRNO0V4Qmc3RFI7RXlCM2lFQTtJRG9JRSx1QkFUTTtFeEJtN0RSO0V5QjlpRUE7SURvSUUsdUJBVE07RXhCczdEUjtFeUJqakVBO0lEb0lFLGtDQVRNO0V4Qnk3RFI7RXlCcGpFQTtJRG9JRSxrQ0FUTTtFeEI0N0RSO0V5QnZqRUE7SURvSUUsdUJBVE07RXhCKzdEUjtFeUIxakVBO0lEb0lFLHVCQVRNO0V4Qms4RFI7RXlCN2pFQTtJRG9JRSx1QkFUTTtFeEJxOERSO0V5QmhrRUE7SURvSUUsdUJBVE07RXhCdzhEUjtFeUJua0VBO0lEb0lFLGtDQVRNO0V4QjI4RFI7RXlCdGtFQTtJRG9JRSxrQ0FUTTtFeEI4OERSO0V5QnprRUE7SURvSUUsa0NBVE07RXhCaTlEUjtFeUI1a0VBO0lEb0lFLGtDQVRNO0V4Qm85RFI7RXlCL2tFQTtJRG9JRSx5QkFUTTtFeEJ1OURSO0V5QmxsRUE7SURvSUUseUJBVE07RXhCMDlEUjtFeUJybEVBO0lEb0lFLHdCQVRNO0V4QjY5RFI7RXlCeGxFQTtJRG9JRSx1QkFUTTtFeEJnK0RSO0V5QjNsRUE7SURvSUUsa0NBVE07RXhCbStEUjtFeUI5bEVBO0lEb0lFLHVCQVRNO0V4QnMrRFI7RXlCam1FQTtJRG9JRSx1QkFUTTtFeEJ5K0RSO0V5QnBtRUE7SURvSUUsa0NBVE07RXhCNCtEUjtFeUJ2bUVBO0lEb0lFLGtDQVRNO0V4QisrRFI7RXlCMW1FQTtJRG9JRSx5QkFUTTtFeEJrL0RSO0FBQ0Y7QWdCdDlEUTtFU3hKTjtJRG9JRSx3QkFUTTtFeEJ1L0RSO0V5QmxuRUE7SURvSUUsdUJBVE07RXhCMC9EUjtFeUJybkVBO0lEb0lFLGtDQVRNO0V4QjYvRFI7RXlCeG5FQTtJRG9JRSx1QkFUTTtFeEJnZ0VSO0V5QjNuRUE7SURvSUUsdUJBVE07RXhCbWdFUjtFeUI5bkVBO0lEb0lFLGtDQVRNO0V4QnNnRVI7RXlCam9FQTtJRG9JRSxrQ0FUTTtFeEJ5Z0VSO0V5QnBvRUE7SURvSUUseUJBVE07RXhCNGdFUjtBQUNGO0FnQmgvRFE7RVN4Sk47SURvSUUsd0JBVE07RXhCaWhFUjtFeUI1b0VBO0lEb0lFLHVCQVRNO0V4Qm9oRVI7RXlCL29FQTtJRG9JRSxrQ0FUTTtFeEJ1aEVSO0V5QmxwRUE7SURvSUUsdUJBVE07RXhCMGhFUjtFeUJycEVBO0lEb0lFLHVCQVRNO0V4QjZoRVI7RXlCeHBFQTtJRG9JRSxrQ0FUTTtFeEJnaUVSO0V5QjNwRUE7SURvSUUsa0NBVE07RXhCbWlFUjtFeUI5cEVBO0lEb0lFLHlCQVRNO0V4QnNpRVI7QUFDRjtBZ0IxZ0VRO0VTeEpOO0lEb0lFLHdCQVRNO0V4QjJpRVI7RXlCdHFFQTtJRG9JRSx1QkFUTTtFeEI4aUVSO0V5QnpxRUE7SURvSUUsa0NBVE07RXhCaWpFUjtFeUI1cUVBO0lEb0lFLHVCQVRNO0V4Qm9qRVI7RXlCL3FFQTtJRG9JRSx1QkFUTTtFeEJ1akVSO0V5QmxyRUE7SURvSUUsa0NBVE07RXhCMGpFUjtFeUJyckVBO0lEb0lFLGtDQVRNO0V4QjZqRVI7RXlCeHJFQTtJRG9JRSx5QkFUTTtFeEJna0VSO0FBQ0Y7QXFCci9ETTtFSzlNRSxlQUFBO0VBQUEsY0FBQTtBMUJ1c0VSO0EwQnBzRU07RUFFSSxlQUFBO0VBQUEsY0FBQTtBMUJzc0VWO0EwQmhyRVk7RUZnSFIsb0JBVE07QXhCNGtFVjtBMEJuckVZO0VGZ0hSLHFCQVRNO0F4QitrRVY7QTBCdHJFWTtFRmdIUixVQVRNO0F4QmtsRVY7QTBCenJFWTtFRmdIUixxQkFUTTtBeEJxbEVWO0EwQjVyRVk7RUZnSFIscUJBVE07QXhCd2xFVjtBMEIvckVZO0VGZ0hSLFVBVE07QXhCMmxFVjtBMEJsc0VZO0VGZ0hSLHFCQVRNO0F4QjhsRVY7QTBCcnNFWTtFRmdIUixxQkFUTTtBeEJpbUVWO0EwQnhzRVk7RUZnSFIsVUFUTTtBeEJvbUVWO0EwQjNzRVk7RUZnSFIscUJBVE07QXhCdW1FVjtBMEI5c0VZO0VGZ0hSLHFCQVRNO0F4QjBtRVY7QTBCanRFWTtFRmdIUixXQVRNO0F4QjZtRVY7QWdCcmxFUTtFVS9ISTtJRmdIUixvQkFUTTtFeEJpbkVSO0UwQnh0RVU7SUZnSFIscUJBVE07RXhCb25FUjtFMEIzdEVVO0lGZ0hSLFVBVE07RXhCdW5FUjtFMEI5dEVVO0lGZ0hSLHFCQVRNO0V4QjBuRVI7RTBCanVFVTtJRmdIUixxQkFUTTtFeEI2bkVSO0UwQnB1RVU7SUZnSFIsVUFUTTtFeEJnb0VSO0UwQnZ1RVU7SUZnSFIscUJBVE07RXhCbW9FUjtFMEIxdUVVO0lGZ0hSLHFCQVRNO0V4QnNvRVI7RTBCN3VFVTtJRmdIUixVQVRNO0V4QnlvRVI7RTBCaHZFVTtJRmdIUixxQkFUTTtFeEI0b0VSO0UwQm52RVU7SUZnSFIscUJBVE07RXhCK29FUjtFMEJ0dkVVO0lGZ0hSLFdBVE07RXhCa3BFUjtBQUNGO0FnQjNuRVE7RVUvSEk7SUZnSFIsb0JBVE07RXhCdXBFUjtFMEI5dkVVO0lGZ0hSLHFCQVRNO0V4QjBwRVI7RTBCandFVTtJRmdIUixVQVRNO0V4QjZwRVI7RTBCcHdFVTtJRmdIUixxQkFUTTtFeEJncUVSO0UwQnZ3RVU7SUZnSFIscUJBVE07RXhCbXFFUjtFMEIxd0VVO0lGZ0hSLFVBVE07RXhCc3FFUjtFMEI3d0VVO0lGZ0hSLHFCQVRNO0V4QnlxRVI7RTBCaHhFVTtJRmdIUixxQkFUTTtFeEI0cUVSO0UwQm54RVU7SUZnSFIsVUFUTTtFeEIrcUVSO0UwQnR4RVU7SUZnSFIscUJBVE07RXhCa3JFUjtFMEJ6eEVVO0lGZ0hSLHFCQVRNO0V4QnFyRVI7RTBCNXhFVTtJRmdIUixXQVRNO0V4QndyRVI7QUFDRjtBZ0I1cEVRO0VVcElJO0lGZ0hSLG9CQVRNO0V4QjZyRVI7RTBCcHlFVTtJRmdIUixxQkFUTTtFeEJnc0VSO0UwQnZ5RVU7SUZnSFIsVUFUTTtFeEJtc0VSO0UwQjF5RVU7SUZnSFIscUJBVE07RXhCc3NFUjtFMEI3eUVVO0lGZ0hSLHFCQVRNO0V4QnlzRVI7RTBCaHpFVTtJRmdIUixVQVRNO0V4QjRzRVI7RTBCbnpFVTtJRmdIUixxQkFUTTtFeEIrc0VSO0UwQnR6RVU7SUZnSFIscUJBVE07RXhCa3RFUjtFMEJ6ekVVO0lGZ0hSLFVBVE07RXhCcXRFUjtFMEI1ekVVO0lGZ0hSLHFCQVRNO0V4Qnd0RVI7RTBCL3pFVTtJRmdIUixxQkFUTTtFeEIydEVSO0UwQmwwRVU7SUZnSFIsV0FUTTtFeEI4dEVSO0FBQ0Y7QWdCbHNFUTtFVXBJSTtJRmdIUixvQkFUTTtFeEJtdUVSO0UwQjEwRVU7SUZnSFIscUJBVE07RXhCc3VFUjtFMEI3MEVVO0lGZ0hSLFVBVE07RXhCeXVFUjtFMEJoMUVVO0lGZ0hSLHFCQVRNO0V4QjR1RVI7RTBCbjFFVTtJRmdIUixxQkFUTTtFeEIrdUVSO0UwQnQxRVU7SUZnSFIsVUFUTTtFeEJrdkVSO0UwQnoxRVU7SUZnSFIscUJBVE07RXhCcXZFUjtFMEI1MUVVO0lGZ0hSLHFCQVRNO0V4Qnd2RVI7RTBCLzFFVTtJRmdIUixVQVRNO0V4QjJ2RVI7RTBCbDJFVTtJRmdIUixxQkFUTTtFeEI4dkVSO0UwQnIyRVU7SUZnSFIscUJBVE07RXhCaXdFUjtFMEJ4MkVVO0lGZ0hSLFdBVE07RXhCb3dFUjtBQUNGO0FnQnh1RVE7RVVwSUk7SUZnSFIsb0JBVE07RXhCeXdFUjtFMEJoM0VVO0lGZ0hSLHFCQVRNO0V4QjR3RVI7RTBCbjNFVTtJRmdIUixVQVRNO0V4Qit3RVI7RTBCdDNFVTtJRmdIUixxQkFUTTtFeEJreEVSO0UwQnozRVU7SUZnSFIscUJBVE07RXhCcXhFUjtFMEI1M0VVO0lGZ0hSLFVBVE07RXhCd3hFUjtFMEIvM0VVO0lGZ0hSLHFCQVRNO0V4QjJ4RVI7RTBCbDRFVTtJRmdIUixxQkFUTTtFeEI4eEVSO0UwQnI0RVU7SUZnSFIsVUFUTTtFeEJpeUVSO0UwQng0RVU7SUZnSFIscUJBVE07RXhCb3lFUjtFMEIzNEVVO0lGZ0hSLHFCQVRNO0V4QnV5RVI7RTBCOTRFVTtJRmdIUixXQVRNO0V4QjB5RVI7QUFDRjs7QXFCenRFTTtFSzdLRSxlQUFBO0VBQUEsY0FBQTtBMUIyNEVSO0EwQng0RU07RUFFSSxnQkFBQTtFQUFBLGVBQUE7QTFCMDRFVjs7QWdCNXhFUTtFS29ERjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFMUI0N0VOO0UwQno3RUk7SUFFSSxlQUFBO0lBQUEsY0FBQTtFMUIyN0VSO0FBQ0Y7QWdCdnlFUTtFVXhJSTtJRnlIUixvQkFUTTtFeEJtMEVSO0UwQm43RVU7SUZ5SFIscUJBVE07RXhCczBFUjtFMEJ0N0VVO0lGeUhSLFVBVE07RXhCeTBFUjtFMEJ6N0VVO0lGeUhSLHFCQVRNO0V4QjQwRVI7RTBCNTdFVTtJRnlIUixxQkFUTTtFeEIrMEVSO0UwQi83RVU7SUZ5SFIsVUFUTTtFeEJrMUVSO0UwQmw4RVU7SUZ5SFIscUJBVE07RXhCcTFFUjtFMEJyOEVVO0lGeUhSLHFCQVRNO0V4QncxRVI7RTBCeDhFVTtJRnlIUixVQVRNO0V4QjIxRVI7RTBCMzhFVTtJRnlIUixxQkFUTTtFeEI4MUVSO0UwQjk4RVU7SUZ5SFIscUJBVE07RXhCaTJFUjtFMEJqOUVVO0lGeUhSLFdBVE07RXhCbzJFUjtBQUNGO0FnQjcwRVE7RVUvSEk7SUZnSFIsb0JBVE07RXhCeTJFUjtFMEJoOUVVO0lGZ0hSLHFCQVRNO0V4QjQyRVI7RTBCbjlFVTtJRmdIUixVQVRNO0V4QisyRVI7RTBCdDlFVTtJRmdIUixxQkFUTTtFeEJrM0VSO0UwQno5RVU7SUZnSFIscUJBVE07RXhCcTNFUjtFMEI1OUVVO0lGZ0hSLFVBVE07RXhCdzNFUjtFMEIvOUVVO0lGZ0hSLHFCQVRNO0V4QjIzRVI7RTBCbCtFVTtJRmdIUixxQkFUTTtFeEI4M0VSO0UwQnIrRVU7SUZnSFIsVUFUTTtFeEJpNEVSO0UwQngrRVU7SUZnSFIscUJBVE07RXhCbzRFUjtFMEIzK0VVO0lGZ0hSLHFCQVRNO0V4QnU0RVI7RTBCOStFVTtJRmdIUixXQVRNO0V4QjA0RVI7QUFDRjtBZ0JuM0VRO0VVL0hJO0lGZ0hSLG9CQVRNO0V4Qis0RVI7RTBCdC9FVTtJRmdIUixxQkFUTTtFeEJrNUVSO0UwQnovRVU7SUZnSFIsVUFUTTtFeEJxNUVSO0UwQjUvRVU7SUZnSFIscUJBVE07RXhCdzVFUjtFMEIvL0VVO0lGZ0hSLHFCQVRNO0V4QjI1RVI7RTBCbGdGVTtJRmdIUixVQVRNO0V4Qjg1RVI7RTBCcmdGVTtJRmdIUixxQkFUTTtFeEJpNkVSO0UwQnhnRlU7SUZnSFIscUJBVE07RXhCbzZFUjtFMEIzZ0ZVO0lGZ0hSLFVBVE07RXhCdTZFUjtFMEI5Z0ZVO0lGZ0hSLHFCQVRNO0V4QjA2RVI7RTBCamhGVTtJRmdIUixxQkFUTTtFeEI2NkVSO0UwQnBoRlU7SUZnSFIsV0FUTTtFeEJnN0VSO0FBQ0Y7QWdCcDVFUTtFVXBJSTtJRmdIUixvQkFUTTtFeEJxN0VSO0UwQjVoRlU7SUZnSFIscUJBVE07RXhCdzdFUjtFMEIvaEZVO0lGZ0hSLFVBVE07RXhCMjdFUjtFMEJsaUZVO0lGZ0hSLHFCQVRNO0V4Qjg3RVI7RTBCcmlGVTtJRmdIUixxQkFUTTtFeEJpOEVSO0UwQnhpRlU7SUZnSFIsVUFUTTtFeEJvOEVSO0UwQjNpRlU7SUZnSFIscUJBVE07RXhCdThFUjtFMEI5aUZVO0lGZ0hSLHFCQVRNO0V4QjA4RVI7RTBCampGVTtJRmdIUixVQVRNO0V4QjY4RVI7RTBCcGpGVTtJRmdIUixxQkFUTTtFeEJnOUVSO0UwQnZqRlU7SUZnSFIscUJBVE07RXhCbTlFUjtFMEIxakZVO0lGZ0hSLFdBVE07RXhCczlFUjtBQUNGO0FnQjE3RVE7RVVwSUk7SUZnSFIsb0JBVE07RXhCMjlFUjtFMEJsa0ZVO0lGZ0hSLHFCQVRNO0V4Qjg5RVI7RTBCcmtGVTtJRmdIUixVQVRNO0V4QmkrRVI7RTBCeGtGVTtJRmdIUixxQkFUTTtFeEJvK0VSO0UwQjNrRlU7SUZnSFIscUJBVE07RXhCdStFUjtFMEI5a0ZVO0lGZ0hSLFVBVE07RXhCMCtFUjtFMEJqbEZVO0lGZ0hSLHFCQVRNO0V4QjYrRVI7RTBCcGxGVTtJRmdIUixxQkFUTTtFeEJnL0VSO0UwQnZsRlU7SUZnSFIsVUFUTTtFeEJtL0VSO0UwQjFsRlU7SUZnSFIscUJBVE07RXhCcy9FUjtFMEI3bEZVO0lGZ0hSLHFCQVRNO0V4QnkvRVI7RTBCaG1GVTtJRmdIUixXQVRNO0V4QjQvRVI7QUFDRjtBZ0JoK0VRO0VVcElJO0lGZ0hSLG9CQVRNO0V4QmlnRlI7RTBCeG1GVTtJRmdIUixxQkFUTTtFeEJvZ0ZSO0UwQjNtRlU7SUZnSFIsVUFUTTtFeEJ1Z0ZSO0UwQjltRlU7SUZnSFIscUJBVE07RXhCMGdGUjtFMEJqbkZVO0lGZ0hSLHFCQVRNO0V4QjZnRlI7RTBCcG5GVTtJRmdIUixVQVRNO0V4QmdoRlI7RTBCdm5GVTtJRmdIUixxQkFUTTtFeEJtaEZSO0UwQjFuRlU7SUZnSFIscUJBVE07RXhCc2hGUjtFMEI3bkZVO0lGZ0hSLFVBVE07RXhCeWhGUjtFMEJob0ZVO0lGZ0hSLHFCQVRNO0V4QjRoRlI7RTBCbm9GVTtJRmdIUixxQkFUTTtFeEIraEZSO0UwQnRvRlU7SUZnSFIsV0FUTTtFeEJraUZSO0FBQ0Y7O0FnQjNnRlE7RUswREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RTFCb29GTjtFMEJqb0ZJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0UxQm1vRlI7QUFDRjs7QWdCdGhGUTtFS29ERjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFMUJzckZOO0UwQm5yRkk7SUFFSSxlQUFBO0lBQUEsY0FBQTtFMUJxckZSO0FBQ0Y7QWdCamlGUTtFVXhJSTtJRnlIUixvQkFUTTtFeEI2akZSO0UwQjdxRlU7SUZ5SFIscUJBVE07RXhCZ2tGUjtFMEJockZVO0lGeUhSLFVBVE07RXhCbWtGUjtFMEJuckZVO0lGeUhSLHFCQVRNO0V4QnNrRlI7RTBCdHJGVTtJRnlIUixxQkFUTTtFeEJ5a0ZSO0UwQnpyRlU7SUZ5SFIsVUFUTTtFeEI0a0ZSO0UwQjVyRlU7SUZ5SFIscUJBVE07RXhCK2tGUjtFMEIvckZVO0lGeUhSLHFCQVRNO0V4QmtsRlI7RTBCbHNGVTtJRnlIUixVQVRNO0V4QnFsRlI7RTBCcnNGVTtJRnlIUixxQkFUTTtFeEJ3bEZSO0UwQnhzRlU7SUZ5SFIscUJBVE07RXhCMmxGUjtFMEIzc0ZVO0lGeUhSLFdBVE07RXhCOGxGUjtBQUNGO0FnQnZrRlE7RVV4SUk7SUZ5SFIsb0JBVE07RXhCbW1GUjtFMEJudEZVO0lGeUhSLHFCQVRNO0V4QnNtRlI7RTBCdHRGVTtJRnlIUixVQVRNO0V4QnltRlI7RTBCenRGVTtJRnlIUixxQkFUTTtFeEI0bUZSO0UwQjV0RlU7SUZ5SFIscUJBVE07RXhCK21GUjtFMEIvdEZVO0lGeUhSLFVBVE07RXhCa25GUjtFMEJsdUZVO0lGeUhSLHFCQVRNO0V4QnFuRlI7RTBCcnVGVTtJRnlIUixxQkFUTTtFeEJ3bkZSO0UwQnh1RlU7SUZ5SFIsVUFUTTtFeEIybkZSO0UwQjN1RlU7SUZ5SFIscUJBVE07RXhCOG5GUjtFMEI5dUZVO0lGeUhSLHFCQVRNO0V4QmlvRlI7RTBCanZGVTtJRnlIUixXQVRNO0V4Qm9vRlI7QUFDRjtBZ0I3bUZRO0VVL0hJO0lGZ0hSLG9CQVRNO0V4QnlvRlI7RTBCaHZGVTtJRmdIUixxQkFUTTtFeEI0b0ZSO0UwQm52RlU7SUZnSFIsVUFUTTtFeEIrb0ZSO0UwQnR2RlU7SUZnSFIscUJBVE07RXhCa3BGUjtFMEJ6dkZVO0lGZ0hSLHFCQVRNO0V4QnFwRlI7RTBCNXZGVTtJRmdIUixVQVRNO0V4QndwRlI7RTBCL3ZGVTtJRmdIUixxQkFUTTtFeEIycEZSO0UwQmx3RlU7SUZnSFIscUJBVE07RXhCOHBGUjtFMEJyd0ZVO0lGZ0hSLFVBVE07RXhCaXFGUjtFMEJ4d0ZVO0lGZ0hSLHFCQVRNO0V4Qm9xRlI7RTBCM3dGVTtJRmdIUixxQkFUTTtFeEJ1cUZSO0UwQjl3RlU7SUZnSFIsV0FUTTtFeEIwcUZSO0FBQ0Y7QWdCOW9GUTtFVXBJSTtJRmdIUixvQkFUTTtFeEIrcUZSO0UwQnR4RlU7SUZnSFIscUJBVE07RXhCa3JGUjtFMEJ6eEZVO0lGZ0hSLFVBVE07RXhCcXJGUjtFMEI1eEZVO0lGZ0hSLHFCQVRNO0V4QndyRlI7RTBCL3hGVTtJRmdIUixxQkFUTTtFeEIyckZSO0UwQmx5RlU7SUZnSFIsVUFUTTtFeEI4ckZSO0UwQnJ5RlU7SUZnSFIscUJBVE07RXhCaXNGUjtFMEJ4eUZVO0lGZ0hSLHFCQVRNO0V4Qm9zRlI7RTBCM3lGVTtJRmdIUixVQVRNO0V4QnVzRlI7RTBCOXlGVTtJRmdIUixxQkFUTTtFeEIwc0ZSO0UwQmp6RlU7SUZnSFIscUJBVE07RXhCNnNGUjtFMEJwekZVO0lGZ0hSLFdBVE07RXhCZ3RGUjtBQUNGO0FnQnByRlE7RVVwSUk7SUZnSFIsb0JBVE07RXhCcXRGUjtFMEI1ekZVO0lGZ0hSLHFCQVRNO0V4Qnd0RlI7RTBCL3pGVTtJRmdIUixVQVRNO0V4QjJ0RlI7RTBCbDBGVTtJRmdIUixxQkFUTTtFeEI4dEZSO0UwQnIwRlU7SUZnSFIscUJBVE07RXhCaXVGUjtFMEJ4MEZVO0lGZ0hSLFVBVE07RXhCb3VGUjtFMEIzMEZVO0lGZ0hSLHFCQVRNO0V4QnV1RlI7RTBCOTBGVTtJRmdIUixxQkFUTTtFeEIwdUZSO0UwQmoxRlU7SUZnSFIsVUFUTTtFeEI2dUZSO0UwQnAxRlU7SUZnSFIscUJBVE07RXhCZ3ZGUjtFMEJ2MUZVO0lGZ0hSLHFCQVRNO0V4Qm12RlI7RTBCMTFGVTtJRmdIUixXQVRNO0V4QnN2RlI7QUFDRjtBZ0IxdEZRO0VVcElJO0lGZ0hSLG9CQVRNO0V4QjJ2RlI7RTBCbDJGVTtJRmdIUixxQkFUTTtFeEI4dkZSO0UwQnIyRlU7SUZnSFIsVUFUTTtFeEJpd0ZSO0UwQngyRlU7SUZnSFIscUJBVE07RXhCb3dGUjtFMEIzMkZVO0lGZ0hSLHFCQVRNO0V4QnV3RlI7RTBCOTJGVTtJRmdIUixVQVRNO0V4QjB3RlI7RTBCajNGVTtJRmdIUixxQkFUTTtFeEI2d0ZSO0UwQnAzRlU7SUZnSFIscUJBVE07RXhCZ3hGUjtFMEJ2M0ZVO0lGZ0hSLFVBVE07RXhCbXhGUjtFMEIxM0ZVO0lGZ0hSLHFCQVRNO0V4QnN4RlI7RTBCNzNGVTtJRmdIUixxQkFUTTtFeEJ5eEZSO0UwQmg0RlU7SUZnSFIsV0FUTTtFeEI0eEZSO0FBQ0Y7O0FnQnJ3RlE7RUswREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RTFCODNGTjtFMEIzM0ZJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0UxQjYzRlI7QUFDRjs7QWdCM3dGUTtFSytDRjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFMUJnN0ZOO0UwQjc2Rkk7SUFFSSxlQUFBO0lBQUEsY0FBQTtFMUIrNkZSO0FBQ0Y7QWdCdHhGUTtFVTdJSTtJRnlIUixvQkFUTTtFeEJ1ekZSO0UwQnY2RlU7SUZ5SFIscUJBVE07RXhCMHpGUjtFMEIxNkZVO0lGeUhSLFVBVE07RXhCNnpGUjtFMEI3NkZVO0lGeUhSLHFCQVRNO0V4QmcwRlI7RTBCaDdGVTtJRnlIUixxQkFUTTtFeEJtMEZSO0UwQm43RlU7SUZ5SFIsVUFUTTtFeEJzMEZSO0UwQnQ3RlU7SUZ5SFIscUJBVE07RXhCeTBGUjtFMEJ6N0ZVO0lGeUhSLHFCQVRNO0V4QjQwRlI7RTBCNTdGVTtJRnlIUixVQVRNO0V4QiswRlI7RTBCLzdGVTtJRnlIUixxQkFUTTtFeEJrMUZSO0UwQmw4RlU7SUZ5SFIscUJBVE07RXhCcTFGUjtFMEJyOEZVO0lGeUhSLFdBVE07RXhCdzFGUjtBQUNGO0FnQjV6RlE7RVU3SUk7SUZ5SFIsb0JBVE07RXhCNjFGUjtFMEI3OEZVO0lGeUhSLHFCQVRNO0V4QmcyRlI7RTBCaDlGVTtJRnlIUixVQVRNO0V4Qm0yRlI7RTBCbjlGVTtJRnlIUixxQkFUTTtFeEJzMkZSO0UwQnQ5RlU7SUZ5SFIscUJBVE07RXhCeTJGUjtFMEJ6OUZVO0lGeUhSLFVBVE07RXhCNDJGUjtFMEI1OUZVO0lGeUhSLHFCQVRNO0V4QisyRlI7RTBCLzlGVTtJRnlIUixxQkFUTTtFeEJrM0ZSO0UwQmwrRlU7SUZ5SFIsVUFUTTtFeEJxM0ZSO0UwQnIrRlU7SUZ5SFIscUJBVE07RXhCdzNGUjtFMEJ4K0ZVO0lGeUhSLHFCQVRNO0V4QjIzRlI7RTBCMytGVTtJRnlIUixXQVRNO0V4QjgzRlI7QUFDRjtBZ0JsMkZRO0VVN0lJO0lGeUhSLG9CQVRNO0V4Qm00RlI7RTBCbi9GVTtJRnlIUixxQkFUTTtFeEJzNEZSO0UwQnQvRlU7SUZ5SFIsVUFUTTtFeEJ5NEZSO0UwQnovRlU7SUZ5SFIscUJBVE07RXhCNDRGUjtFMEI1L0ZVO0lGeUhSLHFCQVRNO0V4Qis0RlI7RTBCLy9GVTtJRnlIUixVQVRNO0V4Qms1RlI7RTBCbGdHVTtJRnlIUixxQkFUTTtFeEJxNUZSO0UwQnJnR1U7SUZ5SFIscUJBVE07RXhCdzVGUjtFMEJ4Z0dVO0lGeUhSLFVBVE07RXhCMjVGUjtFMEIzZ0dVO0lGeUhSLHFCQVRNO0V4Qjg1RlI7RTBCOWdHVTtJRnlIUixxQkFUTTtFeEJpNkZSO0UwQmpoR1U7SUZ5SFIsV0FUTTtFeEJvNkZSO0FBQ0Y7QWdCeDRGUTtFVXBJSTtJRmdIUixvQkFUTTtFeEJ5NkZSO0UwQmhoR1U7SUZnSFIscUJBVE07RXhCNDZGUjtFMEJuaEdVO0lGZ0hSLFVBVE07RXhCKzZGUjtFMEJ0aEdVO0lGZ0hSLHFCQVRNO0V4Qms3RlI7RTBCemhHVTtJRmdIUixxQkFUTTtFeEJxN0ZSO0UwQjVoR1U7SUZnSFIsVUFUTTtFeEJ3N0ZSO0UwQi9oR1U7SUZnSFIscUJBVE07RXhCMjdGUjtFMEJsaUdVO0lGZ0hSLHFCQVRNO0V4Qjg3RlI7RTBCcmlHVTtJRmdIUixVQVRNO0V4Qmk4RlI7RTBCeGlHVTtJRmdIUixxQkFUTTtFeEJvOEZSO0UwQjNpR1U7SUZnSFIscUJBVE07RXhCdThGUjtFMEI5aUdVO0lGZ0hSLFdBVE07RXhCMDhGUjtBQUNGO0FnQjk2RlE7RVVwSUk7SUZnSFIsb0JBVE07RXhCKzhGUjtFMEJ0akdVO0lGZ0hSLHFCQVRNO0V4Qms5RlI7RTBCempHVTtJRmdIUixVQVRNO0V4QnE5RlI7RTBCNWpHVTtJRmdIUixxQkFUTTtFeEJ3OUZSO0UwQi9qR1U7SUZnSFIscUJBVE07RXhCMjlGUjtFMEJsa0dVO0lGZ0hSLFVBVE07RXhCODlGUjtFMEJya0dVO0lGZ0hSLHFCQVRNO0V4QmkrRlI7RTBCeGtHVTtJRmdIUixxQkFUTTtFeEJvK0ZSO0UwQjNrR1U7SUZnSFIsVUFUTTtFeEJ1K0ZSO0UwQjlrR1U7SUZnSFIscUJBVE07RXhCMCtGUjtFMEJqbEdVO0lGZ0hSLHFCQVRNO0V4QjYrRlI7RTBCcGxHVTtJRmdIUixXQVRNO0V4QmcvRlI7QUFDRjtBZ0JwOUZRO0VVcElJO0lGZ0hSLG9CQVRNO0V4QnEvRlI7RTBCNWxHVTtJRmdIUixxQkFUTTtFeEJ3L0ZSO0UwQi9sR1U7SUZnSFIsVUFUTTtFeEIyL0ZSO0UwQmxtR1U7SUZnSFIscUJBVE07RXhCOC9GUjtFMEJybUdVO0lGZ0hSLHFCQVRNO0V4QmlnR1I7RTBCeG1HVTtJRmdIUixVQVRNO0V4Qm9nR1I7RTBCM21HVTtJRmdIUixxQkFUTTtFeEJ1Z0dSO0UwQjltR1U7SUZnSFIscUJBVE07RXhCMGdHUjtFMEJqbkdVO0lGZ0hSLFVBVE07RXhCNmdHUjtFMEJwbkdVO0lGZ0hSLHFCQVRNO0V4QmdoR1I7RTBCdm5HVTtJRmdIUixxQkFUTTtFeEJtaEdSO0UwQjFuR1U7SUZnSFIsV0FUTTtFeEJzaEdSO0FBQ0Y7O0FnQjEvRlE7RUtxREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RTFCd25HTjtFMEJybkdJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0UxQnVuR1I7QUFDRjs7QWdCcmdHUTtFSytDRjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFMUIwcUdOO0UwQnZxR0k7SUFFSSxlQUFBO0lBQUEsY0FBQTtFMUJ5cUdSO0FBQ0Y7QWdCaGhHUTtFVTdJSTtJRnlIUixvQkFUTTtFeEJpakdSO0UwQmpxR1U7SUZ5SFIscUJBVE07RXhCb2pHUjtFMEJwcUdVO0lGeUhSLFVBVE07RXhCdWpHUjtFMEJ2cUdVO0lGeUhSLHFCQVRNO0V4QjBqR1I7RTBCMXFHVTtJRnlIUixxQkFUTTtFeEI2akdSO0UwQjdxR1U7SUZ5SFIsVUFUTTtFeEJna0dSO0UwQmhyR1U7SUZ5SFIscUJBVE07RXhCbWtHUjtFMEJuckdVO0lGeUhSLHFCQVRNO0V4QnNrR1I7RTBCdHJHVTtJRnlIUixVQVRNO0V4QnlrR1I7RTBCenJHVTtJRnlIUixxQkFUTTtFeEI0a0dSO0UwQjVyR1U7SUZ5SFIscUJBVE07RXhCK2tHUjtFMEIvckdVO0lGeUhSLFdBVE07RXhCa2xHUjtBQUNGO0FnQnRqR1E7RVU3SUk7SUZ5SFIsb0JBVE07RXhCdWxHUjtFMEJ2c0dVO0lGeUhSLHFCQVRNO0V4QjBsR1I7RTBCMXNHVTtJRnlIUixVQVRNO0V4QjZsR1I7RTBCN3NHVTtJRnlIUixxQkFUTTtFeEJnbUdSO0UwQmh0R1U7SUZ5SFIscUJBVE07RXhCbW1HUjtFMEJudEdVO0lGeUhSLFVBVE07RXhCc21HUjtFMEJ0dEdVO0lGeUhSLHFCQVRNO0V4QnltR1I7RTBCenRHVTtJRnlIUixxQkFUTTtFeEI0bUdSO0UwQjV0R1U7SUZ5SFIsVUFUTTtFeEIrbUdSO0UwQi90R1U7SUZ5SFIscUJBVE07RXhCa25HUjtFMEJsdUdVO0lGeUhSLHFCQVRNO0V4QnFuR1I7RTBCcnVHVTtJRnlIUixXQVRNO0V4QnduR1I7QUFDRjtBZ0I1bEdRO0VVN0lJO0lGeUhSLG9CQVRNO0V4QjZuR1I7RTBCN3VHVTtJRnlIUixxQkFUTTtFeEJnb0dSO0UwQmh2R1U7SUZ5SFIsVUFUTTtFeEJtb0dSO0UwQm52R1U7SUZ5SFIscUJBVE07RXhCc29HUjtFMEJ0dkdVO0lGeUhSLHFCQVRNO0V4QnlvR1I7RTBCenZHVTtJRnlIUixVQVRNO0V4QjRvR1I7RTBCNXZHVTtJRnlIUixxQkFUTTtFeEIrb0dSO0UwQi92R1U7SUZ5SFIscUJBVE07RXhCa3BHUjtFMEJsd0dVO0lGeUhSLFVBVE07RXhCcXBHUjtFMEJyd0dVO0lGeUhSLHFCQVRNO0V4QndwR1I7RTBCeHdHVTtJRnlIUixxQkFUTTtFeEIycEdSO0UwQjN3R1U7SUZ5SFIsV0FUTTtFeEI4cEdSO0FBQ0Y7QWdCbG9HUTtFVTdJSTtJRnlIUixvQkFUTTtFeEJtcUdSO0UwQm54R1U7SUZ5SFIscUJBVE07RXhCc3FHUjtFMEJ0eEdVO0lGeUhSLFVBVE07RXhCeXFHUjtFMEJ6eEdVO0lGeUhSLHFCQVRNO0V4QjRxR1I7RTBCNXhHVTtJRnlIUixxQkFUTTtFeEIrcUdSO0UwQi94R1U7SUZ5SFIsVUFUTTtFeEJrckdSO0UwQmx5R1U7SUZ5SFIscUJBVE07RXhCcXJHUjtFMEJyeUdVO0lGeUhSLHFCQVRNO0V4QndyR1I7RTBCeHlHVTtJRnlIUixVQVRNO0V4QjJyR1I7RTBCM3lHVTtJRnlIUixxQkFUTTtFeEI4ckdSO0UwQjl5R1U7SUZ5SFIscUJBVE07RXhCaXNHUjtFMEJqekdVO0lGeUhSLFdBVE07RXhCb3NHUjtBQUNGO0FnQnhxR1E7RVVwSUk7SUZnSFIsb0JBVE07RXhCeXNHUjtFMEJoekdVO0lGZ0hSLHFCQVRNO0V4QjRzR1I7RTBCbnpHVTtJRmdIUixVQVRNO0V4QitzR1I7RTBCdHpHVTtJRmdIUixxQkFUTTtFeEJrdEdSO0UwQnp6R1U7SUZnSFIscUJBVE07RXhCcXRHUjtFMEI1ekdVO0lGZ0hSLFVBVE07RXhCd3RHUjtFMEIvekdVO0lGZ0hSLHFCQVRNO0V4QjJ0R1I7RTBCbDBHVTtJRmdIUixxQkFUTTtFeEI4dEdSO0UwQnIwR1U7SUZnSFIsVUFUTTtFeEJpdUdSO0UwQngwR1U7SUZnSFIscUJBVE07RXhCb3VHUjtFMEIzMEdVO0lGZ0hSLHFCQVRNO0V4QnV1R1I7RTBCOTBHVTtJRmdIUixXQVRNO0V4QjB1R1I7QUFDRjtBZ0I5c0dRO0VVcElJO0lGZ0hSLG9CQVRNO0V4Qit1R1I7RTBCdDFHVTtJRmdIUixxQkFUTTtFeEJrdkdSO0UwQnoxR1U7SUZnSFIsVUFUTTtFeEJxdkdSO0UwQjUxR1U7SUZnSFIscUJBVE07RXhCd3ZHUjtFMEIvMUdVO0lGZ0hSLHFCQVRNO0V4QjJ2R1I7RTBCbDJHVTtJRmdIUixVQVRNO0V4Qjh2R1I7RTBCcjJHVTtJRmdIUixxQkFUTTtFeEJpd0dSO0UwQngyR1U7SUZnSFIscUJBVE07RXhCb3dHUjtFMEIzMkdVO0lGZ0hSLFVBVE07RXhCdXdHUjtFMEI5MkdVO0lGZ0hSLHFCQVRNO0V4QjB3R1I7RTBCajNHVTtJRmdIUixxQkFUTTtFeEI2d0dSO0UwQnAzR1U7SUZnSFIsV0FUTTtFeEJneEdSO0FBQ0Y7O0FnQnB2R1E7RUtxREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RTFCazNHTjtFMEIvMkdJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0UxQmkzR1I7QUFDRjs7QWdCL3ZHUTtFSytDRjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFMUJvNkdOO0UwQmo2R0k7SUFFSSxlQUFBO0lBQUEsY0FBQTtFMUJtNkdSO0FBQ0Y7QWdCMXdHUTtFVTdJSTtJRnlIUixvQkFUTTtFeEIyeUdSO0UwQjM1R1U7SUZ5SFIscUJBVE07RXhCOHlHUjtFMEI5NUdVO0lGeUhSLFVBVE07RXhCaXpHUjtFMEJqNkdVO0lGeUhSLHFCQVRNO0V4Qm96R1I7RTBCcDZHVTtJRnlIUixxQkFUTTtFeEJ1ekdSO0UwQnY2R1U7SUZ5SFIsVUFUTTtFeEIwekdSO0UwQjE2R1U7SUZ5SFIscUJBVE07RXhCNnpHUjtFMEI3NkdVO0lGeUhSLHFCQVRNO0V4QmcwR1I7RTBCaDdHVTtJRnlIUixVQVRNO0V4Qm0wR1I7RTBCbjdHVTtJRnlIUixxQkFUTTtFeEJzMEdSO0UwQnQ3R1U7SUZ5SFIscUJBVE07RXhCeTBHUjtFMEJ6N0dVO0lGeUhSLFdBVE07RXhCNDBHUjtBQUNGO0FnQmh6R1E7RVU3SUk7SUZ5SFIsb0JBVE07RXhCaTFHUjtFMEJqOEdVO0lGeUhSLHFCQVRNO0V4Qm8xR1I7RTBCcDhHVTtJRnlIUixVQVRNO0V4QnUxR1I7RTBCdjhHVTtJRnlIUixxQkFUTTtFeEIwMUdSO0UwQjE4R1U7SUZ5SFIscUJBVE07RXhCNjFHUjtFMEI3OEdVO0lGeUhSLFVBVE07RXhCZzJHUjtFMEJoOUdVO0lGeUhSLHFCQVRNO0V4Qm0yR1I7RTBCbjlHVTtJRnlIUixxQkFUTTtFeEJzMkdSO0UwQnQ5R1U7SUZ5SFIsVUFUTTtFeEJ5MkdSO0UwQno5R1U7SUZ5SFIscUJBVE07RXhCNDJHUjtFMEI1OUdVO0lGeUhSLHFCQVRNO0V4QisyR1I7RTBCLzlHVTtJRnlIUixXQVRNO0V4QmszR1I7QUFDRjtBZ0J0MUdRO0VVN0lJO0lGeUhSLG9CQVRNO0V4QnUzR1I7RTBCditHVTtJRnlIUixxQkFUTTtFeEIwM0dSO0UwQjErR1U7SUZ5SFIsVUFUTTtFeEI2M0dSO0UwQjcrR1U7SUZ5SFIscUJBVE07RXhCZzRHUjtFMEJoL0dVO0lGeUhSLHFCQVRNO0V4Qm00R1I7RTBCbi9HVTtJRnlIUixVQVRNO0V4QnM0R1I7RTBCdC9HVTtJRnlIUixxQkFUTTtFeEJ5NEdSO0UwQnovR1U7SUZ5SFIscUJBVE07RXhCNDRHUjtFMEI1L0dVO0lGeUhSLFVBVE07RXhCKzRHUjtFMEIvL0dVO0lGeUhSLHFCQVRNO0V4Qms1R1I7RTBCbGdIVTtJRnlIUixxQkFUTTtFeEJxNUdSO0UwQnJnSFU7SUZ5SFIsV0FUTTtFeEJ3NUdSO0FBQ0Y7QWdCNTNHUTtFVTdJSTtJRnlIUixvQkFUTTtFeEI2NUdSO0UwQjdnSFU7SUZ5SFIscUJBVE07RXhCZzZHUjtFMEJoaEhVO0lGeUhSLFVBVE07RXhCbTZHUjtFMEJuaEhVO0lGeUhSLHFCQVRNO0V4QnM2R1I7RTBCdGhIVTtJRnlIUixxQkFUTTtFeEJ5NkdSO0UwQnpoSFU7SUZ5SFIsVUFUTTtFeEI0NkdSO0UwQjVoSFU7SUZ5SFIscUJBVE07RXhCKzZHUjtFMEIvaEhVO0lGeUhSLHFCQVRNO0V4Qms3R1I7RTBCbGlIVTtJRnlIUixVQVRNO0V4QnE3R1I7RTBCcmlIVTtJRnlIUixxQkFUTTtFeEJ3N0dSO0UwQnhpSFU7SUZ5SFIscUJBVE07RXhCMjdHUjtFMEIzaUhVO0lGeUhSLFdBVE07RXhCODdHUjtBQUNGO0FnQmw2R1E7RVU3SUk7SUZ5SFIsb0JBVE07RXhCbThHUjtFMEJuakhVO0lGeUhSLHFCQVRNO0V4QnM4R1I7RTBCdGpIVTtJRnlIUixVQVRNO0V4Qnk4R1I7RTBCempIVTtJRnlIUixxQkFUTTtFeEI0OEdSO0UwQjVqSFU7SUZ5SFIscUJBVE07RXhCKzhHUjtFMEIvakhVO0lGeUhSLFVBVE07RXhCazlHUjtFMEJsa0hVO0lGeUhSLHFCQVRNO0V4QnE5R1I7RTBCcmtIVTtJRnlIUixxQkFUTTtFeEJ3OUdSO0UwQnhrSFU7SUZ5SFIsVUFUTTtFeEIyOUdSO0UwQjNrSFU7SUZ5SFIscUJBVE07RXhCODlHUjtFMEI5a0hVO0lGeUhSLHFCQVRNO0V4QmkrR1I7RTBCamxIVTtJRnlIUixXQVRNO0V4Qm8rR1I7QUFDRjtBZ0J4OEdRO0VVcElJO0lGZ0hSLG9CQVRNO0V4QnkrR1I7RTBCaGxIVTtJRmdIUixxQkFUTTtFeEI0K0dSO0UwQm5sSFU7SUZnSFIsVUFUTTtFeEIrK0dSO0UwQnRsSFU7SUZnSFIscUJBVE07RXhCay9HUjtFMEJ6bEhVO0lGZ0hSLHFCQVRNO0V4QnEvR1I7RTBCNWxIVTtJRmdIUixVQVRNO0V4QncvR1I7RTBCL2xIVTtJRmdIUixxQkFUTTtFeEIyL0dSO0UwQmxtSFU7SUZnSFIscUJBVE07RXhCOC9HUjtFMEJybUhVO0lGZ0hSLFVBVE07RXhCaWdIUjtFMEJ4bUhVO0lGZ0hSLHFCQVRNO0V4Qm9nSFI7RTBCM21IVTtJRmdIUixxQkFUTTtFeEJ1Z0hSO0UwQjltSFU7SUZnSFIsV0FUTTtFeEIwZ0hSO0FBQ0Y7O0FnQjkrR1E7RUtxREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RTFCNG1ITjtFMEJ6bUhJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0UxQjJtSFI7QUFDRjs7QXFCdDdHTTtFTXZNRixlQUFBO0EzQmlvSEo7O0FxQnQ3R007RU0zTUYsZ0NBQUE7QTNCcW9ISjs7QXFCOTdHTTtFTXZNRiwwQkFBQTtBM0J5b0hKOztBcUI5N0dNO0VNM01GLDJDQUFBO0EzQjZvSEo7O0FxQnQ4R007RU12TUYsMkJBQUE7QTNCaXBISjs7QXFCdDhHTTtFTTNNRiw0Q0FBQTtBM0JxcEhKOztBcUI5OEdNO0VNdk1GLGdCQUFBO0EzQnlwSEo7O0FxQjk4R007RU0zTUYsaUNBQUE7QTNCNnBISjs7QXFCdDlHTTtFTXZNRiwyQkFBQTtBM0JpcUhKOztBcUJ0OUdNO0VNM01GLDRDQUFBO0EzQnFxSEo7O0FxQjk5R007RU12TUYsMkJBQUE7QTNCeXFISjs7QXFCOTlHTTtFTTNNRiw0Q0FBQTtBM0I2cUhKOztBcUJ0K0dNO0VNdk1GLGdCQUFBO0EzQmlySEo7O0FxQnQrR007RU0zTUYsaUNBQUE7QTNCcXJISjs7QXFCOStHTTtFTXZNRiwyQkFBQTtBM0J5ckhKOztBcUI5K0dNO0VNM01GLDRDQUFBO0EzQjZySEo7O0FxQnQvR007RU12TUYsMkJBQUE7QTNCaXNISjs7QXFCdC9HTTtFTTNNRiw0Q0FBQTtBM0Jxc0hKOztBcUI5L0dNO0VNdk1GLGdCQUFBO0EzQnlzSEo7O0FxQjkvR007RU0zTUYsaUNBQUE7QTNCNnNISjs7QXFCdGdITTtFTXZNRiwyQkFBQTtBM0JpdEhKOztBcUJ0Z0hNO0VNM01GLDRDQUFBO0EzQnF0SEo7O0FxQjlnSE07RU12TUYsMkJBQUE7QTNCeXRISjs7QXFCOWdITTtFTTNNRiw0Q0FBQTtBM0I2dEhKOztBZ0I5bEhRO0VLd0VGO0lNdk1GLGVBQUE7RTNCa3VIRjtFcUJ2aEhJO0lNM01GLGtDQUFBO0UzQnF1SEY7RXFCOWhISTtJTXZNRiwwQkFBQTtFM0J3dUhGO0VxQjdoSEk7SU0zTUYsNkNBQUE7RTNCMnVIRjtFcUJwaUhJO0lNdk1GLDJCQUFBO0UzQjh1SEY7RXFCbmlISTtJTTNNRiw4Q0FBQTtFM0JpdkhGO0VxQjFpSEk7SU12TUYsZ0JBQUE7RTNCb3ZIRjtFcUJ6aUhJO0lNM01GLG1DQUFBO0UzQnV2SEY7RXFCaGpISTtJTXZNRiwyQkFBQTtFM0IwdkhGO0VxQi9pSEk7SU0zTUYsOENBQUE7RTNCNnZIRjtFcUJ0akhJO0lNdk1GLDJCQUFBO0UzQmd3SEY7RXFCcmpISTtJTTNNRiw4Q0FBQTtFM0Jtd0hGO0VxQjVqSEk7SU12TUYsZ0JBQUE7RTNCc3dIRjtFcUIzakhJO0lNM01GLG1DQUFBO0UzQnl3SEY7RXFCbGtISTtJTXZNRiwyQkFBQTtFM0I0d0hGO0VxQmprSEk7SU0zTUYsOENBQUE7RTNCK3dIRjtFcUJ4a0hJO0lNdk1GLDJCQUFBO0UzQmt4SEY7RXFCdmtISTtJTTNNRiw4Q0FBQTtFM0JxeEhGO0VxQjlrSEk7SU12TUYsZ0JBQUE7RTNCd3hIRjtFcUI3a0hJO0lNM01GLG1DQUFBO0UzQjJ4SEY7RXFCcGxISTtJTXZNRiwyQkFBQTtFM0I4eEhGO0VxQm5sSEk7SU0zTUYsOENBQUE7RTNCaXlIRjtFcUIxbEhJO0lNdk1GLDJCQUFBO0UzQm95SEY7RXFCemxISTtJTTNNRiw4Q0FBQTtFM0J1eUhGO0FBQ0Y7QWdCenFIUTtFS3dFRjtJTXZNRixlQUFBO0UzQjR5SEY7RXFCam1ISTtJTTNNRixnQ0FBQTtFM0IreUhGO0VxQnhtSEk7SU12TUYsMEJBQUE7RTNCa3pIRjtFcUJ2bUhJO0lNM01GLDJDQUFBO0UzQnF6SEY7RXFCOW1ISTtJTXZNRiwyQkFBQTtFM0J3ekhGO0VxQjdtSEk7SU0zTUYsNENBQUE7RTNCMnpIRjtFcUJwbkhJO0lNdk1GLGdCQUFBO0UzQjh6SEY7RXFCbm5ISTtJTTNNRixpQ0FBQTtFM0JpMEhGO0VxQjFuSEk7SU12TUYsMkJBQUE7RTNCbzBIRjtFcUJ6bkhJO0lNM01GLDRDQUFBO0UzQnUwSEY7RXFCaG9ISTtJTXZNRiwyQkFBQTtFM0IwMEhGO0VxQi9uSEk7SU0zTUYsNENBQUE7RTNCNjBIRjtFcUJ0b0hJO0lNdk1GLGdCQUFBO0UzQmcxSEY7RXFCcm9ISTtJTTNNRixpQ0FBQTtFM0JtMUhGO0VxQjVvSEk7SU12TUYsMkJBQUE7RTNCczFIRjtFcUIzb0hJO0lNM01GLDRDQUFBO0UzQnkxSEY7RXFCbHBISTtJTXZNRiwyQkFBQTtFM0I0MUhGO0VxQmpwSEk7SU0zTUYsNENBQUE7RTNCKzFIRjtFcUJ4cEhJO0lNdk1GLGdCQUFBO0UzQmsySEY7RXFCdnBISTtJTTNNRixpQ0FBQTtFM0JxMkhGO0VxQjlwSEk7SU12TUYsMkJBQUE7RTNCdzJIRjtFcUI3cEhJO0lNM01GLDRDQUFBO0UzQjIySEY7RXFCcHFISTtJTXZNRiwyQkFBQTtFM0I4MkhGO0VxQm5xSEk7SU0zTUYsNENBQUE7RTNCaTNIRjtBQUNGO0FnQjl1SFE7RUttRUY7SU12TUYsZUFBQTtFM0JzM0hGO0VxQjNxSEk7SU0zTUYsZ0NBQUE7RTNCeTNIRjtFcUJsckhJO0lNdk1GLDBCQUFBO0UzQjQzSEY7RXFCanJISTtJTTNNRiwyQ0FBQTtFM0IrM0hGO0VxQnhySEk7SU12TUYsMkJBQUE7RTNCazRIRjtFcUJ2ckhJO0lNM01GLDRDQUFBO0UzQnE0SEY7RXFCOXJISTtJTXZNRixnQkFBQTtFM0J3NEhGO0VxQjdySEk7SU0zTUYsaUNBQUE7RTNCMjRIRjtFcUJwc0hJO0lNdk1GLDJCQUFBO0UzQjg0SEY7RXFCbnNISTtJTTNNRiw0Q0FBQTtFM0JpNUhGO0VxQjFzSEk7SU12TUYsMkJBQUE7RTNCbzVIRjtFcUJ6c0hJO0lNM01GLDRDQUFBO0UzQnU1SEY7RXFCaHRISTtJTXZNRixnQkFBQTtFM0IwNUhGO0VxQi9zSEk7SU0zTUYsaUNBQUE7RTNCNjVIRjtFcUJ0dEhJO0lNdk1GLDJCQUFBO0UzQmc2SEY7RXFCcnRISTtJTTNNRiw0Q0FBQTtFM0JtNkhGO0VxQjV0SEk7SU12TUYsMkJBQUE7RTNCczZIRjtFcUIzdEhJO0lNM01GLDRDQUFBO0UzQnk2SEY7RXFCbHVISTtJTXZNRixnQkFBQTtFM0I0NkhGO0VxQmp1SEk7SU0zTUYsaUNBQUE7RTNCKzZIRjtFcUJ4dUhJO0lNdk1GLDJCQUFBO0UzQms3SEY7RXFCdnVISTtJTTNNRiw0Q0FBQTtFM0JxN0hGO0VxQjl1SEk7SU12TUYsMkJBQUE7RTNCdzdIRjtFcUI3dUhJO0lNM01GLDRDQUFBO0UzQjI3SEY7QUFDRjtBZ0J4ekhRO0VLbUVGO0lNdk1GLGVBQUE7RTNCZzhIRjtFcUJydkhJO0lNM01GLGdDQUFBO0UzQm04SEY7RXFCNXZISTtJTXZNRiwwQkFBQTtFM0JzOEhGO0VxQjN2SEk7SU0zTUYsMkNBQUE7RTNCeThIRjtFcUJsd0hJO0lNdk1GLDJCQUFBO0UzQjQ4SEY7RXFCandISTtJTTNNRiw0Q0FBQTtFM0IrOEhGO0VxQnh3SEk7SU12TUYsZ0JBQUE7RTNCazlIRjtFcUJ2d0hJO0lNM01GLGlDQUFBO0UzQnE5SEY7RXFCOXdISTtJTXZNRiwyQkFBQTtFM0J3OUhGO0VxQjd3SEk7SU0zTUYsNENBQUE7RTNCMjlIRjtFcUJweEhJO0lNdk1GLDJCQUFBO0UzQjg5SEY7RXFCbnhISTtJTTNNRiw0Q0FBQTtFM0JpK0hGO0VxQjF4SEk7SU12TUYsZ0JBQUE7RTNCbytIRjtFcUJ6eEhJO0lNM01GLGlDQUFBO0UzQnUrSEY7RXFCaHlISTtJTXZNRiwyQkFBQTtFM0IwK0hGO0VxQi94SEk7SU0zTUYsNENBQUE7RTNCNitIRjtFcUJ0eUhJO0lNdk1GLDJCQUFBO0UzQmcvSEY7RXFCcnlISTtJTTNNRiw0Q0FBQTtFM0JtL0hGO0VxQjV5SEk7SU12TUYsZ0JBQUE7RTNCcy9IRjtFcUIzeUhJO0lNM01GLGlDQUFBO0UzQnkvSEY7RXFCbHpISTtJTXZNRiwyQkFBQTtFM0I0L0hGO0VxQmp6SEk7SU0zTUYsNENBQUE7RTNCKy9IRjtFcUJ4ekhJO0lNdk1GLDJCQUFBO0UzQmtnSUY7RXFCdnpISTtJTTNNRiw0Q0FBQTtFM0JxZ0lGO0FBQ0Y7QWdCbDRIUTtFS21FRjtJTXZNRixlQUFBO0UzQjBnSUY7RXFCL3pISTtJTTNNRixnQ0FBQTtFM0I2Z0lGO0VxQnQwSEk7SU12TUYsMEJBQUE7RTNCZ2hJRjtFcUJyMEhJO0lNM01GLDJDQUFBO0UzQm1oSUY7RXFCNTBISTtJTXZNRiwyQkFBQTtFM0JzaElGO0VxQjMwSEk7SU0zTUYsNENBQUE7RTNCeWhJRjtFcUJsMUhJO0lNdk1GLGdCQUFBO0UzQjRoSUY7RXFCajFISTtJTTNNRixpQ0FBQTtFM0IraElGO0VxQngxSEk7SU12TUYsMkJBQUE7RTNCa2lJRjtFcUJ2MUhJO0lNM01GLDRDQUFBO0UzQnFpSUY7RXFCOTFISTtJTXZNRiwyQkFBQTtFM0J3aUlGO0VxQjcxSEk7SU0zTUYsNENBQUE7RTNCMmlJRjtFcUJwMkhJO0lNdk1GLGdCQUFBO0UzQjhpSUY7RXFCbjJISTtJTTNNRixpQ0FBQTtFM0JpaklGO0VxQjEySEk7SU12TUYsMkJBQUE7RTNCb2pJRjtFcUJ6MkhJO0lNM01GLDRDQUFBO0UzQnVqSUY7RXFCaDNISTtJTXZNRiwyQkFBQTtFM0IwaklGO0VxQi8ySEk7SU0zTUYsNENBQUE7RTNCNmpJRjtFcUJ0M0hJO0lNdk1GLGdCQUFBO0UzQmdrSUY7RXFCcjNISTtJTTNNRixpQ0FBQTtFM0Jta0lGO0VxQjUzSEk7SU12TUYsMkJBQUE7RTNCc2tJRjtFcUIzM0hJO0lNM01GLDRDQUFBO0UzQnlrSUY7RXFCbDRISTtJTXZNRiwyQkFBQTtFM0I0a0lGO0VxQmo0SEk7SU0zTUYsNENBQUE7RTNCK2tJRjtBQUNGO0FxQm4zSEU7RUUvT0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtBdkJxbUlGO0FxQm4zSEk7RUc5SUYsWUFBQTtFQUNBLGdCQUFBO0F4Qm9nSUY7QXFCbjNISTtFR3JIQSxZQVRNO0F4Qm8vSFY7QXFCbDNISTtFR3pIQSxZQVRNO0F4QnUvSFY7QXFCdjJITTtFQUNFLDZCQUFBO01BQUEsZ0JBQUE7QXJCeTJIUjtBZ0JsK0hRO0VLd0hGO0lBQ0UsNkJBQUE7UUFBQSxnQkFBQTtFckI2MkhOO0FBQ0Y7QWdCditIUTtFS3dIRjtJQUNFLDZCQUFBO1FBQUEsZ0JBQUE7RXJCazNITjtBQUNGO0FnQnYrSFE7RUttSEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VyQnUzSE47QUFDRjtBZ0I1K0hRO0VLbUhGO0lBQ0UsNkJBQUE7UUFBQSxnQkFBQTtFckI0M0hOO0FBQ0Y7QWdCai9IUTtFS21IRjtJQUNFLDZCQUFBO1FBQUEsZ0JBQUE7RXJCaTRITjtBQUNGO0FxQnQzSE07RUcvTEosbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7QXhCd2pJRjtBcUIxMkhRO0VHbktKLHFCQVRNO0F4QnloSVY7QXFCNzJIUTtFR25LSixzQkFUTTtBeEI0aElWO0FxQmgzSFE7RUduS0osV0FUTTtBeEIraElWO0FxQm4zSFE7RUduS0osc0JBVE07QXhCa2lJVjtBcUJ0M0hRO0VHbktKLHNCQVRNO0F4QnFpSVY7QXFCejNIUTtFR25LSixXQVRNO0F4QndpSVY7QXFCNTNIUTtFR25LSixzQkFUTTtBeEIyaUlWO0FxQi8zSFE7RUduS0osc0JBVE07QXhCOGlJVjtBcUJsNEhRO0VHbktKLFdBVE07QXhCaWpJVjtBcUJyNEhRO0VHbktKLHNCQVRNO0F4Qm9qSVY7QXFCeDRIUTtFR25LSixzQkFUTTtBeEJ1aklWO0FxQjM0SFE7RUduS0osWUFUTTtBeEIwaklWO0FnQmxpSVE7RUtnSUE7SUcxTE4sbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsWUFUTTtFeEIraklSO0VxQmw2SEk7SUcvTEosbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXhCb21JQTtFcUIvNUhNO0lHMUpKLFlBVE07RXhCcWtJUjtFcUJ6NUhNO0lHbktKLHFCQVRNO0V4QndrSVI7RXFCNTVITTtJR25LSixzQkFUTTtFeEIya0lSO0VxQi81SE07SUduS0osV0FUTTtFeEI4a0lSO0VxQmw2SE07SUduS0osc0JBVE07RXhCaWxJUjtFcUJyNkhNO0lHbktKLHNCQVRNO0V4Qm9sSVI7RXFCeDZITTtJR25LSixXQVRNO0V4QnVsSVI7RXFCMzZITTtJR25LSixzQkFUTTtFeEIwbElSO0VxQjk2SE07SUduS0osc0JBVE07RXhCNmxJUjtFcUJqN0hNO0lHbktKLFdBVE07RXhCZ21JUjtFcUJwN0hNO0lHbktKLHNCQVRNO0V4Qm1tSVI7RXFCdjdITTtJR25LSixzQkFUTTtFeEJzbUlSO0VxQjE3SE07SUduS0osWUFUTTtFeEJ5bUlSO0FBQ0Y7QWdCbGxJUTtFS2dJQTtJRzFMTixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxZQVRNO0V4QittSVI7RXFCbDlISTtJRy9MSixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFeEJvcElBO0VxQi84SE07SUcxSkosWUFUTTtFeEJxbklSO0VxQno4SE07SUduS0oscUJBVE07RXhCd25JUjtFcUI1OEhNO0lHbktKLHNCQVRNO0V4QjJuSVI7RXFCLzhITTtJR25LSixXQVRNO0V4QjhuSVI7RXFCbDlITTtJR25LSixzQkFUTTtFeEJpb0lSO0VxQnI5SE07SUduS0osc0JBVE07RXhCb29JUjtFcUJ4OUhNO0lHbktKLFdBVE07RXhCdW9JUjtFcUIzOUhNO0lHbktKLHNCQVRNO0V4QjBvSVI7RXFCOTlITTtJR25LSixzQkFUTTtFeEI2b0lSO0VxQmorSE07SUduS0osV0FUTTtFeEJncElSO0VxQnArSE07SUduS0osc0JBVE07RXhCbXBJUjtFcUJ2K0hNO0lHbktKLHNCQVRNO0V4QnNwSVI7RXFCMStITTtJR25LSixZQVRNO0V4QnlwSVI7QUFDRjtBZ0I3bklRO0VLMkhBO0lHMUxOLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFlBVE07RXhCK3BJUjtFcUJsZ0lJO0lHL0xKLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V4Qm9zSUE7RXFCLy9ITTtJRzFKSixZQVRNO0V4QnFxSVI7RXFCei9ITTtJR25LSixxQkFUTTtFeEJ3cUlSO0VxQjUvSE07SUduS0osc0JBVE07RXhCMnFJUjtFcUIvL0hNO0lHbktKLFdBVE07RXhCOHFJUjtFcUJsZ0lNO0lHbktKLHNCQVRNO0V4QmlySVI7RXFCcmdJTTtJR25LSixzQkFUTTtFeEJvcklSO0VxQnhnSU07SUduS0osV0FUTTtFeEJ1cklSO0VxQjNnSU07SUduS0osc0JBVE07RXhCMHJJUjtFcUI5Z0lNO0lHbktKLHNCQVRNO0V4QjZySVI7RXFCamhJTTtJR25LSixXQVRNO0V4QmdzSVI7RXFCcGhJTTtJR25LSixzQkFUTTtFeEJtc0lSO0VxQnZoSU07SUduS0osc0JBVE07RXhCc3NJUjtFcUIxaElNO0lHbktKLFlBVE07RXhCeXNJUjtBQUNGO0FnQjdxSVE7RUsySEE7SUcxTE4sbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsWUFUTTtFeEIrc0lSO0VxQmxqSUk7SUcvTEosbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RXhCb3ZJQTtFcUIvaUlNO0lHMUpKLFlBVE07RXhCcXRJUjtFcUJ6aUlNO0lHbktKLHFCQVRNO0V4Qnd0SVI7RXFCNWlJTTtJR25LSixzQkFUTTtFeEIydElSO0VxQi9pSU07SUduS0osV0FUTTtFeEI4dElSO0VxQmxqSU07SUduS0osc0JBVE07RXhCaXVJUjtFcUJyaklNO0lHbktKLHNCQVRNO0V4Qm91SVI7RXFCeGpJTTtJR25LSixXQVRNO0V4QnV1SVI7RXFCM2pJTTtJR25LSixzQkFUTTtFeEIwdUlSO0VxQjlqSU07SUduS0osc0JBVE07RXhCNnVJUjtFcUJqa0lNO0lHbktKLFdBVE07RXhCZ3ZJUjtFcUJwa0lNO0lHbktKLHNCQVRNO0V4Qm12SVI7RXFCdmtJTTtJR25LSixzQkFUTTtFeEJzdklSO0VxQjFrSU07SUduS0osWUFUTTtFeEJ5dklSO0FBQ0Y7QWdCN3RJUTtFSzJIQTtJRzFMTixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxZQVRNO0V4Qit2SVI7RXFCbG1JSTtJRy9MSixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFeEJveUlBO0VxQi9sSU07SUcxSkosWUFUTTtFeEJxd0lSO0VxQnpsSU07SUduS0oscUJBVE07RXhCd3dJUjtFcUI1bElNO0lHbktKLHNCQVRNO0V4QjJ3SVI7RXFCL2xJTTtJR25LSixXQVRNO0V4Qjh3SVI7RXFCbG1JTTtJR25LSixzQkFUTTtFeEJpeElSO0VxQnJtSU07SUduS0osc0JBVE07RXhCb3hJUjtFcUJ4bUlNO0lHbktKLFdBVE07RXhCdXhJUjtFcUIzbUlNO0lHbktKLHNCQVRNO0V4QjB4SVI7RXFCOW1JTTtJR25LSixzQkFUTTtFeEI2eElSO0VxQmpuSU07SUduS0osV0FUTTtFeEJneUlSO0VxQnBuSU07SUduS0osc0JBVE07RXhCbXlJUjtFcUJ2bklNO0lHbktKLHNCQVRNO0V4QnN5SVI7RXFCMW5JTTtJR25LSixZQVRNO0V4Qnl5SVI7QUFDRjs7QXFCbG5JTTtFQ25URSxtQkFBQTtFQUFBLHNCQUFBO0F0QjA2SVI7QWdCdnhJUTtFS2dLRjtJQ25URSxvQkFBQTtJQUFBLHVCQUFBO0V0Qis2SU47QUFDRjtBZ0I3eElRO0VLZ0tGO0lDblRFLG1CQUFBO0lBQUEsc0JBQUE7RXRCcTdJTjtBQUNGO0FxQjluSU07RUN4VEUsbUJBQUE7RUFBQSxzQkFBQTtBdEIwN0lSO0FnQnZ5SVE7RUtxS0Y7SUN4VEUsb0JBQUE7SUFBQSx1QkFBQTtFdEIrN0lOO0FBQ0Y7QWdCN3lJUTtFS3FLRjtJQ3hURSxtQkFBQTtJQUFBLHNCQUFBO0V0QnE4SU47QUFDRjs7QXFCLzFJRTtFQ3ZHTSxtQkFBQTtFQUFBLHNCQUFBO0F0QjI4SVI7QWdCeHpJUTtFSzVDTjtJQ3ZHTSxvQkFBQTtJQUFBLHVCQUFBO0V0Qmc5SU47QUFDRjtBZ0I5eklRO0VLNUNOO0lDdkdNLG1CQUFBO0lBQUEsc0JBQUE7RXRCczlJTjtBQUNGO0FxQjUySUk7RUd5QkEseUJBVE07RUZsSEosa0JBQUE7RUFBQSxxQkFBQTtBdEJtOUlOO0FnQnowSVE7RUtqQ0E7SUdrQkosMkJBVE07SUZsSEosbUJBQUE7SUFBQSxzQkFBQTtFdEJ5OUlKO0FBQ0Y7QWdCaDFJUTtFS2pDQTtJR2tCSix5QkFUTTtJRmxISixrQkFBQTtJQUFBLHFCQUFBO0V0QmcrSUo7QUFDRjtBcUIzNUlFO0VHcURFLFlBVE07QXhCazNJVjtBcUIxNUlFO0VHaURFLFlBVE07QXhCcTNJVjtBcUJyNUlJO0VHeUNBLGtDQVRNO0F4QnczSVY7QXFCeDVJSTtFR3lDQSxtQ0FUTTtBeEIyM0lWO0FxQjM1SUk7RUd5Q0Esd0JBVE07QXhCODNJVjtBcUI5NUlJO0VHeUNBLG1DQVRNO0F4Qmk0SVY7QXFCajZJSTtFR3lDQSxtQ0FUTTtBeEJvNElWO0FxQnA2SUk7RUd5Q0Esd0JBVE07QXhCdTRJVjtBcUJ2NklJO0VHeUNBLG1DQVRNO0F4QjA0SVY7QXFCMTZJSTtFR3lDQSxtQ0FUTTtBeEI2NElWO0FxQjc2SUk7RUd5Q0Esd0JBVE07QXhCZzVJVjtBcUJoN0lJO0VHeUNBLG1DQVRNO0F4Qm01SVY7QXFCbjdJSTtFR3lDQSxtQ0FUTTtBeEJzNUlWO0FxQnQ3SUk7RUd5Q0EseUJBVE07QXhCeTVJVjtBZ0JqNElRO0VLcEVOO0lHcURFLFlBVE07RXhCNjVJUjtFcUJyOElBO0lHaURFLFlBVE07RXhCZzZJUjtFcUJoOElFO0lHeUNBLG9DQVRNO0V4Qm02SVI7RXFCbjhJRTtJR3lDQSxxQ0FUTTtFeEJzNklSO0VxQnQ4SUU7SUd5Q0EsMEJBVE07RXhCeTZJUjtFcUJ6OElFO0lHeUNBLHFDQVRNO0V4QjQ2SVI7RXFCNThJRTtJR3lDQSxxQ0FUTTtFeEIrNklSO0VxQi84SUU7SUd5Q0EsMEJBVE07RXhCazdJUjtFcUJsOUlFO0lHeUNBLHFDQVRNO0V4QnE3SVI7RXFCcjlJRTtJR3lDQSxxQ0FUTTtFeEJ3N0lSO0VxQng5SUU7SUd5Q0EsMEJBVE07RXhCMjdJUjtFcUIzOUlFO0lHeUNBLHFDQVRNO0V4Qjg3SVI7RXFCOTlJRTtJR3lDQSxxQ0FUTTtFeEJpOElSO0VxQmorSUU7SUd5Q0EsMkJBVE07RXhCbzhJUjtFcUJoL0lBO0lHcURFLFlBVE07RXhCdThJUjtFcUIvK0lBO0lHaURFLFlBVE07RXhCMDhJUjtFcUIxK0lFO0lHeUNBLG9DQVRNO0V4QjY4SVI7RXFCNytJRTtJR3lDQSxxQ0FUTTtFeEJnOUlSO0VxQmgvSUU7SUd5Q0EsMEJBVE07RXhCbTlJUjtFcUJuL0lFO0lHeUNBLHFDQVRNO0V4QnM5SVI7RXFCdC9JRTtJR3lDQSxxQ0FUTTtFeEJ5OUlSO0VxQnovSUU7SUd5Q0EsMEJBVE07RXhCNDlJUjtFcUI1L0lFO0lHeUNBLHFDQVRNO0V4Qis5SVI7RXFCLy9JRTtJR3lDQSxxQ0FUTTtFeEJrK0lSO0VxQmxnSkU7SUd5Q0EsMEJBVE07RXhCcStJUjtFcUJyZ0pFO0lHeUNBLHFDQVRNO0V4QncrSVI7RXFCeGdKRTtJR3lDQSxxQ0FUTTtFeEIyK0lSO0VxQjNnSkU7SUd5Q0EsMkJBVE07RXhCOCtJUjtBQUNGO0FnQnY5SVE7RUtwRU47SUdxREUsWUFUTTtFeEJtL0lSO0VxQjNoSkE7SUdpREUsWUFUTTtFeEJzL0lSO0VxQnRoSkU7SUd5Q0Esa0NBVE07RXhCeS9JUjtFcUJ6aEpFO0lHeUNBLG1DQVRNO0V4QjQvSVI7RXFCNWhKRTtJR3lDQSx3QkFUTTtFeEIrL0lSO0VxQi9oSkU7SUd5Q0EsbUNBVE07RXhCa2dKUjtFcUJsaUpFO0lHeUNBLG1DQVRNO0V4QnFnSlI7RXFCcmlKRTtJR3lDQSx3QkFUTTtFeEJ3Z0pSO0VxQnhpSkU7SUd5Q0EsbUNBVE07RXhCMmdKUjtFcUIzaUpFO0lHeUNBLG1DQVRNO0V4QjhnSlI7RXFCOWlKRTtJR3lDQSx3QkFUTTtFeEJpaEpSO0VxQmpqSkU7SUd5Q0EsbUNBVE07RXhCb2hKUjtFcUJwakpFO0lHeUNBLG1DQVRNO0V4QnVoSlI7RXFCdmpKRTtJR3lDQSx5QkFUTTtFeEIwaEpSO0VxQnRrSkE7SUdxREUsWUFUTTtFeEI2aEpSO0VxQnJrSkE7SUdpREUsWUFUTTtFeEJnaUpSO0VxQmhrSkU7SUd5Q0Esa0NBVE07RXhCbWlKUjtFcUJua0pFO0lHeUNBLG1DQVRNO0V4QnNpSlI7RXFCdGtKRTtJR3lDQSx3QkFUTTtFeEJ5aUpSO0VxQnprSkU7SUd5Q0EsbUNBVE07RXhCNGlKUjtFcUI1a0pFO0lHeUNBLG1DQVRNO0V4QitpSlI7RXFCL2tKRTtJR3lDQSx3QkFUTTtFeEJrakpSO0VxQmxsSkU7SUd5Q0EsbUNBVE07RXhCcWpKUjtFcUJybEpFO0lHeUNBLG1DQVRNO0V4QndqSlI7RXFCeGxKRTtJR3lDQSx3QkFUTTtFeEIyakpSO0VxQjNsSkU7SUd5Q0EsbUNBVE07RXhCOGpKUjtFcUI5bEpFO0lHeUNBLG1DQVRNO0V4QmlrSlI7RXFCam1KRTtJR3lDQSx5QkFUTTtFeEJva0pSO0VxQmhuSkE7SUdxREUsWUFUTTtFeEJ1a0pSO0VxQi9tSkE7SUdpREUsWUFUTTtFeEIwa0pSO0VxQjFtSkU7SUd5Q0Esa0NBVE07RXhCNmtKUjtFcUI3bUpFO0lHeUNBLG1DQVRNO0V4QmdsSlI7RXFCaG5KRTtJR3lDQSx3QkFUTTtFeEJtbEpSO0VxQm5uSkU7SUd5Q0EsbUNBVE07RXhCc2xKUjtFcUJ0bkpFO0lHeUNBLG1DQVRNO0V4QnlsSlI7RXFCem5KRTtJR3lDQSx3QkFUTTtFeEI0bEpSO0VxQjVuSkU7SUd5Q0EsbUNBVE07RXhCK2xKUjtFcUIvbkpFO0lHeUNBLG1DQVRNO0V4QmttSlI7RXFCbG9KRTtJR3lDQSx3QkFUTTtFeEJxbUpSO0VxQnJvSkU7SUd5Q0EsbUNBVE07RXhCd21KUjtFcUJ4b0pFO0lHeUNBLG1DQVRNO0V4QjJtSlI7RXFCM29KRTtJR3lDQSx5QkFUTTtFeEI4bUpSO0FBQ0Y7QWdCbGxKUTtFS3pFTjtJR3FERSxZQVRNO0V4Qm1uSlI7RXFCM3BKQTtJR2lERSxZQVRNO0V4QnNuSlI7RXFCdHBKRTtJR3lDQSxrQ0FUTTtFeEJ5bkpSO0VxQnpwSkU7SUd5Q0EsbUNBVE07RXhCNG5KUjtFcUI1cEpFO0lHeUNBLHdCQVRNO0V4QituSlI7RXFCL3BKRTtJR3lDQSxtQ0FUTTtFeEJrb0pSO0VxQmxxSkU7SUd5Q0EsbUNBVE07RXhCcW9KUjtFcUJycUpFO0lHeUNBLHdCQVRNO0V4QndvSlI7RXFCeHFKRTtJR3lDQSxtQ0FUTTtFeEIyb0pSO0VxQjNxSkU7SUd5Q0EsbUNBVE07RXhCOG9KUjtFcUI5cUpFO0lHeUNBLHdCQVRNO0V4QmlwSlI7RXFCanJKRTtJR3lDQSxtQ0FUTTtFeEJvcEpSO0VxQnBySkU7SUd5Q0EsbUNBVE07RXhCdXBKUjtFcUJ2ckpFO0lHeUNBLHlCQVRNO0V4QjBwSlI7QUFDRjtBZ0I5bkpRO0VLekVOO0lHcURFLFlBVE07RXhCK3BKUjtFcUJ2c0pBO0lHaURFLFlBVE07RXhCa3FKUjtFcUJsc0pFO0lHeUNBLGtDQVRNO0V4QnFxSlI7RXFCcnNKRTtJR3lDQSxtQ0FUTTtFeEJ3cUpSO0VxQnhzSkU7SUd5Q0Esd0JBVE07RXhCMnFKUjtFcUIzc0pFO0lHeUNBLG1DQVRNO0V4QjhxSlI7RXFCOXNKRTtJR3lDQSxtQ0FUTTtFeEJpckpSO0VxQmp0SkU7SUd5Q0Esd0JBVE07RXhCb3JKUjtFcUJwdEpFO0lHeUNBLG1DQVRNO0V4QnVySlI7RXFCdnRKRTtJR3lDQSxtQ0FUTTtFeEIwckpSO0VxQjF0SkU7SUd5Q0Esd0JBVE07RXhCNnJKUjtFcUI3dEpFO0lHeUNBLG1DQVRNO0V4QmdzSlI7RXFCaHVKRTtJR3lDQSxtQ0FUTTtFeEJtc0pSO0VxQm51SkU7SUd5Q0EseUJBVE07RXhCc3NKUjtBQUNGO0FnQjFxSlE7RUt6RU47SUdxREUsWUFUTTtFeEIyc0pSO0VxQm52SkE7SUdpREUsWUFUTTtFeEI4c0pSO0VxQjl1SkU7SUd5Q0Esa0NBVE07RXhCaXRKUjtFcUJqdkpFO0lHeUNBLG1DQVRNO0V4Qm90SlI7RXFCcHZKRTtJR3lDQSx3QkFUTTtFeEJ1dEpSO0VxQnZ2SkU7SUd5Q0EsbUNBVE07RXhCMHRKUjtFcUIxdkpFO0lHeUNBLG1DQVRNO0V4QjZ0SlI7RXFCN3ZKRTtJR3lDQSx3QkFUTTtFeEJndUpSO0VxQmh3SkU7SUd5Q0EsbUNBVE07RXhCbXVKUjtFcUJud0pFO0lHeUNBLG1DQVRNO0V4QnN1SlI7RXFCdHdKRTtJR3lDQSx3QkFUTTtFeEJ5dUpSO0VxQnp3SkU7SUd5Q0EsbUNBVE07RXhCNHVKUjtFcUI1d0pFO0lHeUNBLG1DQVRNO0V4Qit1SlI7RXFCL3dKRTtJR3lDQSx5QkFUTTtFeEJrdkpSO0FBQ0Y7O0FxQnhpSkU7RU9wVkUsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO01BQUEsaUJBQUE7RUFDQSwwQkFBQTtNQUFBLHVCQUFBO1VBQUEsb0JBQUE7RUEyQkksWUFBQTtBNUJzMkpSOztBcUI1aUpFO0VBQ0UsV0FBQTtBckIraUpKOztBcUI1aUpFO0VPM1NFLGdCQUFBO0VBQ0EsZUFBQTtFQUdGLGlDQUFBO0VBQ0EsNENBQUE7QTVCeTFKRjs7QXFCL2lKRTtFT25URSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFNRixpQ0FBQTtFQUNBLDRDQUFBO0E1QmkySkY7O0FxQmxqSkU7RU94U0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFB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a0NBVE07QXhCdWtLVjtBcUJ2bUtJO0VHeUNBLG1DQVRNO0F4QjBrS1Y7QXFCMW1LSTtFR3lDQSx3QkFUTTtBeEI2a0tWO0FxQjdtS0k7RUd5Q0EsbUNBVE07QXhCZ2xLVjtBcUJobktJO0VHeUNBLG1DQVRNO0F4Qm1sS1Y7QXFCbm5LSTtFR3lDQSx3QkFUTTtBeEJzbEtWO0FxQnRuS0k7RUd5Q0EsbUNBVE07QXhCeWxLVjtBcUJ6bktJO0VHeUNBLG1DQVRNO0F4QjRsS1Y7QXFCNW5LSTtFR3lDQSx3QkFUTTtBeEIrbEtWO0FxQi9uS0k7RUd5Q0EsbUNBVE07QXhCa21LVjtBcUJsb0tJO0VHeUNBLG1DQVRNO0F4QnFtS1Y7QXFCcm9LSTtFR3lDQSx5QkFUTTtBeEJ3bUtWO0FnQmhsS1E7RUtwRU47SUdxREUsWUFUTTtFeEI0bUtSO0VxQnBwS0E7SUdpREUsWUFUTTtFeEIrbUtSO0VxQi9vS0U7SUd5Q0Esb0NBVE07RXhCa25LUjtFcUJscEtFO0lHeUNBLHFDQVRNO0V4QnFuS1I7RXFCcnBLRTtJR3lDQSwwQkFUTTtFeEJ3bktSO0VxQnhwS0U7SUd5Q0EscUNBVE07RXhCMm5LUjtFcUIzcEtFO0lHeUNBLHFDQVRNO0V4QjhuS1I7RXFCOXBLRTtJR3lDQSwwQkFUTTtFeEJpb0tSO0VxQmpxS0U7SUd5Q0EscUNBVE07RXhCb29LUjtFcUJwcUtFO0lHeUNBLHFDQVRNO0V4QnVvS1I7RXFCdnFLRTtJR3lDQSwwQkFUTTtFeEIwb0tSO0VxQjFxS0U7SUd5Q0EscUNBVE07RXhCNm9LUjtFcUI3cUtFO0lHeUNBLHFDQVRNO0V4QmdwS1I7RXFCaHJLRTtJR3lDQSwyQkFUTTtFeEJtcEtSO0VxQi9yS0E7SUdxREUsWUFUTTtFeEJzcEtSO0VxQjlyS0E7SUdpREUsWUFUTTtFeEJ5cEtSO0VxQnpyS0U7SUd5Q0Esb0NBVE07RXhCNHBLUjtFcUI1cktFO0lHeUNBLHFDQVRNO0V4QitwS1I7RXFCL3JLRTtJR3lDQSwwQkFUTTtFeEJrcUtSO0VxQmxzS0U7SUd5Q0EscUNBVE07RXhCcXFLUjtFcUJyc0tFO0lHeUNBLHFDQVRNO0V4QndxS1I7RXFCeHNLRTtJR3lDQSwwQkFUTTtFeEIycUtSO0VxQjNzS0U7SUd5Q0EscUNBVE07RXhCOHFLUjtFcUI5c0tFO0lHeUNBLHFDQVRNO0V4QmlyS1I7RXFCanRLRTtJR3lDQSwwQkFUTTtFeEJvcktSO0VxQnB0S0U7SUd5Q0EscUNBVE07RXhCdXJLUjtFcUJ2dEtFO0lHeUNBLHFDQVRNO0V4QjByS1I7RXFCMXRLRTtJR3lDQSwyQkFUTTtFeEI2cktSO0FBQ0Y7QWdCdHFLUTtFS3BFTjtJR3FERSxZQVRNO0V4QmtzS1I7RXFCMXVLQTtJR2lERSxZQVRNO0V4QnFzS1I7RXFCcnVLRTtJR3lDQSxrQ0FUTTtFeEJ3c0tSO0VxQnh1S0U7SUd5Q0EsbUNBVE07RXhCMnNLUjtFcUIzdUtFO0lHeUNBLHdCQVRNO0V4QjhzS1I7RXFCOXVLRTtJR3lDQSxtQ0FUTTtFeEJpdEtSO0VxQmp2S0U7SUd5Q0EsbUNBVE07RXhCb3RLUjtFcUJwdktFO0lHeUNBLHdCQVRNO0V4QnV0S1I7RXFCdnZLRTtJR3lDQSxtQ0FUTTtFeEIwdEtSO0VxQjF2S0U7SUd5Q0EsbUNBVE07RXhCNnRLUjtFcUI3dktFO0lHeUNBLHdCQVRNO0V4Qmd1S1I7RXFCaHdLRTtJR3lDQSxtQ0FUTTtFeEJtdUtSO0VxQm53S0U7SUd5Q0EsbUNBVE07RXhCc3VLUjtFcUJ0d0tFO0lHeUNBLHlCQVRNO0V4Qnl1S1I7RXFCcnhLQTtJR3FERSxZQVRNO0V4QjR1S1I7RXFCcHhLQTtJR2lERSxZQVRNO0V4Qit1S1I7RXFCL3dLRTtJR3lDQSxrQ0FUTTtFeEJrdktSO0VxQmx4S0U7SUd5Q0EsbUNBVE07RXhCcXZLUjtFcUJyeEtFO0lHeUNBLHdCQVRNO0V4Qnd2S1I7RXFCeHhLRTtJR3lDQSxtQ0FUTTtFeEIydktSO0VxQjN4S0U7SUd5Q0EsbUNBVE07RXhCOHZLUjtFcUI5eEtFO0lHeUNBLHdCQVRNO0V4Qml3S1I7RXFCanlLRTtJR3lDQSxtQ0FUTTtFeEJvd0tSO0VxQnB5S0U7SUd5Q0EsbUNBVE07RXhCdXdLUjtFcUJ2eUtFO0lHeUNBLHdCQVRNO0V4QjB3S1I7RXFCMXlLRTtJR3lDQSxtQ0FUTTtFeEI2d0tSO0VxQjd5S0U7SUd5Q0EsbUNBVE07RXhCZ3hLUjtFcUJoektFO0lHeUNBLHlCQVRNO0V4Qm14S1I7RXFCL3pLQTtJR3FERSxZQVRNO0V4QnN4S1I7RXFCOXpLQTtJR2lERSxZQVRNO0V4Qnl4S1I7RXFCenpLRTtJR3lDQSxrQ0FUTTtFeEI0eEtSO0VxQjV6S0U7SUd5Q0EsbUNBVE07RXhCK3hLUjtFcUIvektFO0lHeUNBLHdCQVRNO0V4Qmt5S1I7RXFCbDBLRTtJR3lDQSxtQ0FUTTtFeEJxeUtSO0VxQnIwS0U7SUd5Q0EsbUNBVE07RXhCd3lLUjtFcUJ4MEtFO0lHeUNBLHdCQVRNO0V4QjJ5S1I7RXFCMzBLRTtJR3lDQSxtQ0FUTTtFeEI4eUtSO0VxQjkwS0U7SUd5Q0EsbUNBVE07RXhCaXpLUjtFcUJqMUtFO0lHeUNBLHdCQVRNO0V4Qm96S1I7RXFCcDFLRTtJR3lDQSxtQ0FUTTtFeEJ1ektSO0VxQnYxS0U7SUd5Q0EsbUNBVE07RXhCMHpLUjtFcUIxMUtFO0lHeUNBLHlCQVRNO0V4QjZ6S1I7QUFDRjtBZ0JqeUtRO0VLekVOO0lHcURFLFlBVE07RXhCazBLUjtFcUIxMktBO0lHaURFLFlBVE07RXhCcTBLUjtFcUJyMktFO0lHeUNBLGtDQVRNO0V4QncwS1I7RXFCeDJLRTtJR3lDQSxtQ0FUTTtFeEIyMEtSO0VxQjMyS0U7SUd5Q0Esd0JBVE07RXhCODBLUjtFcUI5MktFO0lHeUNBLG1DQVRNO0V4QmkxS1I7RXFCajNLRTtJR3lDQSxtQ0FUTTtFeEJvMUtSO0VxQnAzS0U7SUd5Q0Esd0JBVE07RXhCdTFLUjtFcUJ2M0tFO0lHeUNBLG1DQVRNO0V4QjAxS1I7RXFCMTNLRTtJR3lDQSxtQ0FUTTtFeEI2MUtSO0VxQjczS0U7SUd5Q0Esd0JBVE07RXhCZzJLUjtFcUJoNEtFO0lHeUNBLG1DQVRNO0V4Qm0yS1I7RXFCbjRLRTtJR3lDQSxtQ0FUTTtFeEJzMktSO0VxQnQ0S0U7SUd5Q0EseUJBVE07RXhCeTJLUjtBQUNGO0FnQjcwS1E7RUt6RU47SUdxREUsWUFUTTtFeEI4MktSO0VxQnQ1S0E7SUdpREUsWUFUTTtFeEJpM0tSO0VxQmo1S0U7SUd5Q0Esa0NBVE07RXhCbzNLUjtFcUJwNUtFO0lHeUNBLG1DQVRNO0V4QnUzS1I7RXFCdjVLRTtJR3lDQSx3QkFUTTtFeEIwM0tSO0VxQjE1S0U7SUd5Q0EsbUNBVE07RXhCNjNLUjtFcUI3NUtFO0lHeUNBLG1DQVRNO0V4Qmc0S1I7RXFCaDZLRTtJR3lDQSx3QkFUTTtFeEJtNEtSO0VxQm42S0U7SUd5Q0EsbUNBVE07RXhCczRLUjtFcUJ0NktFO0lHeUNBLG1DQVRNO0V4Qnk0S1I7RXFCejZLRTtJR3lDQSx3QkFUTTtFeEI0NEtSO0VxQjU2S0U7SUd5Q0EsbUNBVE07RXhCKzRLUjtFcUIvNktFO0lHeUNBLG1DQVRNO0V4Qms1S1I7RXFCbDdLRTtJR3lDQSx5QkFUTTtFeEJxNUtSO0FBQ0Y7QWdCejNLUTtFS3pFTjtJR3FERSxZQVRNO0V4QjA1S1I7RXFCbDhLQTtJR2lERSxZQVRNO0V4QjY1S1I7RXFCNzdLRTtJR3lDQSxrQ0FUTTtFeEJnNktSO0VxQmg4S0U7SUd5Q0EsbUNBVE07RXhCbTZLUjtFcUJuOEtFO0lHeUNBLHdCQVRNO0V4QnM2S1I7RXFCdDhLRTtJR3lDQSxtQ0FUTTtFeEJ5NktSO0VxQno4S0U7SUd5Q0EsbUNBVE07RXhCNDZLUjtFcUI1OEtFO0lHeUNBLHdCQVRNO0V4Qis2S1I7RXFCLzhLRTtJR3lDQSxtQ0FUTTtFeEJrN0tSO0VxQmw5S0U7SUd5Q0EsbUNBVE07RXhCcTdLUjtFcUJyOUtFO0lHeUNBLHdCQVRNO0V4Qnc3S1I7RXFCeDlLRTtJR3lDQSxtQ0FUTTtFeEIyN0tSO0VxQjM5S0U7SUd5Q0EsbUNBVE07RXhCODdLUjtFcUI5OUtFO0lHeUNBLHlCQVRNO0V4Qmk4S1I7QUFDRjs7QXFCOXFLSTtFTzFZSSwwQkFBQTtBNUI0akxSO0FnQjk2S1E7RUs0UEo7SU8xWUksNEJBQUE7RTVCZ2tMTjtBQUNGO0FnQm43S1E7RUs0UEo7SU8xWUksMEJBQUE7RTVCcWtMTjtBQUNGO0FnQm43S1E7RUt1UEo7SU8xWUksMEJBQUE7RTVCMGtMTjtBQUNGO0FnQng3S1E7RUt1UEo7SU8xWUksMEJBQUE7RTVCK2tMTjtBQUNGO0FnQjc3S1E7RUt1UEo7SU8xWUksMEJBQUE7RTVCb2xMTjtBQUNGOztBZ0J2OEtRO0VLZ1FGO0lPOVlFLDRCQUFBO0U1QjBsTE47QUFDRjtBZ0I3OEtRO0VLZ1FGO0lPOVlFLDBCQUFBO0U1QitsTE47QUFDRjtBZ0I3OEtRO0VLMlBGO0lPOVlFLDBCQUFBO0U1Qm9tTE47QUFDRjtBZ0JsOUtRO0VLMlBGO0lPOVlFLDBCQUFBO0U1QnltTE47QUFDRjtBZ0J2OUtRO0VLMlBGO0lPOVlFLDBCQUFBO0U1QjhtTE47QUFDRjtBNkJyaExFO0VDOUJBLGdCMUI1QmE7RXlCL0JYLGtCQUFBO0VBQ0EsaUJBQUE7RUFJQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDhCQUFBO0VBQUEsNkJBQUE7TUFBQSx1QkFBQTtVQUFBLG1CQUFBO0E3QittTEo7QTZCeGhMSTtFQy9DQSxxQkFGUztFQUdULG9CQUhTO0E5QjZrTGI7QWdCNStLUTtFYWhESjtJQy9DQSxzQkFGUztJQUdULHFCQUhTO0U5QmtsTFg7QUFDRjtBZ0JsL0tRO0VhaERKO0lDL0NBLG1CQUZTO0lBR1Qsa0JBSFM7RTlCd2xMWDtBQUNGO0FnQm4vS1E7RWFyREo7SUMvQ0EsbUJBRlM7SUFHVCxrQkFIUztFOUI4bExYO0FBQ0Y7QWdCei9LUTtFYXJESjtJQy9DQSxtQkFGUztJQUdULGtCQUhTO0U5Qm9tTFg7QUFDRjtBZ0IvL0tRO0VhckRKO0lDL0NBLG1CQUZTO0lBR1Qsa0JBSFM7RTlCMG1MWDtBQUNGO0E2QnZqTE07RUFDRSxlQUFBO0VBQ0EsY0FBQTtBN0J5akxSO0E2QnBqTEk7RUM1Q0YsZUFIUztBOUJzbUxYO0E2QnBqTE07RUFDRSxrQkFBQTtFQUNBLGlCQUFBO0E3QnNqTFI7QTZCbGpMSTtFQ3JERixlQUhTO0E5QjZtTFg7QTZCaGpMTTtFRXJJRixnQkFGVTtFQUdWLGVBSFU7QS9CMnJM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QUZVO0lBR1Ysa0JBSFU7RS9CdXNOWjtBQUNGOztBNkJ2K01FO0VBQ0UsbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7RUFDQSxlQUFBO0E3QjArTUo7O0E2QnQrTUU7RUUvTEUsbUJBRGdCO0EvQjBxTnBCO0ErQnZxTkk7RUFDRSxnQkFBQTtBL0J5cU5OO0FnQnJqTlE7RWF3RU47SUUvTEUscUJBRGdCO0UvQmlyTmxCO0UrQjlxTkU7SUFDRSxnQkFBQTtFL0Jnck5KO0FBQ0Y7QWdCN2pOUTtFYXdFTjtJRS9MRSxtQkFEZ0I7RS9CeXJObEI7RStCdHJORTtJQUNFLGdCQUFBO0UvQndyTko7QUFDRjs7QWlDNTZNRTtFQTFPQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0Esa0I3QndNYztFNkI5TFosbUI3QjZMYTtFNkIxTGYsNkI3QmtNYztFNkJqTWQsZ0I3QnJCYztFNkJzQmQseUU3QjRNa0I7RTZCNU1sQixpRTdCNE1rQjtFNkIzTWxCLG9CN0JxTG1CO0U2QnBMbkIsaUJBQUE7RUFFQSx3QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QWpDOG9ORjtBTS9qTkU7RUFDRSxVQUFBO0FOaWtOSjtBaUMxN01NO0VBQ0UsaUJBRm1CO0FqQzg3TTNCO0FpQzc3TU07RUFDRSxrQkFGbUI7QWpDaThNM0I7QWlDaDhNTTtFQUNFLGtCQUZtQjtBakNvOE0zQjtBaUM5N01JO0VBck5BLGNBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7QWpDc3BOSjtBaUNybE5FO0VBSUUseUJoQmhGZ0I7RWdCaUZoQixjN0J4SEk7QUo0c05SO0FpQ2psTkU7RUFDRSwwQzdCaUdzQjtFNkJoR3RCLGM3QjdISTtBSmd0TlI7QWlDN2xORTtFQUlFLHlCN0JsSWlCO0U2Qm1JakIsY0FiUTtBakN5bU5aO0FpQ3psTkU7RUFDRSx1Q0FibUI7RUFjbkIsY0FsQlE7QWpDNm1OWjtBaUNybU5FO0VBSUUseUI3QmxJaUI7RTZCbUlqQixjQWJRO0FqQ2luTlo7QWlDam1ORTtFQUNFLHVDQWJtQjtFQWNuQixjQWxCUTtB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enZPRTtFQTVCQSxrQkFBQTtFQUNBLFdBQUE7RUFFQSxhQUFBO0VBRUEsWW5DbVdlO0VtQ2xXZixhbkM4VmlCO0VtQzVWakIsa0JBQUE7RUFDQSx5Qm5DNlZnQjtFbUM1VmhCLGdCbkN5Q2M7RW1DeENkLHlCbENwQ1k7RWtDc0NaLGVuQzBWbUI7QUoyN05yQjtBdUNqeE9FO0VBQ0UsY0FBQTtBdkNteE9KO0F1Q2h4T0U7RUFDRSxjQUFBO0VBQ0EsbUJBQUE7QXZDa3hPSjs7QXVDdndPTTtFQUNFLFluQ3VVUztBSm04TmpCOztBdUMzd09NO0VBQ0UsWW5DdVVTO0FKdThOakI7O0F1Qy93T007RUFDRSxZbkN1VVM7QUoyOE5qQjs7QXdDdHJPRTtFQW5GQSxjQUFBO0VBQ0EsbUJwQ0NjO0FKNHdPaEI7QU0zck9FO0VBRUUsY0FBQTtFQUNBLFlBQUE7RUFHRSwwQkFBQTtNQUFBLGFBQUE7RUFDQSw0QkFBQTtNQUFBLGlCQUFBO1VBQUEsUUFBQTtBTjByT047QU10ck9FO0VBQ0UsV0FBQTtBTndyT0o7QXdDbnhPRTtFQUNFLHFCcEN3ZHNCO0VvQ3ZkdEIsZ0JwQ0NZO0VvQ0FaLGlCcENrZG1CO0VvQzVjakIsYUFBQTtBeENneE9OO0F3Qzl3T007RUFFRSxxQkFBQTtBeEMrd09SO0FnQm5zT1E7RXdCekZOO0lBdUJNLHFCQUFBO0V4Q3l3T047QUFDRjtBd0Nwd09FOztFQUVFLGNBQUE7RUFDQSx1QnBDd2JzQjtFb0N2YnRCLGdCcEM5Qlk7RW9DK0JaLGNwQzNDSTtBSml6T1I7QXdDcHdPSTs7RUFDRSxtQnBDakRPO0FKd3pPYjtBd0MxdE9JO0VBbENGLHVCcEN3YXdCO0VvQ3ZheEIsbUJ2QmxCa0I7RXVCbUJsQixjcEMxRE07RW9DMkROLGVBQUE7QXhDK3ZPRjtBd0M1dE9JO0VBM0JGLHVCcEM2WndCO0VvQzVaeEIsY3BDdkVZO0VvQ3dFWixtQkFBQTtBeEMwdk9GO0F3Q3h2T0U7RUFDRSx1QkFBQTtBeEMwdk9KO0F3Q2h1T0k7RUFqQkYsdUJwQytZd0I7RW9DOVl4QixZQUFBO0VBQ0EsY3BDcEZNO0FKdzBPUjs7QXdDL3RPSTs7RUFFRSxxQkFBQTtFQUNBLG9CQUFBO0VBQ0EsWXBDK1hzQjtBSm0yTjVCOztBd0MvdE9JOztFQUVFLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxZcEN5WGtCO0FKeTJOeEI7O0F5Qy93T0U7RUFuR0Esa0JBQUE7RUFDQSxxQkFBQTtFQUVBLGlDckNzeUJzQjtFcUNyeUJ0QixnQnBDNUNZO0VvQzZDWixZckNreUJlO0FKbWxOakI7O0F5Q254T0U7RUE5RkEsa0JBQUE7RUFDQSwyQkFBQTtFQUNBLGFBQUE7RUFFQSxnQnJDZ3lCa0I7RXFDL3hCbEIsZ0JyQzh4QmdCO0VxQzV4QmhCLGdCckN3QmM7RXFDdkJkLHlCckNXTTtFcUNWTixjckNrR2dCO0VxQ2pHaEIsY3JDVU07QUp5Mk9SO0F5Q2ozT0U7RUFDRSxrQkFBQTtBekNtM09KO0F5Qy8yT0k7RW5DbENGLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLG1CQUFBO0VBQ0EscUJGa3pCa0I7RUVoekJsQixXQUFBO0VBT0UsbUJBQUE7RUFDQSw2Q0FBQTtFbUNxQkUsWUFBQTtBekN3M09OO0F5Q3IzT0k7RUFDRSxTQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtBekN1M09OO0F5Q2wzT0k7RW5DOUNGLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLG1CQUFBO0VBQ0EscUJGa3pCa0I7RUVoekJsQixXQUFBO0VBR0Usc0JBQUE7RUFDQSw2Q0FBQTtFbUNxQ0UsU0FBQTtFQUNBLFlBQUE7QXpDMjNPTjtBeUN4M09JO0VBQ0UsU0FBQTtFQUNBLG1DQUFBO1VBQUEsMkJBQUE7QXpDMDNPTjtBeUNyM09JO0VuQzNERixjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxtQkFBQTtFQUNBLHFCRmt6QmtCO0VFaHpCbEIsV0FBQTtFQVdFLHFCQUFBO0VBQ0EseURBQUE7RW1DMENFLFVBQUE7QXpDODNPTjtBeUMzM09JO0VBQ0UsWUFBQTtFQUNBLFFBQUE7RUFDQSxtQ0FBQTtVQUFBLDJCQUFBO0F6QzYzT047QXlDeDNPSTtFbkN4RUYsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFDQSxxQkZrekJrQjtFRWh6QmxCLFdBQUE7RUFlRSxvQkFBQTtFQUNBLHlEQUFBO0VtQ21ERSxXQUFBO0VBQ0EsVUFBQTtBekNpNE9OO0F5QzkzT0k7RUFDRSxZQUFBO0VBQ0EsUUFBQTtFQUNBLG1DQUFBO1VBQUEsMkJBQUE7QXpDZzRPTjtBeUM1M09FO0VBQ0UsWUFBQTtFQUNBLFFBQUE7QXpDODNPSjtBeUMzM09FO0VBQ0UsV0FBQTtFQUNBLFNBQUE7QXpDNjNPSjtBeUMxM09FO0VBQ0UsU0FBQTtFQUNBLFdBQUE7QXpDNDNPSjtBeUN6M09FO0VBQ0UsVUFBQTtFQUNBLFVBQUE7QXpDMjNPSjs7QTBDMTNPRTtFQXhGQSxjQUFBO0VBQ0EsbUJ0Q3FCTTtFc0NwQk4scUJBQUE7QTFDczlPRjtBMENuOU9JO0VBQ0UsbUJBQUE7QTFDcTlPTjs7QTBDOThPRTtFQUNFLHNCQUFBO0ExQ2k5T0o7QTBDOThPRTtFQUNFLHNCQUFBO0ExQ2c5T0o7O0EwQ2w0T0U7RUFsRUEsa0JBQUE7RUFDQSxjQUFBO0VBQ0EscUJ0QzBKdUI7RXNDeEp2Qix5QnRDMEp5QjtFc0N6SnpCLGdCQUFBO0VBRUEsaUJ0Q2tKMEI7RXNDakoxQixjQUFBO0VBQ0EsY3pCc0JrQjtBakJnN09wQjtBMENwOE9FO0VBQ0UsZ0N0Q2tKdUI7RXNDakp2QixzQkFBQTtBMUNzOE9KO0EwQ244T0U7RUFFRSx5QnRDOUJTO0FKaytPYjtBMENoOE9JO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsWXRDNEhtQjtBSnMwT3pCO0EwQy83T0k7RUFDRSxZdEN5SG9CO0FKdzBPMUI7O0EwQzE1T0U7RUEzQkEsYUFBQTtFQUNBLGF0Q29IMEI7RXNDbEgxQix5QnRDZ0h5QjtFc0MvR3pCLGdCQUFBO0VBQ0EseUJ0Q3hETTtFc0MwRE4sY3RDM0RNO0FKay9PUjtBMENyN09FO0VBQ0UsZ0N0Q3lHdUI7QUo4ME8zQjs7QTJDMWhQRTs7RUFuQkEsa0JBQUE7RUFDQSxTQUFBO0VBQ0EscUJ2Q2l0QitCO0V1Q2h0Qi9CLG1CQUFBO0VBQ0EsZ0JBQUE7QTNDa2pQRjtBMkNoalBFOzs7Ozs7OztFQUlFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBM0NzalBKO0EyQzFpUE07O0VBQ0Usc0JBQUE7QTNDNmlQUjs7QTRDbDlPRTtFQWpGQSxTeEN5dkJXO0V3Q3h2QlgseUJBQUE7RUFDQSxtQnhDa0JNO0V3Q2pCTixxQkFBQTtBNUN1aVBGO0FNLzdPRTtFQUVFLGNBQUE7RUFDQSxZQUFBO0VBR0UsMEJBQUE7TUFBQSxhQUFBO0VBQ0EsNEJBQUE7TUFBQSxpQkFBQTtVQUFBLFFBQUE7QU44N09OO0FNMTdPRTtFQUNFLFdBQUE7QU40N09KOztBNEMzaVBFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0E1QzhpUEo7O0E0Qzc5T0k7RUFDRSxVQUFBO0E1Q2crT047QTRDOTlPTTtFQUNFLHVCQUFBO0E1Q2crT1I7O0E0QzE5T0U7RUFDRSxtQjNCNUNnQjtBakJ5Z1BwQjtBNEMzOU9JO0VBQ0UsY0FBQTtBNUM2OU9OO0E0QzM5T007RUFFRSxpQ0FBQTtBNUM0OU9SOztBNEN2OU9FO0VBM0ZBLFdBQUE7QTVDc2pQRjtBNENwalBFO0VBRUUsY0FBQTtFQUNBLHVCeENtdUJlO0V3Q2x1QmYsaUJ4Q2d1QmlCO0V3Qy90QmpCLGNBQUE7RUFDQSxjM0IyQmdCO0FqQjBoUHBCO0FNMThPRTtFQUNFLFVBQUE7QU40OE9KO0E0Q3RqUEk7RUFDRSxtQnhDZkU7RXdDZ0JGLCtCQUFBO0E1Q3dqUE47QTRDcmpQSTtFQUVFLG1CeEN6Qk87RXdDMEJQLGMzQmlCYztBakJxaVBwQjs7QTRDeitPRTtFQWxFQSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxtQnhDbkNNO0V3Q29DTixjeENyQ007RXdDc0NOLGlDQUFBO0VBQUEseUJBQUE7QTVDK2lQRjs7QTRDNytPRTtFQTNEQSx5QkFBQTtFQUNBLGNBQUE7QTVDNGlQRjs7QTRDOStPRTtFQXZEQSxhQUFBO0VBQ0EsYXhDMnJCb0I7QUo4Mk50QjtBNEN2aVBFO0VBQ0UsY0FBQTtBNUN5aVBKOztBNkNoek9FO0VBMVVBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUdFLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsbUJBQUE7TUFBQSxlQUFBO0E3QzRuUEo7QU1uL09FO0VBQ0UsVUFBQTtBTnEvT0o7QTZDeG5QRTs7RUFFRSxjQUFBO0VBQ0EscUJBQUE7RUFDQSxjQUFBO0VBQ0Esb0J6Q2tCa0I7QUp3bVB0QjtBNkN0blBFOzs7O0VBSUUsZ0JBQUE7QTdDd25QSjtBNkNyblBFO0VBQ0UscUJBQUE7QTdDdW5QSjtBNkN4ME9JO0VBbk5FLG1CQUFBO01BQUEsZUFBQTtFQUNBLDhCQUFBO0VBQUEsNkJBQUE7TUFBQSx1QkFBQTtVQUFBLG1CQUFBO0E3QzhoUE47QTZDdjBPSTtFQTdNRSxxQkFBQTtNQUFBLGlCQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDBCQUFBO1VBQUEsc0JBQUE7QTdDdWhQTjtBNkM1OE9ROzs7OztFQUlJLGdCQUFBO0E3Qys4T1o7QTZDL25QSTtFQUNFLG1CQUFBO01BQUEsaUJBQUE7VUFBQSxhQUFBO0E3Q2lvUE47QTZDdDlPUTs7Ozs7RUFJSSxnQkFBQTtBN0N5OU9aO0E2Q2gxT0k7RUF0TUEseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0E3Q3loUEo7QTZDdGhQRTtFQUNFLGlCekM2UmlCO0FKMnZPckI7QTZDcmhQRTtFQUNFLFVBQUE7QTdDdWhQSjtBZ0I5alBRO0U2QjJPRjtJQTFPQSxtQkFBQTtRQUFBLGVBQUE7SUFDQSw4QkFBQTtJQUFBLDZCQUFBO1FBQUEsdUJBQUE7WUFBQSxtQkFBQTtFN0Npa1BKO0U2Q3AxT0k7SUFuT0EscUJBQUE7UUFBQSxpQkFBQTtJQUNBLDRCQUFBO0lBQUEsNkJBQUE7UUFBQSwwQkFBQTtZQUFBLHNCQUFBO0U3QzBqUEo7RTZDM3BQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3QzZwUEo7RTZDOXBQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3Q2dxUEo7QUFDRjtBZ0I5a1BRO0U2QjJPRjtJQTFPQSxtQkFBQTtRQUFBLGVBQUE7SUFDQSw4QkFBQTtJQUFBLDZCQUFBO1FBQUEsdUJBQUE7WUFBQSxtQkFBQTtFN0NpbFBKO0U2Q3AyT0k7SUFuT0EscUJBQUE7UUFBQSxpQkFBQTtJQUNBLDRCQUFBO0lBQUEsNkJBQUE7UUFBQSwwQkFBQTtZQUFBLHNCQUFBO0U3QzBrUEo7RTZDM3FQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3QzZxUEo7RTZDOXFQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3Q2dyUEo7QUFDRjtBZ0J6bFBRO0U2QnNPRjtJQTFPQSxtQkFBQTtRQUFBLGVBQUE7SUFDQSw4QkFBQTtJQUFBLDZCQUFBO1FBQUEsdUJBQUE7WUFBQSxtQkFBQTtFN0NpbVBKO0U2Q3AzT0k7SUFuT0EscUJBQUE7UUFBQSxpQkFBQTtJQUNBLDRCQUFBO0lBQUEsNkJBQUE7UUFBQSwwQkFBQTtZQUFBLHNCQUFBO0U3QzBsUEo7RTZDM3JQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3QzZyUEo7RTZDOXJQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3Q2dzUEo7QUFDRjtBZ0J6bVBRO0U2QnNPRjtJQTFPQSxtQkFBQTtRQUFBLGVBQUE7SUFDQSw4QkFBQTtJQUFBLDZCQUFBO1FBQUEsdUJBQUE7WUFBQSxtQkFBQTtFN0NpblBKO0U2Q3A0T0k7SUFuT0EscUJBQUE7UUFBQSxpQkFBQTtJQUNBLDRCQUFBO0lBQUEsNkJBQUE7UUFBQSwwQkFBQTtZQUFBLHNCQUFBO0U3QzBtUEo7RTZDM3NQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3QzZzUEo7RTZDOXNQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3Q2d0UEo7QUFDRjtBZ0J6blBRO0U2QnNPRjtJQTFPQSxtQkFBQTtRQUFBLGVBQUE7SUFDQSw4QkFBQTtJQUFBLDZCQUFBO1FBQUEsdUJBQUE7WUFBQSxtQkFBQTtFN0Npb1BKO0U2Q3A1T0k7SUFuT0EscUJBQUE7UUFBQSxpQkFBQTtJQUNBLDRCQUFBO0lBQUEsNkJBQUE7UUFBQSwwQkFBQTtZQUFBLHNCQUFBO0U3QzBuUEo7RTZDM3RQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3QzZ0UEo7RTZDOXRQRTtJQUNFLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxhQUFBO0U3Q2d1UEo7QUFDRjtBNkNqNU9JO0VBdE1BLGVBQUE7RUFDQSxpQnpDNUl3QjtBSnN1UDVCO0E2Q2xsUEk7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtBN0NvbFBOO0E2Q3JsUEk7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtBN0N1bFBOO0E2Q3ppUEk7RUFFSSw4QkFBQTtFQUFBLDZCQUFBO01BQUEseUJBQUE7VUFBQSxxQkFBQTtBN0MwaVBSO0E2Q3ZpUE07Ozs7O0VBR0UscUJ6QzZNWTtBSjgxT3BCO0E2Q2xpUEk7RUFFSSw4QkFBQTtFQUFBLDZCQUFBO01BQUEseUJBQUE7VUFBQSxxQkFBQTtBN0NtaVBSO0E2Q2hpUE07Ozs7O0VBR0Usb0J6QzRMWTtBSncyT3BCO0E2QzNoUEk7RUFFSSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtBN0M0aFBSO0E2Q3RoUE07Ozs7O0VBUUksNEJBQUE7TUFBQSxtQkFBQTtFQUNBLHNCekNrS1U7RXlDaktWLGtCQUFBO0E3Q3FoUFY7QTZDL2dQSTtFQUVJLDRCQUFBO0VBQUEsNkJBQUE7TUFBQSw0QkFBQTtVQUFBLHdCQUFBO0E3Q2doUFI7QTZDMWdQTTs7Ozs7RUFRSSw0QkFBQTtNQUFBLG1CQUFBO0VBQ0Esc0J6QzBJVTtFeUN6SVYsa0JBQUE7QTdDeWdQVjtBNkMxNU9JO0VBL0ZGLG1CekN3SDRCO0V5Q3ZINUIsY0FBQTtBN0M0L09GO0E2Q3g1T007RUFyR0osbUJ6Q3dINEI7RXlDdkg1QixjQUFBO0E3Q2dnUEY7QTZDdDVPSTtFQXZYRSx1QkFBQTtNQUFBLG9CQUFBO1VBQUEsMkJBQUE7QTdDZ3hQTjtBNkN4d1BNO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSxxQkFBQTtNQUFBLGtCQUFBO1VBQUEseUJBQUE7QTdDMHdQUjtBNkN4d1BRO0VBQ0UsdUJBQUE7TUFBQSxvQkFBQTtVQUFBLDJCQUFBO0E3QzB3UFY7QTZDdHdQTTtFQUNFLGNBQUE7RUFDQSxpQjFDTk87QUg4d1BmO0E2Q3R3UFE7RUFDRSxpQjFDVEs7QUhpeFBmO0E2Q3JvUFE7Ozs7O0VBUUksaUJBQUE7QTdDb29QWjtBNkNyNk9NO0VBNVFGLGtCekN2SXdCO0V5Q3dJeEIsY0FBQTtBN0NvclBKO0E2Qy92UE07RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHdCQUFBO01BQUEscUJBQUE7VUFBQSx1QkFBQTtBN0Npd1BSO0E2Qy92UFE7RUFDRSx1QkFBQTtNQUFBLG9CQUFBO1VBQUEsMkJBQUE7QTdDaXdQVjtBNkN0Nk9JO0VBdElGLG9CekN4Um9CO0V5QzBScEIsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtBN0M4aVBGOztBNkNyNk9NO0VBRUksd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0E3Q3U2T1Y7QTZDaHhQTTtFQUNFLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0E3Q2t4UFI7QTZDaHhQUTtFQUNFLHVCQUFBO01BQUEsb0JBQUE7VUFBQSwyQkFBQTtBN0NreFBWOztBNkNyNk9FO0VBQ0UsYUFBQTtBN0N3Nk9KOztBOENyMlBJO0VBTUUsV0FBQTtBOUNtMlBOO0E4Q2gyUEk7RUFJRSxvQjFDRGdCO0FKZzJQdEI7QThDNTFQSTtFQUNFLG9CMUNMZ0I7QUptMlB0QjtBOEMzMVBJO0VEb0lBLGVBQUE7RUFDQSxpQnpDNUl3QjtBSnMyUDVCO0E4QzExUE07RUQySEYsa0J6Q3ZJd0I7RXlDd0l4QixjQUFBO0E3Q2t1UEo7QThDcDVQRTtFQUNFLGtCQUFBO0E5Q3M1UEo7QThDcDVQSTtFeENYRixjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxtQkFBQTtFQUNBLGlCRndOeUI7RUV0TnpCLFdBQUE7RUFHRSxzQkFBQTtFQUNBLDZDQUFBO0V3Q0VFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBOUM2NVBOO0E4Q3o1UEU7RUFDRSxXQUFBO0VBQ0EsVUFBQTtBOUMyNVBKO0E4Q3g1UEU7RUFDRSxXQUFBO0VBQ0EsVUFBQTtBOUMwNVBKO0E4Qy8yUE07RUFDRSxpQ0FBQTtVQUFBLHlCQUFBO0VBQ0EsaUNBQUE7VUFBQSx5QkFBQTtBOUNpM1BSOztBOENyMlBFO0VBQ0Usa0JBQUE7QTlDdzJQSjs7QThDcjJQRTtFQUNFLGtCMUNrSWlDO0FKc3VQckM7O0E4Q3AyUEU7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBRUEsVzFDeUhpQztFMEN4SGpDLFkxQ3dIaUM7RTBDdEhqQyxlQUFBO0E5Q3EyUEo7QThDNTFQSTtFeEM5R0YsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFDQSxpQkZ3TnlCO0VFdE56QixXQUFBO0VBR0Usc0JBQUE7RUFDQSw2Q0FBQTtFd0NzR0UsTUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0E5Q28yUE47O0E4Qy8xUEU7RUFDRSw2QkFBQTtVQUFBLHFCQUFBO0VBQ0EsaUNBQUE7VUFBQSx5QkFBQTtBOUNrMlBKOztBOEMvMVBFO0V4QzhDQSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLDJCQUFBO0VBQ0EsaUNBQUE7RUFDQSw4QkFBQTtFQUNBLG9CQUFBO0FOcXpQRjs7QStDMzhQRTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7QS9DODhQSjtBK0M1OFBJO0VBQ0UsY0FBQTtBL0M4OFBOO0ErQzM4UEk7RUFDRSwrQkFBQTtFQUFBLHVCQUFBO0EvQzY4UE47O0ErQ3Y4UEk7RUFDRSxvQjNDS2dCO0UyQ0poQixtQjNDUkU7QUprOVBSO0ErQ3Q4UEk7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUVBLFdBQUE7RUFDQSxtQjNDbkJFO0UyQ29CRixrRDNDMlJpQjtFMkMzUmpCLDBDM0MyUmlCO0UyQzNSakIsa0MzQzJSaUI7RTJDM1JqQixrRTNDMlJpQjtBSjRxUHZCO0ErQ3I4UE07RUFDRSxVQUFBO0VBQ0EsY0FBQTtFQUNBLG9DQUFBO1VBQUEsNEJBQUE7QS9DdThQUjtBK0NwOFBNO0VBQ0UsbUNBQUE7VUFBQSwyQkFBQTtBL0NzOFBSO0ErQ2w4UE07RUFDRSxvQjNDdEJjO0FKMDlQdEI7QStDaDhQSTtFRmtIQSxlQUFBO0VBQ0EsY3pDeUpzQjtBSndyUDFCO0ErQ2g4UEk7RUFDRSxnQkFBQTtBL0NrOFBOO0ErQ2xoUUU7RUFDRSxrQkFBQTtBL0NvaFFKO0ErQ2xoUUk7RXpDSEYsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFDQSxpQkZ1VnFCO0VFclZyQixXQUFBO0VBV0UscUJBQUE7RUFDQSx5REFBQTtFeUNkRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7QS9DMmhRTjtBK0N2aFFFO0V6Q1pBLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLG1CQUFBO0VBQ0EsaUJGNld3QjtFRTNXeEIsV0FBQTtFQVdFLHFCQUFBO0VBQ0EseURBQUE7RXlDTEEsV0FBQTtFQUNBLFVBQUE7QS9DZ2lRSjtBK0M3aFFFO0V6Q2xCQSxjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxtQkFBQTtFQUNBLGlCRjZXd0I7RUUzV3hCLFdBQUE7RUFlRSxvQkFBQTtFQUNBLHlEQUFBO0V5Q0hBLFdBQUE7RUFDQSxVQUFBO0EvQ3NpUUo7QStDcitQTTtFekN0RkosY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFDQSxpQkZ1VnFCO0VFclZyQixXQUFBO0VBZUUsb0JBQUE7RUFDQSx5REFBQTtFeUNpRUkscUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0EvQzgrUFI7O0FnRGppUU07RUFDRSxTQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7QWhEb2lRUjtBZ0QvaFFNO0VBQ0UsU0FBQTtFQUNBLFdBQUE7RUFDQSxPQUFBO0FoRGlpUVI7QWdENWhRTTtFQUNFLGtCQUFBO0VBQ0EscUI1QzBUcUI7QUpvdVA3QjtBZ0QzaFFNO0UxQzVESixjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxtQkFBQTtFQUNBLGlCRjZXd0I7RUUzV3hCLFdBQUE7RUFHRSxzQkFBQTtFQUNBLDZDQUFBO0UwQ21ESSxVQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0FoRG9pUVI7QU14OFBFO0VBQ0UsVUFBQTtBTjA4UEo7QWdEMy9QSTtFQUVFLG9CNUM3RGdCO0FKeWpRdEI7QWdEeC9QSTtFQUNFLHVCNUN5UWlDO0U0Q3hRakMsYzVDdVE0QjtBSm12UGxDO0FnRHYvUEk7RUFDRSxhQUFBO0FoRHkvUE47QWdEdC9QSTtFSGtFQSxlQUFBO0VBQ0EsY3pDMEx5QjtBSjZ2UDdCO0FnRC9pUU07RUFDRSxNQUFBO0FoRGlqUVI7QWdEN2lRUTtFQUNFLE1BQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtBaEQraVFWO0FnRDFpUVE7RUFDRSxXQUFBO0VBQ0EsVUFBQTtBaEQ0aVFWO0FnRDVtUUU7RUFDRSxXQUFBO0FoRDhtUUo7QWdEM21RRTtFMUN6QkEsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFDQSxpQkY2V3dCO0VFM1d4QixXQUFBO0VBZUUsb0JBQUE7RUFDQSx5REFBQTtFMENJQSxXQUFBO0VBQ0EsU0FBQTtBaERvblFKO0FnRGpuUUU7RTFDL0JBLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLG1CQUFBO0VBQ0EsaUJGNld3QjtFRTNXeEIsV0FBQTtFQVdFLHFCQUFBO0VBQ0EseURBQUE7QU51b1FKO0FnQnBoUVE7RWdDL0ZGO0lBQ0UsU0FBQTtJQUNBLFFBQUE7SUFDQSxVQUFBO0VoRHNuUU47RWdEam5RSTtJQUNFLFNBQUE7SUFDQSxXQUFBO0lBQ0EsT0FBQTtFaERtblFOO0VnRDltUUk7SUFDRSxrQkFBQTtJQUNBLHFCNUMwVHFCO0VKc3pQM0I7RWdEN21RSTtJMUM1REosY0FBQTtJQUNBLFFBQUE7SUFDQSxTQUFBO0lBRUEsbUJBQUE7SUFDQSxpQkY2V3dCO0lFM1d4QixXQUFBO0lBR0Usc0JBQUE7SUFDQSw2Q0FBQTtJMENtREksVUFBQTtJQUNBLFVBQUE7SUFDQSxnQkFBQTtFaERzblFOO0VnRGhuUUk7SUFDRSxNQUFBO0VoRGtuUU47RWdEOW1RTTtJQUNFLE1BQUE7SUFDQSxXQUFBO0lBQ0EsVUFBQTtFaERnblFSO0VnRDNtUU07SUFDRSxXQUFBO0lBQ0EsVUFBQTtFaEQ2bVFSO0VnRDdxUUE7SUFDRSxXQUFBO0VoRCtxUUY7RWdENXFRQTtJMUN6QkEsY0FBQTtJQUNBLFFBQUE7SUFDQSxTQUFBO0lBRUEsbUJBQUE7SUFDQSxpQkY2V3dCO0lFM1d4QixXQUFBO0lBZUUsb0JBQUE7SUFDQSx5REFBQTtJMENJQSxXQUFBO0lBQ0EsU0FBQTtFaERxclFGO0VnRGxyUUE7STFDL0JBLGNBQUE7SUFDQSxRQUFBO0lBQ0EsU0FBQTtJQUVBLG1CQUFBO0lBQ0EsaUJGNld3QjtJRTNXeEIsV0FBQTtJQVdFLHFCQUFBO0lBQ0EseURBQUE7RU53c1FGO0FBQ0Y7QWdCdGxRUTtFZ0MvRkY7SUFDRSxTQUFBO0lBQ0EsUUFBQTtJQUNBLFVBQUE7RWhEd3JRTjtFZ0RuclFJO0lBQ0UsU0FBQTtJQUNBLFdBQUE7SUFDQSxPQUFBO0VoRHFyUU47RWdEaHJRSTtJQUNFLGtCQUFBO0lBQ0EscUI1QzBUcUI7RUp3M1AzQjtFZ0QvcVFJO0kxQzVESixjQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFFQSxtQkFBQTtJQUNBLGlCRjZXd0I7SUUzV3hCLFdBQUE7SUFHRSxzQkFBQTtJQUNBLDZDQUFBO0kwQ21ESSxVQUFBO0lBQ0EsVUFBQTtJQUNBLGdCQUFBO0VoRHdyUU47RWdEbHJRSTtJQUNFLE1BQUE7RWhEb3JRTjtFZ0RoclFNO0lBQ0UsTUFBQTtJQUNBLFdBQUE7SUFDQSxVQUFBO0VoRGtyUVI7RWdEN3FRTTtJQUNFLFdBQUE7SUFDQSxVQUFBO0VoRCtxUVI7RWdEL3VRQTtJQUNFLFdBQUE7RWhEaXZRRjtFZ0Q5dVFBO0kxQ3pCQSxjQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFFQSxtQkFBQTtJQUNBLGlCRjZXd0I7SUUzV3hCLFdBQUE7SUFlRSxvQkFBQTtJQUNBLHlEQUFBO0kwQ0lBLFdBQUE7SUFDQSxTQUFBO0VoRHV2UUY7RWdEcHZRQTtJMUMvQkEsY0FBQTtJQUNBLFFBQUE7SUFDQSxTQUFBO0lBRUEsbUJBQUE7SUFDQSxpQkY2V3dCO0lFM1d4QixXQUFBO0lBV0UscUJBQUE7SUFDQSx5REFBQTtFTjB3UUY7QUFDRjtBZ0JucFFRO0VnQ3BHRjtJQUNFLFNBQUE7SUFDQSxRQUFBO0lBQ0EsVUFBQTtFaEQwdlFOO0VnRHJ2UUk7SUFDRSxTQUFBO0lBQ0EsV0FBQTtJQUNBLE9BQUE7RWhEdXZRTjtFZ0RsdlFJO0lBQ0Usa0JBQUE7SUFDQSxxQjVDMFRxQjtFSjA3UDNCO0VnRGp2UUk7STFDNURKLGNBQUE7SUFDQSxRQUFBO0lBQ0EsU0FBQTtJQUVBLG1CQUFBO0lBQ0EsaUJGNld3QjtJRTNXeEIsV0FBQTtJQUdFLHNCQUFBO0lBQ0EsNkNBQUE7STBDbURJLFVBQUE7SUFDQSxVQUFBO0lBQ0EsZ0JBQUE7RWhEMHZRTjtFZ0RwdlFJO0lBQ0UsTUFBQTtFaERzdlFOO0VnRGx2UU07SUFDRSxNQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7RWhEb3ZRUjtFZ0QvdVFNO0lBQ0UsV0FBQTtJQUNBLFVBQUE7RWhEaXZRUjtFZ0RqelFBO0lBQ0UsV0FBQTtFaERtelFGO0VnRGh6UUE7STFDekJBLGNBQUE7SUFDQSxRQUFBO0lBQ0EsU0FBQTtJQUVBLG1CQUFBO0lBQ0EsaUJGNld3QjtJRTNXeEIsV0FBQTtJQWVFLG9CQUFBO0lBQ0EseURBQUE7STBDSUEsV0FBQTtJQUNBLFNBQUE7RWhEeXpRRjtFZ0R0elFBO0kxQy9CQSxjQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFFQSxtQkFBQTtJQUNBLGlCRjZXd0I7SUUzV3hCLFdBQUE7SUFXRSxxQkFBQTtJQUNBLHlEQUFBO0VONDBRRjtBQUNGO0FnQnJ0UVE7RWdDcEdGO0lBQ0UsU0FBQTtJQUNBLFFBQUE7SUFDQSxVQUFBO0VoRDR6UU47RWdEdnpRSTtJQUNFLFNBQUE7SUFDQSxXQUFBO0lBQ0EsT0FBQTtFaER5elFOO0VnRHB6UUk7SUFDRSxrQkFBQTtJQUNBLHFCNUMwVHFCO0VKNC9QM0I7RWdEbnpRSTtJMUM1REosY0FBQTtJQUNBLFFBQUE7SUFDQSxTQUFBO0lBRUEsbUJBQUE7SUFDQSxpQkY2V3dCO0lFM1d4QixXQUFBO0lBR0Usc0JBQUE7SUFDQSw2Q0FBQTtJMENtREksVUFBQTtJQUNBLFVBQUE7SUFDQSxnQkFBQTtFaEQ0elFOO0VnRHR6UUk7SUFDRSxNQUFBO0VoRHd6UU47RWdEcHpRTTtJQUNFLE1BQUE7SUFDQSxXQUFBO0lBQ0EsVUFBQTtFaERzelFSO0VnRGp6UU07SUFDRSxXQUFBO0lBQ0EsVUFBQTtFaERtelFSO0VnRG4zUUE7SUFDRSxXQUFBO0VoRHEzUUY7RWdEbDNRQTtJMUN6QkEsY0FBQTtJQUNBLFFBQUE7SUFDQSxTQUFBO0lBRUEsbUJBQUE7SUFDQSxpQkY2V3dCO0lFM1d4QixXQUFBO0lBZUUsb0JBQUE7SUFDQSx5REFBQTtJMENJQSxXQUFBO0lBQ0EsU0FBQTtFaEQyM1FGO0VnRHgzUUE7STFDL0JBLGNBQUE7SUFDQSxRQUFBO0lBQ0EsU0FBQTtJQUVBLG1CQUFBO0lBQ0EsaUJGNld3QjtJRTNXeEIsV0FBQTtJQVdFLHFCQUFBO0lBQ0EseURBQUE7RU44NFFGO0FBQ0Y7QWdCdnhRUTtFZ0NwR0Y7SUFDRSxTQUFBO0lBQ0EsUUFBQTtJQUNBLFVBQUE7RWhEODNRTjtFZ0R6M1FJO0lBQ0UsU0FBQTtJQUNBLFdBQUE7SUFDQSxPQUFBO0VoRDIzUU47RWdEdDNRSTtJQUNFLGtCQUFBO0lBQ0EscUI1QzBUcUI7RUo4alEzQjtFZ0RyM1FJO0kxQzVESixjQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFFQSxtQkFBQTtJQUNBLGlCRjZXd0I7SUUzV3hCLFdBQUE7SUFHRSxzQkFBQTtJQUNBLDZDQUFBO0kwQ21ESSxVQUFBO0lBQ0EsVUFBQTtJQUNBLGdCQUFBO0VoRDgzUU47RWdEeDNRSTtJQUNFLE1BQUE7RWhEMDNRTjtFZ0R0M1FNO0lBQ0UsTUFBQTtJQUNBLFdBQUE7SUFDQSxVQUFBO0VoRHczUVI7RWdEbjNRTTtJQUNFLFdBQUE7SUFDQSxVQUFBO0VoRHEzUVI7RWdEcjdRQTtJQUNFLFdBQUE7RWhEdTdRRjtFZ0RwN1FBO0kxQ3pCQSxjQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFFQSxtQkFBQTtJQUNBLGlCRjZXd0I7SUUzV3hCLFdBQUE7SUFlRSxvQkFBQTtJQUNBLHlEQUFBO0kwQ0lBLFdBQUE7SUFDQSxTQUFBO0VoRDY3UUY7RWdEMTdRQTtJMUMvQkEsY0FBQTtJQUNBLFFBQUE7SUFDQSxTQUFBO0lBRUEsbUJBQUE7SUFDQSxpQkY2V3dCO0lFM1d4QixXQUFBO0lBV0UscUJBQUE7SUFDQSx5REFBQTtFTmc5UUY7QUFDRjtBZ0RsMVFNO0VBQ0UsU0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FoRG8xUVI7O0FnRC8wUUU7RUFDRSxZQUFBO0FoRGsxUUo7QWdEaDFRSTtFQUNFLFlBQUE7QWhEazFRTjs7QWdEOTBRRTtFQUNFLGtCQUFBO0FoRGkxUUo7QWdELzBRSTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7QWhEaTFRTjtBZ0Q5MFFJO0VBRUUsU0FBQTtFQUtFLFVBQUE7QWhEMjBRUjtBZ0R2MFFJO0VBQ0UsV0FBQTtFQUNBLFVBQUE7QWhEeTBRTjtBZ0R0MFFJO0VBQ0UsV0FBQTtFQUNBLFVBQUE7QWhEdzBRTjs7QWdEcDBRRTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBRUEsYUFBQTtFQUNBLGdCNUMwS3FCO0U0Q3hLckIseUI1QzhLa0I7RTRDN0tsQixtQjVDeEtJO0FKNitRUjtBZ0RuMFFJO0VBQ0Usb0I1Qy9KZ0I7QUpvK1F0QjtBZ0RoZ1JFO0VBQ0UsV0FBQTtBaERrZ1JKO0FnRC8vUUU7RTFDekJBLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLG1CQUFBO0VBQ0EsaUJGNld3QjtFRTNXeEIsV0FBQTtFQWVFLG9CQUFBO0VBQ0EseURBQUE7RTBDSUEsV0FBQTtFQUNBLFNBQUE7QWhEd2dSSjtBZ0RyZ1JFO0UxQy9CQSxjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxtQkFBQTtFQUNBLGlCRjZXd0I7RUUzV3hCLFdBQUE7RUFXRSxxQkFBQTtFQUNBLHlEQUFBO0FOMmhSSjtBZ0RwMVFNO0VBQ0UsZ0JBQUE7QWhEczFRUjtBZ0RsMVFJO0VBQ0UsV0FBQTtBaERvMVFOO0FnRC8wUUk7RUFDRSxjQUFBO0FoRGkxUU47O0FpRDNsUkU7RUFDRSxzQkFBQTtBakQ4bFJKOztBaUQzbFJFO0VBQ0UsdUJBQUE7QWpEOGxSSjs7QWlEM2xSRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0FqRDhsUko7O0FNejhRRTtFQUVFLGNBQUE7RUFDQSxZQUFBO0VBR0UsMEJBQUE7TUFBQSxhQUFBO0VBQ0EsNEJBQUE7TUFBQSxpQkFBQTtVQUFBLFFBQUE7QU55OFFOO0FNcjhRRTtFQUNFLFdBQUE7QU51OFFKOztBa0RsalJJO0VDbkJGLHVCQWhCUTtNQWdCUixvQkFoQlE7VUFnQlIsMkJBaEJRO0FuRHlsUlY7O0FrRHRqUkk7RUNuQkYscUJBaEJRO01BZ0JSLGtCQWhCUTtVQWdCUix5QkFoQlE7QW5ENmxSVjs7QWtEMWpSSTtFQ25CRix3QkFoQlE7TUFnQlIscUJBaEJRO1VBZ0JSLHVCQWhCUTtBbkRpbVJWOztBa0Q5alJJO0VDbkJGLHlCQWhCUTtNQWdCUixzQkFoQlE7VUFnQlIsOEJBaEJRO0FuRHFtUlY7O0FrRGxrUkk7RUNuQkYseUJBaEJRO01BZ0JSLDZCQWhCUTtBbkR5bVJWOztBa0Q3alJRO0VDNUJOLHVCQWhCUTtNQWdCUixvQkFoQlE7VUFnQlIsMkJBaEJRO0FuRDZtUlY7O0FrRGprUlE7RUM1Qk4scUJBaEJRO01BZ0JSLGtCQWhCUTtVQWdCUix5QkFoQlE7QW5EaW5SVjs7QWtEcmtSUTtFQzVCTix3QkFoQlE7TUFnQlIscUJBaEJRO1VBZ0JSLHVCQWhCUTtBbkRxblJWOztBa0Roa1JJO0VDcENGLHdCQVJRO01BUVIscUJBUlE7VUFRUix1QkFSUTtBbkRnblJWOztBa0Roa1JJO0VDeEJGLDBCQVBRO01BT1Isc0JBUFE7QW5EbW1SVjs7QWtEeGtSSTtFQ3BDRixzQkFSUTtNQVFSLG1CQVJRO1VBUVIscUJBUlE7QW5Ed25SVjs7QWtEeGtSSTtFQ3hCRix3QkFQUTtNQU9SLG9CQVBRO0FuRDJtUlY7O0FrRGhsUkk7RUNwQ0YseUJBUlE7TUFRUixzQkFSUTtVQVFSLG1CQVJRO0FuRGdvUlY7O0FrRGhsUkk7RUN4QkYsMkJBUFE7TUFPUixrQkFQUTtBbkRtblJWOztBa0R4bFJJO0VDcENGLDBCQVJRO01BUVIsdUJBUlE7VUFRUixvQkFSUTtBbkR3b1JWOztBa0R4bFJJO0VDeEJGLDRCQVBRO01BT1IsbUJBUFE7QW5EMm5SVjs7QWtEdGxSRTtFQy9DQSx3QkFoQlE7TUFnQlIscUJBaEJRO1VBZ0JSLHVCQWhCUTtFQWlCUix5QkFSUTtNQVFSLHNCQVJRO1VBUVIsbUJBUlE7RUR3RE4sMEJBQUE7TUFBQSxxQkFBQTtBbEQwbFJKOztBa0RwbFJNO0VDaENKLDRCRCtCZTtNQy9CZixpQkQrQmU7VUMvQmYsUUQrQmU7QWxEeWxSakI7O0FrRHhsUk07RUNoQ0osNEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBbEQ2bFJqQjs7QWtENWxSTTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0FsRGltUmpCOztBa0RobVJNO0VDaENKLDRCRCtCZTtNQy9CZixpQkQrQmU7VUMvQmYsUUQrQmU7QWxEcW1SakI7O0FrRHBtUk07RUNoQ0osNEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBbER5bVJqQjs7QWtEeG1STTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0FsRDZtUmpCOztBZ0J2aVJRO0VrQ3JFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRGtuUmY7RWtEam5SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHFuUmY7RWtEcG5SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHduUmY7RWtEdm5SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDJuUmY7RWtEMW5SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDhuUmY7RWtEN25SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRGlvUmY7QUFDRjtBZ0I1alJRO0VrQ3JFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHNvUmY7RWtEcm9SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHlvUmY7RWtEeG9SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDRvUmY7RWtEM29SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRCtvUmY7RWtEOW9SSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRGtwUmY7RWtEanBSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHFwUmY7QUFDRjtBZ0Iza1JRO0VrQzFFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDBwUmY7RWtEenBSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDZwUmY7RWtENXBSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRGdxUmY7RWtEL3BSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRG1xUmY7RWtEbHFSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHNxUmY7RWtEcnFSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHlxUmY7QUFDRjtBZ0IvbFJRO0VrQzFFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDhxUmY7RWtEN3FSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRGlyUmY7RWtEaHJSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRG9yUmY7RWtEbnJSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHVyUmY7RWtEdHJSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDByUmY7RWtEenJSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDZyUmY7QUFDRjtBZ0JublJRO0VrQzFFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRGtzUmY7RWtEanNSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHFzUmY7RWtEcHNSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRHdzUmY7RWtEdnNSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDJzUmY7RWtEMXNSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRDhzUmY7RWtEN3NSSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VsRGl0UmY7QUFDRjtBa0Q5eVJFO0VDWUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7QW5EcXlSRjs7QWtEN3lSRTtFQUNFLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFB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Q0Esa0JBQUE7QS9EZzBURjtBZ0U5MlRBOzs7OztFQUVFLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSx3QkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFFQSxxQkFBQTtFQUNBLHNCQUFBO0VBRUEsb0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBO0FoRWkzVEY7O0FnRTUyVEU7RUFBdUIsZ0JEakJaO0EvRGk0VGI7O0FnRWgzVEU7RUFBdUIsZ0JEakJaO0EvRHE0VGI7O0FnRXAzVEU7RUFBdUIsZ0JEakJaO0EvRHk0VGI7O0FnRXgzVEU7RUFBdUIsZ0JEakJaO0EvRDY0VGI7O0FnRTUzVEU7RUFBdUIsZ0JEakJaO0EvRGk1VGI7O0FnRWg0VEU7RUFBdUIsZ0JEakJaO0EvRHE1VGI7O0FnRXA0VEU7RUFBdUIsZ0JEakJaO0EvRHk1VGI7O0FnRXg0VEU7RUFBdUIsZ0JEakJaO0EvRDY1VGI7O0FnRTU0VEU7RUFBdUIsZ0JEakJaO0EvRGk2VGI7O0FnRWg1VEU7RUFBdUIsZ0JEakJaO0EvRHE2VGI7O0FnRXA1VEU7RUFBdUIsZ0JEakJaO0EvRHk2VGI7O0FnRXg1VEU7RUFBdUIsZ0JEakJaO0EvRDY2VGI7O0FnRTU1VEU7RUFBdUIsZ0JEakJaO0EvRGk3VGI7O0FnRWg2VEU7RUFBdUIsZ0JEakJaO0EvRHE3VGI7O0FnRXA2VEU7RUFBdUIsZ0JEakJaO0EvRHk3VGI7O0FnRXg2VEU7RUFBdUIsZ0JEakJaO0EvRDY3VGI7O0FnRTU2VEU7RUFBdUIsZ0JEakJaO0EvRGk4VGI7O0FnRWg3VEU7RUFBdUIsZ0JEakJaO0EvRHE4VGI7O0FnRXA3VEU7RUFBdUIsZ0JEakJaO0EvRHk4VGI7O0FnRXg3VEU7RUFBdUIsZ0JEakJaO0EvRDY4VGI7O0FnRTU3VEU7RUFBdUIsZ0JEakJaO0EvRGk5VGI7O0FnRWg4VEU7RUFBdUIsZ0JEakJaO0EvRHE5VGI7O0FnRXA4VEU7RUFBdUIsZ0JEakJaO0EvRHk5VGI7O0FnRXg4VEU7RUFBdUIsZ0JEakJaO0EvRDY5VGI7O0FnRTU4VEU7RUFB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QTtBQUlBO0VBQ0UseUIxRWpKWTtBTDgxV2Q7QStFM3NXRTtFQUFzQixjM0V6RmhCO0FKdXlXUjtBZ0J0c1dRO0UrRExKO0lBQVMsY0FBQTtFL0Urc1dYO0UrRTlzV0U7SUFDRSxnQkFBQTtFL0VndFdKO0UrRS9zV0k7SUFBUSx3QkFBQTtFL0VrdFdaO0FBQ0Y7O0ErRTFzV0U7O0VBQ0UsdUJBQUE7QS9FOHNXSjtBK0U1c1dJOztFQUNFLGFBQUE7QS9FK3NXTjtBK0U5c1dNOztFQUFZLGEzRTdHVjtBSit6V1I7QStFaHRXSTs7RUFBYyxxQkFBQTtBL0VvdFdsQjtBK0VsdFdJOztFQUFzQixjM0VqSGxCO0FKdTBXUjtBK0VwdFdJOztFQUEyQix5QjNFbkh2QjtBSjIwV1I7QStFdHRXSTs7RUFDRSxjM0V0SEU7QUorMFdSO0ErRXZ0V007O0VBQVUsYzFFcExGO0FMKzRXZDs7QWdGcDZXQTtFQUFvQixnQkFBQTtBaEZ3NldwQjs7QWdGdjZXQTtFQUFxQixrQkFBQTtBaEYyNldyQjs7QWdGMTZXQTtFQUFxQixrQkFBQTtBaEY4NldyQjs7QWdGMzZXQTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7QWhGODZXRjtBZ0Jud1dRO0VnRTdLUjtJQUlnQyxpQkFBQTtFaEZnN1c5QjtBQUNGO0FnQnh3V1E7RWdFN0tSO0lBTStCLGlCQUFBO0VoRm03VzdCO0FBQ0Y7O0FnRmg3V0E7RUFDRSxhQUFBO0FoRm03V0Y7O0FnRmg3V0E7Ozs7O0VBQUE7QUFPRTtFQUF1RCxrQkFBQTtBaEZtN1d6RDs7QWlGNzhXQTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtBakZnOVdGO0FpRjk4V0U7RUFDRSxtQkFBQTtFQUNBLDBCQUFBO0VBQ0EseUNBQUE7QWpGZzlXSjtBZ0JyeVdRO0VpRXZLSjtJQUNFLDBCQUFBO0lBQ0EseUNBQUE7RWpGKzhXSjtBQUNGOztBZ0IzeVdRO0VpRTlKTjtJQUF1Qix3QkFBQTtFakY4OFd2QjtBQUNGO0FpRjM4V0E7RUFBYyx3QkFBQTtBakY4OFdkOztBaUYzOFdBO0VBQXVCLHVCQUFBO0FqRis4V3ZCOztBaUY1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QUNFLHlCN0dlUTtBTG04ZWQiLCJmaWxlIjoidHRfZm91bmRhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy40XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKiwgW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9dG91Y2hdICosXG5bZGF0YS13aGF0aW50ZW50PXRvdWNoXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgwZW0meHhsYXJnZT05MGVtJnh4eGxhcmdlPTEwNWVtXCI7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNGNUU1RDU7XG4gIGZvbnQtZmFtaWx5OiBcIlNvbGVTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbn1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblt0eXBlPXRleHRdLCBbdHlwZT1wYXNzd29yZF0sIFt0eXBlPWRhdGVdLCBbdHlwZT1kYXRldGltZV0sIFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwgW3R5cGU9bW9udGhdLCBbdHlwZT13ZWVrXSwgW3R5cGU9ZW1haWxdLCBbdHlwZT1udW1iZXJdLCBbdHlwZT1zZWFyY2hdLCBbdHlwZT10ZWxdLCBbdHlwZT10aW1lXSwgW3R5cGU9dXJsXSwgW3R5cGU9Y29sb3JdLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMS45NXJlbTtcbiAgbWFyZ2luOiAwIDAgMC44cmVtO1xuICBwYWRkaW5nOiAwLjRyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuW3R5cGU9dGV4dF06Zm9jdXMsIFt0eXBlPXBhc3N3b3JkXTpmb2N1cywgW3R5cGU9ZGF0ZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLCBbdHlwZT1tb250aF06Zm9jdXMsIFt0eXBlPXdlZWtdOmZvY3VzLCBbdHlwZT1lbWFpbF06Zm9jdXMsIFt0eXBlPW51bWJlcl06Zm9jdXMsIFt0eXBlPXNlYXJjaF06Zm9jdXMsIFt0eXBlPXRlbF06Zm9jdXMsIFt0eXBlPXRpbWVdOmZvY3VzLCBbdHlwZT11cmxdOmZvY3VzLCBbdHlwZT1jb2xvcl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxudGV4dGFyZWFbcm93c10ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhO1xufVxuXG5bdHlwZT1maWxlXSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbjogMCAwIDAuOHJlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdICsgbGFiZWwsXG5bdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC40cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsW2Zvcl0sXG5bdHlwZT1yYWRpb10gKyBsYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5sYWJlbCA+IFt0eXBlPWNoZWNrYm94XSxcbmxhYmVsID4gW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XG59XG5cblt0eXBlPWZpbGVdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxubGFiZWwubWlkZGxlIHtcbiAgbWFyZ2luOiAwIDAgMC44cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAwLjQ1cmVtIDA7XG59XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XG59XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMC45cmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG59XG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMTVyZW07XG4gIHBhZGRpbmc6IDAgMC4xNXJlbTtcbn1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAxLjk1cmVtO1xuICBtYXJnaW46IDAgMCAwLjhyZW07XG4gIHBhZGRpbmc6IDAuNHJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0wLjhyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwICkge1xuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIH1cbn1cbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5zZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OS45LCAyMzcsIDIzNSk7XG59XG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2NjNGIzNztcbn1cbi5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiU29sZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cbmgxIHNtYWxsLCAuaDEgc21hbGwsXG5oMiBzbWFsbCwgLmgyIHNtYWxsLFxuaDMgc21hbGwsIC5oMyBzbWFsbCxcbmg0IHNtYWxsLCAuaDQgc21hbGwsXG5oNSBzbWFsbCwgLmg1IHNtYWxsLFxuaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBjb2xvcjogI2NhY2FjYTtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBsaW5lLWhlaWdodDogMS42NjY2NjY2NjY3O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMi4wNDU0NTQ1NDU1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMDQ1NDU0NTQ1NTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjA0NTQ1NDU0NTU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxufVxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzNEM0QzRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6IHJnYig1Mi40NiwgNTIuNDYsIDUyLjQ2KTtcbn1cbmEgaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDY0cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxudWwgdWwsIHVsIG9sLCBvbCB1bCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuZGwgZHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjQ1cmVtIDFyZW0gMCAwLjk1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7XG59XG5ibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzhhOGE4YTtcbn1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xcmVtIDAuMnJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbnAgKyAuc3RhdCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2l0ZS1ibG9jaywgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xufVxuLmNpdGUtYmxvY2s6YmVmb3JlLCBjaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCUIFwiO1xufVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMXJlbSAwLjI1cmVtIDAuMDVyZW07XG59XG5cbi5jb2RlLWJsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnh4eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAueHh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnh4eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnh4eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBtYXgtd2lkdGg6IDY0cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5jZWxsLmF1dG8ge1xuICBmbGV4OiAxIDEgMDtcbn1cbi5jZWxsLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuZ3JpZC14ID4gLnh4eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTEsIC5ncmlkLXggPiAueHh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTQsIC5ncmlkLXggPiAueHh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTcsIC5ncmlkLXggPiAueHh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG4uZ3JpZC14ID4gLnNtYWxsLTEyLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMiwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLmdyaWQteCA+IC54eHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTEyLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTksIC5ncmlkLXggPiAueHh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTYsIC5ncmlkLXggPiAueHh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTMsIC5ncmlkLXggPiAueHh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4eGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiBjYWxjKDc1JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgfVxufVxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG59XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlO1xufVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbn1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueHh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnh4eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAueHh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueHh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pO1xuICB9XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnh4eGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAueHh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxcmVtIC8gMik7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS41cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAxLjVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxLjVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDEuNXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDEuNXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMS41cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxLjVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMS41cmVtIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDFyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDFyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDFyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDFyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxcmVtIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDFyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDFyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDFyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDFyZW0gLyAyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDFyZW0gLyAyKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDFyZW0gLyAyKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDFyZW0gLyAyKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMXJlbSAvIDIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDFyZW0gLyAyKTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzMzMzMzMlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDFyZW0gLyAyKTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDFyZW0gLyAyKTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgKyAxcmVtIC8gMik7XG4gIH1cbiAgLnh4eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzMzMzMzMlICsgMXJlbSAvIDIpO1xuICB9XG4gIC54eHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMXJlbSAvIDIpO1xuICB9XG59XG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLmdyaWQteSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLmdyaWQteSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQteSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5ncmlkLXkgPiAueHh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTMsIC5ncmlkLXkgPiAueHh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTYsIC5ncmlkLXkgPiAueHh4bGFyZ2UtNywgLmdyaWQteSA+IC54eHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTksIC5ncmlkLXkgPiAueHh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbi5ncmlkLXkgPiAuc21hbGwtMTIsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IDI1JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiA1MCU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogNzUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTIsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTIsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuZ3JpZC15ID4gLnh4eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTEyLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTksIC5ncmlkLXkgPiAueHh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTYsIC5ncmlkLXkgPiAueHh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTMsIC5ncmlkLXkgPiAueHh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4eGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHh4bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueHh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAueHh4bGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICBtYXJnaW4tdG9wOiAtMC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dztcbn1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC54eHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueHh4bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC54eHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnh4eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAueHh4bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuZ3JpZC15Lnh4eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54eHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS41cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pO1xuICB9XG59XG4ucm93IHtcbiAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi5yb3cgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgfVxufVxuLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5yb3cuZXhwYW5kZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4ucm93LmV4cGFuZGVkIC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5yb3cuaXMtY29sbGFwc2UtY2hpbGQsIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdywgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zID4gLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgbWluLXdpZHRoOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTtcbn1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtdXAtNCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7XG4gIG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG59XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEyLjUlO1xuICBtYXgtd2lkdGg6IDEyLjUlO1xufVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7XG4gICAgbWF4LXdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7XG4gICAgbWF4LXdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLnhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAueGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAueGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLnhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAueGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNC4yODU3MTQyODU3JTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC54bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC54eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC54eGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAueHhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAueHhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNC4yODU3MTQyODU3JTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC54eGxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG4ucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnh4eGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAueHh4bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC54eHhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC54eHhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueHh4bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54eHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAueHh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueHh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnh4eGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueHh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eHhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAueHh4bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54eHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAueHh4bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54eHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnh4eGxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueHh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eHhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4eGxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueHh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eHhsYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLnh4eGxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAueHh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eHhsYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54eHhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnh4eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzE0Mjg1NyU7XG4gICAgbWF4LXdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAueHh4bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC54eHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnh4eGxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuLnJvdy54eHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5yb3cueHh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC54eHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54eHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAueHh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uYnV0dG9uLnRpbnkge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24uc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uYnV0dG9uLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmJ1dHRvbi5leHBhbmRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0QzRDNEO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTEuODUsIDUxLjg1LCA1MS44NSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNEM0QzRDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig0OC44LCA0OC44LCA0OC44KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDk0LjQsIDk0LjQsIDk0LjQpO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzQuMjM4NjI2NjA5NCwgMTg3LjM2MTM3MzM5MDYsIDkxLjMwMzAwNDI5MTgpO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA0LCAxMzkuMiwgMCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNjUuMDk5NjAxNTkzNiwgNTguNjEwMzU4NTY1NywgNDIuMTAwMzk4NDA2NCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM0QzRDNEO1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDMwLjUsIDMwLjUsIDMwLjUpO1xuICBjb2xvcjogcmdiKDMwLjUsIDMwLjUsIDMwLjUpO1xufVxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzRDNEM0Q7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDMwLjUsIDMwLjUsIDMwLjUpO1xuICBjb2xvcjogcmdiKDMwLjUsIDMwLjUsIDMwLjUpO1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgY29sb3I6ICMzYjNiM2I7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjEuMzk5MTQxNjMwOSwgMTE3LjEwMDg1ODM2OTEsIDU3LjA2NDM3NzY4MjQpO1xuICBjb2xvcjogcmdiKDIxLjM5OTE0MTYzMDksIDExNy4xMDA4NTgzNjkxLCA1Ny4wNjQzNzc2ODI0KTtcbn1cbi5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICBjb2xvcjogI2ZmYWUwMDtcbn1cbi5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigxMjcuNSwgODcsIDApO1xuICBjb2xvcjogcmdiKDEyNy41LCA4NywgMCk7XG59XG4uYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTAzLjE4NzI1MDk5NiwgMzYuNjMxNDc0MTAzNiwgMjYuMzEyNzQ5MDA0KTtcbiAgY29sb3I6IHJnYigxMDMuMTg3MjUwOTk2LCAzNi42MzE0NzQxMDM2LCAyNi4zMTI3NDkwMDQpO1xufVxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMzAuNSwgMzAuNSwgMzAuNSk7XG59XG4uYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6IHJnYigzMC41LCAzMC41LCAzMC41KTtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzNiM2IzYjtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogcmdiKDIxLjM5OTE0MTYzMDksIDExNy4xMDA4NTgzNjkxLCA1Ny4wNjQzNzc2ODI0KTtcbn1cbi5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogcmdiKDEyNy41LCA4NywgMCk7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgY29sb3I6IHJnYigxMDMuMTg3MjUwOTk2LCAzNi42MzE0NzQxMDM2LCAyNi4zMTI3NDkwMDQpO1xufVxuLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC40ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMzRDNEM0Q7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMzRDNEM0Q7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2O1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFsZXJ0OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7XG59XG4uYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgdG9wOiAtMC4xZW07XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC1ncm93OiAxO1xufVxuLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4uYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4uYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDNEM0Q7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDQ4LjgsIDQ4LjgsIDQ4LjgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTQuNCwgOTQuNCwgOTQuNCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigzNC4yMzg2MjY2MDk0LCAxODcuMzYxMzczMzkwNiwgOTEuMzAzMDA0MjkxOCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDQsIDEzOS4yLCAwKTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE2NS4wOTk2MDE1OTM2LCA1OC42MTAzNTg1NjU3LCA0Mi4xMDAzOTg0MDY0KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNEM0QzRDtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzAuNSwgMzAuNSwgMzAuNSk7XG4gIGNvbG9yOiByZ2IoMzAuNSwgMzAuNSwgMzAuNSk7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzRDNEM0Q7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMzAuNSwgMzAuNSwgMzAuNSk7XG4gIGNvbG9yOiByZ2IoMzAuNSwgMzAuNSwgMzAuNSk7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICBjb2xvcjogIzc2NzY3Njtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICBjb2xvcjogIzNiM2IzYjtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigyMS4zOTkxNDE2MzA5LCAxMTcuMTAwODU4MzY5MSwgNTcuMDY0Mzc3NjgyNCk7XG4gIGNvbG9yOiByZ2IoMjEuMzk5MTQxNjMwOSwgMTE3LjEwMDg1ODM2OTEsIDU3LjA2NDM3NzY4MjQpO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICBjb2xvcjogI2ZmYWUwMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDEyNy41LCA4NywgMCk7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDg3LCAwKTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigxMDMuMTg3MjUwOTk2LCAzNi42MzE0NzQxMDM2LCAyNi4zMTI3NDkwMDQpO1xuICBjb2xvcjogcmdiKDEwMy4xODcyNTA5OTYsIDM2LjYzMTQ3NDEwMzYsIDI2LjMxMjc0OTAwNCk7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6IHJnYigzMC41LCAzMC41LCAzMC41KTtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogcmdiKDMwLjUsIDMwLjUsIDMwLjUpO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjM2IzYjNiO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMjEuMzk5MTQxNjMwOSwgMTE3LjEwMDg1ODM2OTEsIDU3LjA2NDM3NzY4MjQpO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDg3LCAwKTtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBjb2xvcjogcmdiKDEwMy4xODcyNTA5OTYsIDM2LjYzMTQ3NDEwMzYsIDI2LjMxMjc0OTAwNCk7XG59XG4uYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiB7XG4gIG1hcmdpbi1yaWdodDogLTAuMDVyZW07XG59XG4uYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24ge1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5jbG9zZS1idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gIHJpZ2h0OiAwLjY2cmVtO1xuICB0b3A6IDAuMzNlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubGFiZWwuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmxhYmVsLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5sYWJlbC5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDMwcHggMCAxNXB4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4uYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnJlYWRjcnVtYnMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwLjc1cmVtO1xuICBvcGFjaXR5OiAxO1xuICBjb250ZW50OiBcIi9cIjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICBjb2xvcjogI2NhY2FjYTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY2FsbG91dC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyNS45LCAyMjUuOSwgMjI1LjkpO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5jYWxsb3V0LnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzQuNDUsIDIzNC40NSwgMjM0LjQ1KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyNS40NSwgMjQ5LjYsIDIzNC40NSk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI0Mi44NSwgMjE2Ljc1KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDcuMzUsIDIyOCwgMjI1KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4uY2FsbG91dC5sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xufVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVFNUQ1O1xuICBmb250LXNpemU6IDFyZW07XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5wYWdpbmF0aW9uIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjA1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjE1cmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFnaW5hdGlvbiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgcGFkZGluZzogMC4xNXJlbSAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMzRDNEM0Q7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICBwYWRkaW5nOiAwLjE1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICNjYWNhY2E7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICBwYWRkaW5nOiAwLjE1cmVtIDAuNXJlbTtcbiAgY29udGVudDogXCLigKZcIjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiBcIsKrXCI7XG59XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCu1wiO1xufVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRvb2x0aXA6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICBib3R0b206IDEwMCU7XG59XG4udG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbi50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbn1cbi50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gIGxlZnQ6IDEwMCU7XG59XG4udG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNzVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4udG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAxMCU7XG59XG4udG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gIGJvdHRvbTogMTAlO1xuICB0b3A6IGF1dG87XG59XG4udG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICBsZWZ0OiAxMCU7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMCU7XG59XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbjpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xufVxuLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGNvbnRlbnQ6IFwiK1wiO1xufVxuLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCTXCI7XG59XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xufVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRhYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwO1xufVxuLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYig3MC43LCA3MC43LCA3MC43KTtcbn1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi50YWJzLXRpdGxlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRhYnMtdGl0bGUgPiBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiByZ2IoNTIuNDYsIDUyLjQ2LCA1Mi40Nik7XG59XG4udGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4udGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAubWVudSBsaSB7XG4gIG91dGxpbmU6IDA7XG59XG4ubWVudSBhLFxuLm1lbnUgLmJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5tZW51IGlucHV0LFxuLm1lbnUgc2VsZWN0LFxuLm1lbnUgYSxcbi5tZW51IGJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubWVudSBpbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLm1lbnUudmVydGljYWwge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm1lbnUuZXhwYW5kZWQgbGkge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGksXG4ubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubWVudS5zaW1wbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5tZW51LnNpbXBsZSBhIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS54bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS54eGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lnh4bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAubWVudS54eHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS54eHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS54eHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS54eHhsYXJnZS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5tZW51Lm5lc3RlZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4ubWVudS5pY29ucyBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cbi5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbi5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4ubWVudS5pY29uLWxlZnQgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBpbWcsXG4ubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG4ubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG4ubWVudS5pY29uLXRvcCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGksXG4ubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICMzRDNEM0Q7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5tZW51LmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzNEM0QzRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgcmlnaHQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bztcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzNEM0QzRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaXMtZHJpbGxkb3duIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG59XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzRDNEM0Q7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzRDNEM0Q7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDNEM0QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xufVxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDNEM0QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjM0QzRDNEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDNEM0QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM0QzRDNEO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0QzRDNEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDNEM0QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNEM0QzRDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICMzRDNEM0QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDNEM0QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM0QzRDNEO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzNEM0QzRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjM0QzRDNEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzRDNEM0Q7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzNEM0QzRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDNEM0QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzRDNEM0Q7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lnh4eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0QzRDNEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4eGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjM0QzRDNEIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNEM0QzRDtcbiAgfVxufVxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7XG59XG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTZweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNEM0QzRCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNEM0QzRDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICB3aWR0aDogMTAwJTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTtcbn1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMztcbn1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDtcbn1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAueHh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnh4eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC54eHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAueHh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLnh4eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC54eHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC54eHhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAueHh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAueHh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAueHh4bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC54eHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLnh4eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnh4eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAueHh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWF4LXdpZHRoOiAxMDQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5oaWRlLWZvci14eHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNC45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14eHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNWVtKSB7XG4gIC5oaWRlLWZvci14eHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA0Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zaG93LWZvci1pZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDtcbn1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7XG59XG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTtcbiAgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7XG4gIH1cbn1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWNjdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxufVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnO1xufVxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xuICB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuICB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiB6dXJiX2ZvdW5kYXRpb24uc2NzcyAtIENvbnRhaW5zIGFsbCBEcnVwYWwtc3BlY2lmaWMgU0FTUyBmb3IgdGhpcyB0aGVtZS5cbiAqXG4gKiBAdG9kbyBTcGxpdCB0aGlzIGludG8gbXVsdGlwbGUgZm9sZGVycy9maWxlcy5cbiovXG4ucmVnaW9uLWhpZ2hsaWdodGVkOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2xiYXItdHJheSBhIHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4udG9vbGJhciAudG9vbGJhci10b2dnbGUtb3JpZW50YXRpb24gLnRvb2xiYXItaWNvbiB7XG4gIG1hcmdpbjogMDtcbn1cbi50b29sYmFyIC50b29sYmFyLXRvZ2dsZS1vcmllbnRhdGlvbiAudG9vbGJhci1pY29uOmJlZm9yZSB7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbmJvZHkudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci12ZXJ0aWNhbC50b29sYmFyLWZpeGVkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBib2R5LnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItdmVydGljYWwudG9vbGJhci1maXhlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXJlbTtcbiAgfVxufVxuXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4udG9wLWJhci1zZWN0aW9uIHVsIGxpIGEuaXMtYWN0aXZlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5uby1qcyAudG9wLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm5vLWpzIC50b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubm8tanMgLnRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuYm9keS50b29sYmFyLWZpeGVkIC5zdGlja3kuaXMtc3R1Y2sgLnRvcC1iYXIge1xuICBtYXJnaW4tdG9wOiAzOXB4O1xuICBtYXJnaW4tdG9wOiAxNzBweDtcbn1cblxuYm9keS50b29sYmFyLWZpeGVkLnRvb2xiYXItaG9yaXpvbnRhbC50b29sYmFyLXRyYXktb3BlbiAuc3RpY2t5LmlzLXN0dWNrIC50b3AtYmFyIHtcbiAgbWFyZ2luLXRvcDogNzhweDtcbiAgbWFyZ2luLXRvcDogMjE5cHg7XG59XG5cbmJvZHkudG9vbGJhci1maXhlZCAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnRvcC1iYXIgLm1lbnUtaXRlbS0tY29sbGFwc2VkLCAudG9wLWJhciAubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSAuZm9ybS1pdGVtLWtleXMsIC50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSAuZm9ybS1hY3Rpb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZHJvcGJ1dHRvbi13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOENCQTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbn1cbi5kcm9wYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZm9ybS1yZXF1aXJlZDphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIG1hcmdpbjogMCAwLjNlbTtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZvdW5kYXRpb24vbWlzYy9yZXF1aXJlZC5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDZweCA2cHg7XG59XG5cbi5ub2RlLXByZXZpZXctY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5vZGUtcHJldmlldy1jb250YWluZXIgLm5vZGUtcHJldmlldy1iYWNrbGluayB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbi5ub2RlLXByZXZpZXctY29udGFpbmVyIHNlbGVjdCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4jZWRpdC1jb21tZW50LWJvZHktd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjdG9vbGJhci1hZG1pbmlzdHJhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGJvZHkuYWRtaW5pbWFsLWFkbWluLXRvb2xiYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNvbGUyNGRpbmdcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zb2xlMjRkaW5nL3NvbGUyNGRpbmcuZW90PzQ0MTcxMjE0XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NvbGUyNGRpbmcvc29sZTI0ZGluZy5lb3Q/NDQxNzEyMTQjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3NvbGUyNGRpbmcvc29sZTI0ZGluZy53b2ZmMj80NDE3MTIxNFwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvc29sZTI0ZGluZy9zb2xlMjRkaW5nLndvZmY/NDQxNzEyMTRcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvc29sZTI0ZGluZy9zb2xlMjRkaW5nLnR0Zj80NDE3MTIxNFwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvc29sZTI0ZGluZy9zb2xlMjRkaW5nLnN2Zz80NDE3MTIxNCNzb2xlMjRkaW5nXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuW2NsYXNzXj1pY24tXTpiZWZvcmUsIFtjbGFzcyo9aWNuLV06YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIC5zbGlkZU1hbmFnZXIuaXNQbGF5aW5nOmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLWhlYWRlciAuc2xpZGVNYW5hZ2VyLmlzUGF1c2VkOmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5zbGlkZU1hbmFnZXIuaXNQbGF5aW5nOmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5zbGlkZU1hbmFnZXIuaXNQYXVzZWQ6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2ltcGxlIC5idG5BY3Rpb24uaXNQbGF5aW5nOmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNpbXBsZSAuYnRuQWN0aW9uLmlzUGF1c2VkOmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tbGlua2VycyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWxpbmtzIGFbdGFyZ2V0PV9ibGFua106YWZ0ZXIsIC5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIsIC5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLnRibS1saW5rLmxldmVsLTIubGluay1ncnVwcG86YWZ0ZXIsIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tY2FuZGlkYXR1cmEtc3BvbnRhbmVhLWZvcm0gLmF0dGFjaG1lbnRzV3JhcHBlciBzcGFuLmZpbGUuZmlsZS0tYXBwbGljYXRpb24tcGRmOmJlZm9yZSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSAuYXR0YWNobWVudHNXcmFwcGVyIHNwYW4uZmlsZTpiZWZvcmUsIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmFmdGVyLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDphZnRlcixcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWw6YWZ0ZXIsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmFmdGVyLCAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgYS5pbnRyb0xpbmtlckxpbms6YmVmb3JlLCAubW0tbWVudSAubW0tcGFuZWwubW0tcGFuZWxfaGFzLW5hdmJhciAubW0tbmF2YmFyIGEubW0tYnRuX3ByZXY6YWZ0ZXIsIC5tbS1tZW51IGEubW0tYnRuX25leHQ6YmVmb3JlLCAubW0tbWVudSBhLml0bS1tZW51LW1haW4ubGluay1ncnVwcG86YWZ0ZXIsIC53ZWJmb3JtLXN1Ym1pc3Npb24tY2FuZGlkYXR1cmEtc3BvbnRhbmVhLWZvcm0gLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyOmJlZm9yZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyOmJlZm9yZSxcbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUgLmRyb3Bkb3duLXdyYXBwZXI6YmVmb3JlLCAuc3dpcGVyUGFyYWdyYXBoIC5zd2lwZXItYnV0dG9uLW5leHQ6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHRzIC5zd2lwZXItYnV0dG9uLW5leHQ6YmVmb3JlLCAuc3dpcGVyUGFyYWdyYXBoIC5zd2lwZXItYnV0dG9uLXByZXY6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHRzIC5zd2lwZXItYnV0dG9uLXByZXY6YmVmb3JlLCAubGluay1hdHRhY2htZW50OmFmdGVyLCAubGluay1wZGY6YWZ0ZXIsIC5saW5rLWFycm93OmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEgYTphZnRlciwgLmxpbmstYXJyb3ctYmFjazphZnRlciwgLmxpbmstYXJyb3ctdGFsbDphZnRlciwgLmxpbmstYm9vazphZnRlciwgLmxpbmstdW5kZXJsaW5lOmFmdGVyLCAuYnRuLXNxdWFyZTpiZWZvcmUge1xuICBmb250LWZhbWlseTogc29sZTI0ZGluZztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljbi1hcnJvdy1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG59XG5cbi5pY24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAxXCI7XG59XG5cbi5pY24tc29jaWFsLWlnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAyXCI7XG59XG5cbi5pY24tcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDNcIjtcbn1cblxuLmljbi1saW5rLWV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiO1xufVxuXG4uaWNuLXNvY2lhbC15dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNVwiO1xufVxuXG4uaWNuLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA2XCI7XG59XG5cbi5pY24tc29jaWFsLWxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG59XG5cbi5pY24tc29jaWFsLXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDhcIjtcbn1cblxuLmljbi1tb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBhXCI7XG59XG5cbi5pY24tbGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwYlwiO1xufVxuXG4uaWNuLWNsb3NlLXNpbXBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwY1wiO1xufVxuXG4uaWNuLXRyaWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE0XCI7XG59XG5cbi5pY24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTVcIjtcbn1cblxuLmljbi1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE4XCI7XG59XG5cbi5pY24tdHlwZS1nYWxsZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE5XCI7XG59XG5cbi5pY24tdHlwZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxYVwiO1xufVxuXG4uaWNuLWFycm93LXNpbXBsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODI2XCI7XG59XG5cbi5pY24tYXJyb3ctc2ltcGxlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODI3XCI7XG59XG5cbi5pY24tcGF1c2Utc2ltcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODRiXCI7XG59XG5cbi5pY24tcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg0Y1wiO1xufVxuXG4uaWNuLWZpbGUtYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4NTBcIjtcbn1cblxuLmljbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg1MVwiO1xufVxuXG4uaWNuLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODUyXCI7XG59XG5cbi5pY24tZmlsZS1nZW5lcmljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODUzXCI7XG59XG5cbi5pY24tZmlsZS1odG1sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODU0XCI7XG59XG5cbi5pY24tZmlsZS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4NTVcIjtcbn1cblxuLmljbi1maWxlLXppcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg1NlwiO1xufVxuXG4vKipcbiAqIFNwZXJpbWVudGFsZVxuICogU2kgcG9zc29ubyBzZXBjaWZpY2FyZSBpIHRhZyBoWCBlIHAgbyB1bmEgY2xhc3NlIGN1c3RvbS5cbiAqL1xuLyoqXG4gKiBMYXRvIGdyYWZpY28sIGkgZm9udCBzb25vIHN0YXRpIGRlZmluaXRpIHBlciBpbCBkZXNrdG9wXG4gKiBEaSBkZWZhdWx0IHN1IGNlbGx1bGFyZSBwcmVuZG9ubyBsYSBjbGFzc2Ugc3VjY2Vzc2l2YVxuICogRXMsIGxvIHNtYWxsIGRpIGhlYWRpbmdfeHhsIMOoIGlsIG1lZGl1bSBkaSBoZWFkaW5nX3hsXG4gKlxuICogTGF0byBlZGl0b3JpYWxlIHNvbm8gZGlzcG9uaWJpbGkgZ2xpIGhlYWRpbmcgZGEgWGwgYSBYUyAoSDEgLSBINSlcbiAqIEUnIGlub2x0cmUgZGlzcG9uaWJpbGUgaWwgYm9keV9zLCBjaGUgcmFwcHJlc2VudGEgbGUgbm90ZVxuICogSWwgdGVzdG8gZGkgZGVmYXVsdCDDqCBib2R5X3hsXG4gKiBUdXR0aSBnbGkgYWx0cmkgc29ubyB1c2F0aSBpbnRlcm5hbWVudGUgcGVyIGRlZ2xpIGVsZW1lbnRpIGRpIGhlYWRlciwgZm9vdGVyIGUgcGFyYWdyYXBoc1xuICovXG4uaGVhZGluZ194eGwsIGgxIHtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBsaW5lLWhlaWdodDogMy4ycmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVhZGluZ194eGwsIGgxIHtcbiAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogNC44cmVtO1xuICB9XG59XG5cbi5oZWFkaW5nX3hsLCAucHJlc3NDb250ZW50Lm5vZGUtdmlldy1tb2RlLWZ1bGwgLmdyaWRIZWFkZXIgaDEsIC5wYWdlLW5vZGUtdHlwZS1wYWdlLnBhZ2VFcnJvciAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wYWdlIGgzLCAucGFyYWdyYXBoLS10eXBlLS1tdWx0aXRleHQgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbywgaDIge1xuICBmb250LWZhbWlseTogXCJzb2xlX2Rpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiAxLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oZWFkaW5nX3hsLCAucHJlc3NDb250ZW50Lm5vZGUtdmlldy1tb2RlLWZ1bGwgLmdyaWRIZWFkZXIgaDEsIC5wYWdlLW5vZGUtdHlwZS1wYWdlLnBhZ2VFcnJvciAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wYWdlIGgzLCAucGFyYWdyYXBoLS10eXBlLS1tdWx0aXRleHQgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbywgaDIge1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0LjJyZW07XG4gIH1cbn1cblxuLmhlYWRpbmdfbCwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudERhdGUgLmVkRGF5LCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQgLmhpZ2hsaWdodC10aXRsZSAuaGlnaGxpZ2h0LW51bWJlci1zdGF0aWMsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuaGlnaGxpZ2h0LXRpdGxlIC5oaWdobGlnaHQtbnVtYmVyLFxuLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5oaWdobGlnaHQtdGl0bGUgLmhpZ2hsaWdodC10aXRsZS1wcmVmaXgsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuaGlnaGxpZ2h0LXRpdGxlIC5oaWdobGlnaHQtdGl0bGUtc3VmZml4LCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQgLmhpZ2hsaWdodC10aXRsZSwgLndoaXRlQm94ZXMgc3Bhbi5ib3hOdW1iZXIsIGgzIHtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVhZGluZ19sLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50RGF0ZSAuZWREYXksIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuaGlnaGxpZ2h0LXRpdGxlIC5oaWdobGlnaHQtbnVtYmVyLXN0YXRpYywgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5oaWdobGlnaHQtdGl0bGUgLmhpZ2hsaWdodC1udW1iZXIsXG4gIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuaGlnaGxpZ2h0LXRpdGxlIC5oaWdobGlnaHQtdGl0bGUtcHJlZml4LCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQgLmhpZ2hsaWdodC10aXRsZSAuaGlnaGxpZ2h0LXRpdGxlLXN1ZmZpeCwgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5oaWdobGlnaHQtdGl0bGUsIC53aGl0ZUJveGVzIHNwYW4uYm94TnVtYmVyLCBoMyB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gIH1cbn1cblxuLmhlYWRpbmdfbSwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC5tZWRpYUxpbmsgYSwgLm5vZGVIZWFkZXIgLmZpZWxkLS1uYW1lLWZpZWxkLWhlYWRlci10ZXh0IHAsIC5wYXJhZ3JhcGgtLXR5cGUtLWRvY3VtZW50cy13cmFwcGVyIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8sIC5wYXJhZ3JhcGgtLXR5cGUtLWxpbmtlcnMgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbywgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIC53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsIGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiU29sZVNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oZWFkaW5nX20sIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLXByZXNzLXJlbGVhc2Uubm9kZS12aWV3LW1vZGUtdGVhc2VyLWFsdGVybmF0ZSAubWVkaWFMaW5rIGEsIC5ub2RlSGVhZGVyIC5maWVsZC0tbmFtZS1maWVsZC1oZWFkZXItdGV4dCBwLCAucGFyYWdyYXBoLS10eXBlLS1kb2N1bWVudHMtd3JhcHBlciAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvLCAucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8sIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgfVxufVxuXG4uaGVhZGluZ194cywgLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlcyAuYmVmLWV4cG9zZWQtZm9ybSBsYWJlbCwgLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlcyAuYmVmLWV4cG9zZWQtZm9ybSBsZWdlbmQsXG4ucHJlc3NWaWV3LmNvbXVuaWNhdGlJbnZlc3RvcnMgLmJlZi1leHBvc2VkLWZvcm0gbGFiZWwsXG4ucHJlc3NWaWV3LmNvbXVuaWNhdGlJbnZlc3RvcnMgLmJlZi1leHBvc2VkLWZvcm0gbGVnZW5kLCAucHJlc3NWaWV3LmcyNExpc3QgLmJlZi1leHBvc2VkLWZvcm0gbGFiZWwsIC5wcmVzc1ZpZXcuZzI0TGlzdCAuYmVmLWV4cG9zZWQtZm9ybSBsZWdlbmQsIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIGxhYmVsLCAud2hpdGVCb3hlcyBwLmJveFRpdGxlLCBoNSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNvbGVTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS44cmVtO1xufVxuXG4uYm9keV94eGwsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnREYXRlIC5lZE1vbnRoLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50RGF0ZSAuZWRZZWFyLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuZmllbGQtLW5hbWUtYm9keSBwLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuZmllbGQtLW5hbWUtYm9keSwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLXRlYXNlci1iaWcgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSwgLnByZXNzQ29udGVudC5ub2RlLXZpZXctbW9kZS1mdWxsIC5ncmlkSGVhZGVyIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUsIC52aWV3UGFnZWQgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtaGlnaGxpZ2h0LXN1YnRpdGxlIHAsXG4ucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQgLmZpZWxkLS1uYW1lLWZpZWxkLW1zZy1jLWhpZ2hsaWdodC10ZXh0IHAsIC5wYXJhZ3JhcGgtLXR5cGUtLWN0YS10ZXN0dWFsZS1jb24taW50cm8gLmZpZWxkLS1uYW1lLWZpZWxkLXRleHQgcCwgLnBhcmFncmFwaC0tdHlwZS0tY3RhLXRlc3R1YWxlLWNvbi1pbnRybyAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvLCAucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ib2R5X3h4bCwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudERhdGUgLmVkTW9udGgsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnREYXRlIC5lZFllYXIsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXItYmlnIC5maWVsZC0tbmFtZS1ib2R5IHAsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXItYmlnIC5maWVsZC0tbmFtZS1ib2R5LCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlLCAucHJlc3NDb250ZW50Lm5vZGUtdmlldy1tb2RlLWZ1bGwgLmdyaWRIZWFkZXIgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSwgLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYSwgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1oaWdobGlnaHQtc3VidGl0bGUgcCxcbiAgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1oaWdobGlnaHQtdGV4dCBwLCAucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5maWVsZC0tbmFtZS1maWVsZC10ZXh0IHAsIC5wYXJhZ3JhcGgtLXR5cGUtLWN0YS10ZXN0dWFsZS1jb24taW50cm8gLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbywgLnBhcmFncmFwaC0tdHlwZS0tY3RhLXRlc3R1YWxlLWNvbi1pbnRybyAuZmllbGQtLW5hbWUtZmllbGQtY29tcGFueSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIH1cbn1cblxuLmJvZHlfeGwsIC52aWV3Q2VsbEVtcHR5IHAsIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLXBsYWNlLCAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8sIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbXBhbnksIC5ibG9jay1tZW51LWJsb2Nrc29jaWFsIGxhYmVsLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRlbF0sIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gdGV4dGFyZWEsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSB0ZXh0YXJlYSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGxhYmVsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gbGFiZWwsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBsYWJlbCxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGxhYmVsLCAud2hpdGVCb3hlcy5ib3hlc0dvdmVybmFuY2VPdmVydmlldyBwLmJveFRpdGxlLCAud2hpdGVCb3hlcyBwLmJveFRleHQsIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuLnNlbGVjdDItY29udGFpbmVyLS1hcmNoaXZlTWVudSBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCwgLmxpbmstYXR0YWNobWVudCwgLmxpbmstcGRmLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUuZm9udC14bCB0Ym9keSB0ZCwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlLmZvbnQteGwgdGJvZHkgdGgsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZS5mb250LXhsIHRib2R5IGEsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZS5mb250LXhsIHRib2R5IHA6bm90KFtjbGFzc10pLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUuZm9udC14bCB0Ym9keSBwW2NsYXNzPVwiXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmJvZHlfeGwsIC52aWV3Q2VsbEVtcHR5IHAsIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIGlucHV0W3R5cGU9dGV4dF0sIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLXBsYWNlLCAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8sIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbXBhbnksIC5ibG9jay1tZW51LWJsb2Nrc29jaWFsIGxhYmVsLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZWxdLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gdGV4dGFyZWEsXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSB0ZXh0YXJlYSxcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4gIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4gIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGVsXSxcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gdGV4dGFyZWEsIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBsYWJlbCxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gbGFiZWwsXG4gIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGxhYmVsLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBsYWJlbCwgLndoaXRlQm94ZXMuYm94ZXNHb3Zlcm5hbmNlT3ZlcnZpZXcgcC5ib3hUaXRsZSwgLndoaXRlQm94ZXMgcC5ib3hUZXh0LCAuc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24sIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbiAgLnNlbGVjdDItY29udGFpbmVyLS1hcmNoaXZlTWVudSBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCwgLmxpbmstYXR0YWNobWVudCwgLmxpbmstcGRmLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUuZm9udC14bCB0Ym9keSB0ZCwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlLmZvbnQteGwgdGJvZHkgdGgsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZS5mb250LXhsIHRib2R5IGEsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZS5mb250LXhsIHRib2R5IHA6bm90KFtjbGFzc10pLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUuZm9udC14bCB0Ym9keSBwW2NsYXNzPVwiXCJdIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgfVxufVxuXG4uYm9keV9sLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50Q2FsZW5kYXIgLmV2TGJsLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudCAuZXZlbnRJY24sIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLXByZXNzLXJlbGVhc2Uubm9kZS12aWV3LW1vZGUtdGVhc2VyLWFsdGVybmF0ZSAubWVkaWFJbmZvLCAucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmZpZWxkLS1uYW1lLWZpZWxkLW1lZGlhLWRvY3VtZW50cyAubWVkaWFMaW5rIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBhLCAucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtbGlua3MgYSwgLmJsb2NrLXR0LWZvdW5kYXRpb24tZm9vdGVyaW50cm8gLmZpZWxkLS1uYW1lLWJvZHkgcCwgLmJsb2NrLXR0LWZvdW5kYXRpb24tZm9vdGVyY29udGF0dGkgLmZpZWxkLS1uYW1lLWJvZHkgcCwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHRib2R5IHRkLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGJvZHkgdGgge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ib2R5X2wsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnRDYWxlbmRhciAuZXZMYmwsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50IC5ldmVudEljbiwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC5tZWRpYUluZm8sIC5wcmVzc0FydFByLm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZmllbGQtLW5hbWUtZmllbGQtbWVkaWEtZG9jdW1lbnRzIC5tZWRpYUxpbmsgYSwgLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtY3RhIGEsIC5wYXJhZ3JhcGgtLXR5cGUtLWxpbmtlcnMgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1saW5rcyBhLCAuYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJpbnRybyAuZmllbGQtLW5hbWUtYm9keSBwLCAuYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJjb250YXR0aSAuZmllbGQtLW5hbWUtYm9keSBwLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGJvZHkgdGQsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB0Ym9keSB0aCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIH1cbn1cblxuLmJvZHlfbSwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC5maWVsZC0tbmFtZS1maWVsZC10eXBlLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSwgLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIGxhYmVsLmxibFR5cGUsIC5wcmVzc0FydFByLm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlLCAubm9kZS1jb250ZW50LnByZXNzSHAtZXZpZGVuemEgbGFiZWwubGJsVHlwZSwgLm5vZGUtY29udGVudC5wcmVzc0hwLWV2aWRlbnphIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUsIC5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAubWVkaWFMaW5rIC5maWVsZC0tbmFtZS1ib2R5IHAsXG4ubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYUxpbmsgLmZpZWxkLS1uYW1lLWJvZHkgcCwgLnZpZXdNYW5hZ2VyLnZpZXdOb3RlIC52aWV3cy1maWVsZC1maWVsZC1ub3RlLCAuYmxvY2stdHQtZm91bmRhdGlvbi1waWVkaXBhZ2luYSB1bC5tZW51IGxpIGEsIC5ibG9jay1mb290ZXItbWFpbm5hdiB1bC5tZW51IGxpIGEsIC5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIC5zdmdQb3B1cCBwLCAubW0tbWVudSAubW0tbmF2YmFyc19ib3R0b20gLmxhbmdDaGFuZ2VyIHVsLmxpbmtzIGEubGFuZ3VhZ2UtbGluayB7XG4gIG1hcmdpbi1ib3R0b206IDAuOXJlbTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjlyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ib2R5X20sIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLXByZXNzLXJlbGVhc2Uubm9kZS12aWV3LW1vZGUtdGVhc2VyLWFsdGVybmF0ZSAuZmllbGQtLW5hbWUtZmllbGQtdHlwZSwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUsIC5wcmVzc0FydFByLm5vZGUtdmlldy1tb2RlLXRlYXNlciBsYWJlbC5sYmxUeXBlLCAucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSwgLm5vZGUtY29udGVudC5wcmVzc0hwLWV2aWRlbnphIGxhYmVsLmxibFR5cGUsIC5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YSAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlLCAubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLm1lZGlhTGluayAuZmllbGQtLW5hbWUtYm9keSBwLFxuICAubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYUxpbmsgLmZpZWxkLS1uYW1lLWJvZHkgcCwgLnZpZXdNYW5hZ2VyLnZpZXdOb3RlIC52aWV3cy1maWVsZC1maWVsZC1ub3RlLCAuYmxvY2stdHQtZm91bmRhdGlvbi1waWVkaXBhZ2luYSB1bC5tZW51IGxpIGEsIC5ibG9jay1mb290ZXItbWFpbm5hdiB1bC5tZW51IGxpIGEsIC5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIC5zdmdQb3B1cCBwLCAubW0tbWVudSAubW0tbmF2YmFyc19ib3R0b20gLmxhbmdDaGFuZ2VyIHVsLmxpbmtzIGEubGFuZ3VhZ2UtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgfVxufVxuXG4uYm9keV9zLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWwsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCwgLmJsb2NrLXR0LWZvdW5kYXRpb24tZGF0aXNvY2lldGFyaSAuZmllbGQtLW5hbWUtYm9keSBwLCBoZWFkZXIucGFnZUhlYWRlciAuYmxvY2stc3VwaGVhZGVyLW1lbnUtc3RhbmRhcmQgdWwubWVudSBsaSBhIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45cmVtO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDAuOXJlbTtcbn1cblxuaDQsIGg1IHtcbiAgZm9udC1mYW1pbHk6IFwiU29sZVNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cblxuLyoqXG4gKiBSaXN0cmluZ2UgbCdlbGVtZW50byBkZXNpZGVyYXRvIGluIGJhc2UgYWkgbWFyZ2luIGd1dHRlclxuICogUmlkaW1lbnNpb25hIGxhIGxhcmdoZXp6YSBtYXNzaW1hIGUgZ2VzdGlzY2UgaSBtYXJnaW4gbGF0ZXJhbGlcbiAqXG4gKiBAaW5jbHVkZSBzaWRlTWFyZ2luSXRlbSgnLm5vZGUtdmlldy1tb2RlLXRlYXNlcicpO1xuICogQGluY2x1ZGUgc2lkZU1hcmdpbkl0ZW1TZWxmKCk7XG4gKi9cbi8qKlxuICogQWxsYXJnYSBsJ2VsZW1lbnRvIGRlc2lkZXJhdG8gaW4gYmFzZSBhaSBtYXJnaW4gZ3V0dGVyXG4gKiBSaWRpbWVuc2lvbmEgbGEgbGFyZ2hlenphIG1hc3NpbWEgZSBnZXN0aXNjZSBpIG1hcmdpbiBsYXRlcmFsaSBpbiBuZWdhdGl2b1xuICpcbiAqIEBpbmNsdWRlIHNpZGVNYXJnaW5XcmFwcGVyKCcubm9kZS12aWV3LW1vZGUtdGVhc2VyJyk7XG4gKiBAaW5jbHVkZSBzaWRlTWFyZ2luV3JhcHBlclNlbGYoKTtcbiAqL1xuLmJnQ292ZXIsIC5iZ0NvdmVyQWJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmJnQ292ZXI6YmVmb3JlLCAuYmdDb3ZlckFiczpiZWZvcmUsIC5iZ1ZpZGVvQWJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTtcbn1cblxuLmJnQ292ZXJBYnMsIC5iZ1ZpZGVvQWJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5iZ0NvdmVyQWJzIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmJnVmlkZW9BYnMge1xuICB6LWluZGV4OiAyO1xufVxuLmJnVmlkZW9BYnM6YmVmb3JlIHtcbiAgei1pbmRleDogMztcbn1cbi5iZ1ZpZGVvQWJzIHZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5mdWxsTGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuXG5pZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmlmcmFtZS5zMjRfbWkge1xuICBoZWlnaHQ6IDQ0NXB4O1xufVxuXG4uc2Nyb2xsZXIsIC5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1jb250ZW50IHtcbiAgLS1zY3JvbGxiYXItY29sb3ItdGh1bWI6ICMzRDNEM0Q7XG4gIC0tc2Nyb2xsYmFyLWNvbG9yLXRyYWNrOiAjRDJEMkQzO1xuICAtLXNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgLS1zY3JvbGxiYXItd2lkdGgtbGVnYWN5OiAxNXJlbTtcbn1cblxuQHN1cHBvcnRzIChzY3JvbGxiYXItd2lkdGg6IGF1dG8pIHtcbiAgLnNjcm9sbGVyLCAuZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmFuY3lib3gtY29udGVudCB7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItY29sb3ItdGh1bWIpIHZhcigtLXNjcm9sbGJhci1jb2xvci10cmFjayk7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB2YXIoLS1zY3JvbGxiYXItd2lkdGgpO1xuICB9XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOjotd2Via2l0LXNjcm9sbGJhcikge1xuICBtYWluOmhhcyhpbnB1dFtuYW1lPWZpeC1zYWZhcmldOmNoZWNrZWQpIC5zY3JvbGxlcjpob3ZlciwgbWFpbjpoYXMoaW5wdXRbbmFtZT1maXgtc2FmYXJpXTpjaGVja2VkKSAuZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmFuY3lib3gtY29udGVudDpob3ZlciwgLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgbWFpbjpoYXMoaW5wdXRbbmFtZT1maXgtc2FmYXJpXTpjaGVja2VkKSAuZmFuY3lib3gtY29udGVudDpob3ZlciB7XG4gICAgLS1zYWZhcmktZml4OiA7IC8qIFRoaXMgY3VzdG9tIHByb3BlcnR5IGZvcmNlcyBTYWZhcmkgdG8gcmUtcmVuZGVyIHRoZSBzY3JvbGxiYXJzIG9uIGhvdmVyICovXG4gIH1cbiAgLnNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmZhbmN5Ym94LWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuc2Nyb2xsZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLCAuZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmFuY3lib3gtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5zY3JvbGxlcjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIC5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1jb250ZW50OmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWNvbG9yLXRodW1iKTtcbiAgfVxuICAuc2Nyb2xsZXI6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLCAuZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmFuY3lib3gtY29udGVudDpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci1jb2xvci10cmFjayk7XG4gIH1cbiAgLnNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhciwgLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmZhbmN5Ym94LWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXNjcm9sbGJhci13aWR0aC1sZWdhY3kpO1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLXNjcm9sbGJhci13aWR0aC1sZWdhY3kpO1xuICB9XG59XG4uc2Nyb2xsZXIsIC5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuXG4uc3Itb25seTpub3QoOmZvY3VzKTpub3QoOmFjdGl2ZSksIC5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIGgyLmJsb2NrLXRpdGxlOm5vdCg6Zm9jdXMpOm5vdCg6YWN0aXZlKSwgYm9keS5wYXRoLWZyb250cGFnZSAuYmxvY2stcGFnZS10aXRsZS1ibG9jay5ibG9jay10dC1mb3VuZGF0aW9uLXBhZ2UtdGl0bGU6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpLCBib2R5LmhpZGVIZWFkVGl0bGUgLmJsb2NrLXBhZ2UtdGl0bGUtYmxvY2suYmxvY2stdHQtZm91bmRhdGlvbi1wYWdlLXRpdGxlOm5vdCg6Zm9jdXMpOm5vdCg6YWN0aXZlKSB7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbn1cblxuI21haW4uY29sdW1ucyBhLCAjbWFpbi5jb2x1bW5zIGJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbmFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayBhI21haW4tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgc3Bhbi5zb3R0b2xpbmVhdHVyYSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHNwYW4uc290dG9saW5lYXR1cmFTbWFsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayBzcGFuLnNvdHRvbGluZWF0dXJhOmJlZm9yZSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHNwYW4uc290dG9saW5lYXR1cmFTbWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayBzcGFuLnR4dFJvc3NvIHtcbiAgY29sb3I6ICNEMjAwMUY7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLnRhYmxlLXNjcm9sbGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFyZW0gMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGgge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGQge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGQudGV4dC1hbGlnbi1yaWdodCwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHRoLnRleHQtYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB0aGVhZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGhlYWQgdGgge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM0QzRDNEO1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHRib2R5IHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB0Ym9keSB0ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGJvZHkgdGQsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB0Ym9keSB0aCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM0QzRDNEO1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHRib2R5IHRkLmhpZ2hsaWdodC1jZWxsLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGJvZHkgdGguaGlnaGxpZ2h0LWNlbGwge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHRib2R5IHRoIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB0Ym9keSBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZS5mb250LXhsIHRib2R5IHRkLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUuZm9udC14bCB0Ym9keSB0aCwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlLmZvbnQteGwgdGJvZHkgYSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlLmZvbnQteGwgdGJvZHkgcDpub3QoW2NsYXNzXSksIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZS5mb250LXhsIHRib2R5IHBbY2xhc3M9XCJcIl0ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZ3JlZW5IZWFkZXJUYWJsZSB0aGVhZCB0aCwgLmNvbnNBbW1pbmlzdHJhemlvbmVUYWJsZSB0YWJsZSB0aGVhZCB0aCB7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE2ODZGO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMS4xcmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmdyZWVuSGVhZGVyVGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQsIC5jb25zQW1taW5pc3RyYXppb25lVGFibGUgdGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uZ3JlZW5IZWFkZXJUYWJsZSB0aGVhZCB0aDpsYXN0LWNoaWxkLCAuY29uc0FtbWluaXN0cmF6aW9uZVRhYmxlIHRhYmxlIHRoZWFkIHRoOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmZmZmO1xufVxuLmdyZWVuSGVhZGVyVGFibGUgdGJvZHkgdGQsIC5jb25zQW1taW5pc3RyYXppb25lVGFibGUgdGFibGUgdGJvZHkgdGQsIC5ncmVlbkhlYWRlclRhYmxlIHRib2R5IHRoLCAuY29uc0FtbWluaXN0cmF6aW9uZVRhYmxlIHRhYmxlIHRib2R5IHRoIHtcbiAgcGFkZGluZzogMTJweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRjVFNUQ1O1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMS4xcmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmdyZWVuSGVhZGVyVGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsIC5jb25zQW1taW5pc3RyYXppb25lVGFibGUgdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmdyZWVuSGVhZGVyVGFibGUgc3Bhbi5pY24tY2hlY2ssIC5jb25zQW1taW5pc3RyYXppb25lVGFibGUgdGFibGUgc3Bhbi5pY24tY2hlY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFNUYxRjM7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIGNvbG9yOiAjM0QzRDNEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZ3JlZW5IZWFkZXJUYWJsZSBzcGFuLmljbi1jaGVjazpiZWZvcmUsIC5jb25zQW1taW5pc3RyYXppb25lVGFibGUgdGFibGUgc3Bhbi5pY24tY2hlY2s6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cbi5ncmVlbkhlYWRlclRhYmxlIHNwYW4ucm9sZSwgLmNvbnNBbW1pbmlzdHJhemlvbmVUYWJsZSB0YWJsZSBzcGFuLnJvbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuOXJlbTtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JlZW5IZWFkZXJUYWJsZSwgLmNvbnNBbW1pbmlzdHJhemlvbmVUYWJsZSB0YWJsZSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC0tdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC0tdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLS10eXBlLXRleHQtbG9uZyB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC0tdHlwZS10ZXh0LWxvbmcgb2w6bm90KC5jb250ZXh0dWFsLWxpbmtzKSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC56dXJiLWZvdW5kYXRpb24tY2FsbG91dCB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC56dXJiLWZvdW5kYXRpb24tY2FsbG91dCBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sOm5vdCguY29udGV4dHVhbC1saW5rcyksIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuZmllbGQtLXR5cGUtdGV4dC1sb25nIHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtbG9uZyBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IG9sOm5vdCguY29udGV4dHVhbC1saW5rcykge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgdWw6bm90KC5ub3N0eWxlKTpub3QoLmNvbnRleHR1YWwtbGlua3MpOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC0tdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGksIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC1sb25nIHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGksIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC1sb25nIG9sOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaSwgLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC56dXJiLWZvdW5kYXRpb24tY2FsbG91dCB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IG9sOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5maWVsZC0tdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5maWVsZC0tdHlwZS10ZXh0LWxvbmcgdWw6bm90KC5ub3N0eWxlKTpub3QoLmNvbnRleHR1YWwtbGlua3MpOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5maWVsZC0tdHlwZS10ZXh0LWxvbmcgb2w6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGksIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuenVyYi1mb3VuZGF0aW9uLWNhbGxvdXQgb2w6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAwcHggMDtcbiAgcGFkZGluZzogMCAwIDAgMzZweDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgdWw6bm90KC5ub3N0eWxlKTpub3QoLmNvbnRleHR1YWwtbGlua3MpOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaTpiZWZvcmUsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC1sb25nIHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGk6YmVmb3JlLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGk6YmVmb3JlLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKTpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGk6YmVmb3JlLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtbG9uZyB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpOmJlZm9yZSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC56dXJiLWZvdW5kYXRpb24tY2FsbG91dCB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMnB4O1xuICBsZWZ0OiAxNHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgb2wsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC1sb25nIG9sLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IG9sLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtbG9uZyBvbCwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC56dXJiLWZvdW5kYXRpb24tY2FsbG91dCBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IG9sTGk7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sID4gbGksIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC1sb25nIG9sID4gbGksIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuenVyYi1mb3VuZGF0aW9uLWNhbGxvdXQgb2wgPiBsaSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5maWVsZC0tdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSBvbCA+IGxpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtbG9uZyBvbCA+IGxpLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IG9sID4gbGkge1xuICBjb3VudGVyLWluY3JlbWVudDogb2xMaTtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgb2wgPiBsaTpiZWZvcmUsIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtLXR5cGUtdGV4dC1sb25nIG9sID4gbGk6YmVmb3JlLCAuYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLnp1cmItZm91bmRhdGlvbi1jYWxsb3V0IG9sID4gbGk6YmVmb3JlLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sID4gbGk6YmVmb3JlLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZpZWxkLS10eXBlLXRleHQtbG9uZyBvbCA+IGxpOmJlZm9yZSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC56dXJiLWZvdW5kYXRpb24tY2FsbG91dCBvbCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIob2xMaSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICBsZWZ0OiA0cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgY29sb3I6ICMzRDNEM0Q7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKlxuICogSW5kaWNhemlvbmkgcGVyIGkgbGlua1xuICovXG4uY3RhQnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBsaW5lLWhlaWdodDogMC45cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5jdGFCdG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5idG4tcHJpbWFyeSwgLm5vZGVIZWFkZXIgLmZpZWxkLS1uYW1lLWZpZWxkLWhlYWRlci1jdGEgYSwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5maWVsZC0tbmFtZS1maWVsZC1jdGEgYSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWFjdGlvbnMgLmpzLWZvcm0tc3VibWl0LFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLndlYmZvcm0tYWN0aW9ucyAuanMtZm9ybS1zdWJtaXQsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1hY3Rpb25zIC5qcy1mb3JtLXN1Ym1pdCxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWFjdGlvbnMgLmpzLWZvcm0tc3VibWl0LCAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgLnNlYXJjaC1idG4sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgLnNlYXJjaC1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJhY2tncm91bmQ6ICMzRDNEM0Q7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzRDNEM0Q7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5idG4tcHJpbWFyeTpob3ZlciwgLm5vZGVIZWFkZXIgLmZpZWxkLS1uYW1lLWZpZWxkLWhlYWRlci1jdGEgYTpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5maWVsZC0tbmFtZS1maWVsZC1jdGEgYTpob3ZlciwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWFjdGlvbnMgLmpzLWZvcm0tc3VibWl0OmhvdmVyLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSAud2ViZm9ybS1hY3Rpb25zIC5qcy1mb3JtLXN1Ym1pdDpob3ZlcixcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLndlYmZvcm0tYWN0aW9ucyAuanMtZm9ybS1zdWJtaXQ6aG92ZXIsXG4gIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWFjdGlvbnMgLmpzLWZvcm0tc3VibWl0OmhvdmVyLCAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgLnNlYXJjaC1idG46aG92ZXIsXG4gIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSAuc2VhcmNoLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnksIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjRjdEMkFGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRjdEMkFGO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYnRuLXNlY29uZGFyeTpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLWhlYWRlciAuZmllbGQtLW5hbWUtZmllbGQtY3RhIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgfVxufVxuXG4uYnRuLXNxdWFyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI0Y3RDJBRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Y3RDJBRjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgZm9udC1zaXplOiAwO1xuICBsaW5lLWhlaWdodDogMDtcbn1cbi5idG4tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxNHB4O1xuICB3aWR0aDogMjBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5idG4tc3F1YXJlIHtcbiAgICB3aWR0aDogNThweDtcbiAgICBoZWlnaHQ6IDU4cHg7XG4gIH1cbiAgLmJ0bi1zcXVhcmU6YmVmb3JlIHtcbiAgICBsZWZ0OiAxOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYnRuLXNxdWFyZSB7XG4gICAgd2lkdGg6IDc4cHg7XG4gICAgaGVpZ2h0OiA3OHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICB9XG4gIC5idG4tc3F1YXJlOmJlZm9yZSB7XG4gICAgbGVmdDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogODBweDtcbiAgfVxuICAuYnRuLXNxdWFyZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICB9XG59XG5cbi5saW5rLWFycm93LCAucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEgYSwgLmxpbmstYXJyb3ctYmFjaywgLmxpbmstYXJyb3ctdGFsbCwgLmxpbmstYm9vaywgLmxpbmstdW5kZXJsaW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LWZhbWlseTogXCJzb2xlX2Rpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjFyZW07XG4gIGNvbG9yOiAjM0QzRDNEICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLmxpbmstYXJyb3c6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWN0YS10ZXN0dWFsZS1jb24taW50cm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBhOmFmdGVyLCAubGluay1hcnJvdy1iYWNrOmFmdGVyLCAubGluay1hcnJvdy10YWxsOmFmdGVyLCAubGluay1ib29rOmFmdGVyLCAubGluay11bmRlcmxpbmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgwNFwiO1xuICB3aWR0aDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG59XG4ubGluay1hcnJvdzpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLWN0YS10ZXN0dWFsZS1jb24taW50cm8gLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBhOmJlZm9yZSwgLmxpbmstYXJyb3ctYmFjazpiZWZvcmUsIC5saW5rLWFycm93LXRhbGw6YmVmb3JlLCAubGluay1ib29rOmJlZm9yZSwgLmxpbmstdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxpbmstYXJyb3c6aG92ZXI6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5maWVsZC0tbmFtZS1maWVsZC1jdGEgYTpob3ZlcjpiZWZvcmUsIC5saW5rLWFycm93LWJhY2s6aG92ZXI6YmVmb3JlLCAubGluay1hcnJvdy10YWxsOmhvdmVyOmJlZm9yZSwgLmxpbmstYm9vazpob3ZlcjpiZWZvcmUsIC5saW5rLXVuZGVybGluZTpob3ZlcjpiZWZvcmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyN3B4KTtcbiAgfVxufVxuXG4ubGluay1hcnJvdy1iYWNrOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MDBcIjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxOHB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxpbmstYXJyb3ctYmFjazpob3ZlcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5saW5rLWFycm93LXRhbGwge1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xufVxuXG4ubGluay1ib29rOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MThcIjtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLmxpbmstYXR0YWNobWVudCwgLmxpbmstcGRmIHtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmxpbmstYXR0YWNobWVudDphZnRlciwgLmxpbmstcGRmOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4NTNcIjtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGluay1hdHRhY2htZW50OmhvdmVyLCAubGluay1wZGY6aG92ZXIge1xuICAgIGNvbG9yOiAjM0QzRDNEO1xuICB9XG59XG5cbi5saW5rLXBkZjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODU1XCI7XG59XG5cbi5saW5rLXVuZGVybGluZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGluay11bmRlcmxpbmU6aG92ZXI6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogR2VzdGlvbmUgaGFtYnVyZ2VyIG1lbnVcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20va2Fwb2tvL2RlbGljaW91cy1oYW1idXJnZXJzXG4gKiBEZW1vIHN0aWxpOiBodHRwczovL2thcG9rby5naXRodWIuaW8vZGVsaWNpb3VzLWhhbWJ1cmdlcnMvXG4gKi9cbi8qIVxuICogZGVsaWNpb3VzLWhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBCZWF1dGlmdWwgU0FTUyBwb3dlcmVkIGhhbWJ1cmdlciBtZW51IHRvZ2dsZSBidXR0b25zXG4gKiBAYXV0aG9yIEthc3BlciBLb21hblxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2thcG9rby9kZWxpY2lvdXMtaGFtYnVyZ2Vyc1xuICovXG5idXR0b24uaGFtYnVyZ2VyIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogNDBweDtcbn1cblxuZGl2LmhhbWJ1cmdlciB7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG59XG5kaXYuaGFtYnVyZ2VyID4gLmlubmVyIHtcbiAgdG9wOiA1MCU7XG59XG5cbi5oYW1idXJnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwIHRyYW5zcGFyZW50IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDE7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiA0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuLmhhbWJ1cmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAxO1xufVxuLmhhbWJ1cmdlcjpob3ZlciBzcGFuLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG4uaGFtYnVyZ2VyOmhvdmVyID4gLmlubmVyOm50aC1jaGlsZCgxKTo6YmVmb3JlLCAuaGFtYnVyZ2VyOmhvdmVyID4gLmlubmVyOm50aC1jaGlsZCgxKTo6YWZ0ZXIsIC5oYW1idXJnZXI6aG92ZXIgPiAuaW5uZXI6bnRoLWNoaWxkKDIpOjpiZWZvcmUsIC5oYW1idXJnZXI6aG92ZXIgPiAuaW5uZXI6bnRoLWNoaWxkKDIpOjphZnRlciwgLmhhbWJ1cmdlcjpob3ZlciA+IC5pbm5lcjpudGgtY2hpbGQoMyk6OmJlZm9yZSwgLmhhbWJ1cmdlcjpob3ZlciA+IC5pbm5lcjpudGgtY2hpbGQoMyk6OmFmdGVyLFxuLmhhbWJ1cmdlcjpob3ZlciBzcGFuLmJhcjpudGgtY2hpbGQoMSk6OmJlZm9yZSxcbi5oYW1idXJnZXI6aG92ZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDEpOjphZnRlcixcbi5oYW1idXJnZXI6aG92ZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDIpOjpiZWZvcmUsXG4uaGFtYnVyZ2VyOmhvdmVyIHNwYW4uYmFyOm50aC1jaGlsZCgyKTo6YWZ0ZXIsXG4uaGFtYnVyZ2VyOmhvdmVyIHNwYW4uYmFyOm50aC1jaGlsZCgzKTo6YmVmb3JlLFxuLmhhbWJ1cmdlcjpob3ZlciBzcGFuLmJhcjpudGgtY2hpbGQoMyk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbn1cbi5oYW1idXJnZXIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uaGFtYnVyZ2VyLmFjdGl2ZSBzcGFuLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG4uaGFtYnVyZ2VyLmFjdGl2ZSA+IC5pbm5lcjpudGgtY2hpbGQoMSk6OmJlZm9yZSwgLmhhbWJ1cmdlci5hY3RpdmUgPiAuaW5uZXI6bnRoLWNoaWxkKDEpOjphZnRlciwgLmhhbWJ1cmdlci5hY3RpdmUgPiAuaW5uZXI6bnRoLWNoaWxkKDIpOjpiZWZvcmUsIC5oYW1idXJnZXIuYWN0aXZlID4gLmlubmVyOm50aC1jaGlsZCgyKTo6YWZ0ZXIsIC5oYW1idXJnZXIuYWN0aXZlID4gLmlubmVyOm50aC1jaGlsZCgzKTo6YmVmb3JlLCAuaGFtYnVyZ2VyLmFjdGl2ZSA+IC5pbm5lcjpudGgtY2hpbGQoMyk6OmFmdGVyLFxuLmhhbWJ1cmdlci5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDEpOjpiZWZvcmUsXG4uaGFtYnVyZ2VyLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMSk6OmFmdGVyLFxuLmhhbWJ1cmdlci5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDIpOjpiZWZvcmUsXG4uaGFtYnVyZ2VyLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMik6OmFmdGVyLFxuLmhhbWJ1cmdlci5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDMpOjpiZWZvcmUsXG4uaGFtYnVyZ2VyLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMyk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbn1cbi5oYW1idXJnZXIgPiAuaW5uZXIge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaGFtYnVyZ2VyIHNwYW4uYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmhhbWJ1cmdlciBzcGFuLmJhcjpudGgtY2hpbGQoMSkge1xuICB0b3A6IC04cHg7XG59XG4uaGFtYnVyZ2VyIHNwYW4uYmFyOm50aC1jaGlsZCgzKSB7XG4gIHRvcDogOHB4O1xufVxuLmhhbWJ1cmdlcjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5oYW1idXJnZXItLXNwaW4gPiAuaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG4uaGFtYnVyZ2VyLS1zcGluIHNwYW4uYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBvcGFjaXR5IDAuMnMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpIDAuMnM7XG59XG4uaGFtYnVyZ2VyLS1zcGluIHNwYW4uYmFyOm50aC1jaGlsZCgxKSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlM2QoMCwgLThweCwgMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDQwJSA1MCU7XG59XG4uaGFtYnVyZ2VyLS1zcGluIHNwYW4uYmFyOm50aC1jaGlsZCgzKSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlM2QoMCwgOHB4LCAwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNDAlIDUwJTtcbn1cbi5oYW1idXJnZXItLXNwaW4uYWN0aXZlID4gLmlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUzZCgwLCAtMnB4LCAwKTtcbn1cbi5oYW1idXJnZXItLXNwaW4uYWN0aXZlIHNwYW4uYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpIDAuMXMsIG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG4uaGFtYnVyZ2VyLS1zcGluLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKC01LjQ2Mjc0MTY5OThweCwgLTIuMjYyNzQxNjk5OHB4LCAwKTtcbn1cbi5oYW1idXJnZXItLXNwaW4uYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgyKSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5oYW1idXJnZXItLXNwaW4uYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtMC45MzcyNTgzMDAycHgsIC0yLjI2Mjc0MTY5OThweCwgMCk7XG59XG5cbi8qKlxuICogR2VzdGlvbmUgb3V0ZGF0ZWQgYnJvd3NlclxuICogTGlicmVyaWEgZGkgcmlmZXJpbWVudG86IGh0dHBzOi8vZ2l0aHViLmNvbS9taWtlbWFjY2FuYS9vdXRkYXRlZC1icm93c2VyLXJld29ya1xuICogRGVtbzogaHR0cHM6Ly9taWtlbWFjY2FuYS5naXRodWIuaW8vb3V0ZGF0ZWQtYnJvd3Nlci1yZXdvcmsvXG4gKi9cbiNvdXRkYXRlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAyNHB4IDI0cHggMDtcbiAgei1pbmRleDogMTUwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jb3V0ZGF0ZWQgLnZlcnRpY2FsLWNlbnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNvdXRkYXRlZCBoNiB7XG4gIG1hcmdpbjogMTJweCAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbn1cbiNvdXRkYXRlZCBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNnJlbTtcbn1cbiNvdXRkYXRlZCAjYnV0dG9uVXBkYXRlQnJvd3NlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMzBweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuI291dGRhdGVkICNidXR0b25VcGRhdGVCcm93c2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuI291dGRhdGVkIC5sYXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiA3MHB4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG59XG4jb3V0ZGF0ZWQgLmxhc3RbZGlyPXJ0bF0ge1xuICBsZWZ0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4jb3V0ZGF0ZWQgI2J1dHRvbkNsb3NlVXBkYXRlQnJvd3NlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS44cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jb3V0ZGF0ZWQuZnVsbHNjcmVlbiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyoqXG4gKiBGYW5jeWJveCBkZWkgbWFuYWdlclxuICogSW4gX21hbmFnZXIuc2NzcyB2aWVuZSBlZmZldHR1YXRvIGwnb3ZlcnJpZGUgZGVsIGNvbnRlbnV0bywgcXVpIGRlbGxvIHN0aWxlIGRlbGxhIGZhbmN5Ym94XG4gKi9cbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1zbGlkZS0taHRtbCB7XG4gIHBhZGRpbmc6IDA7XG59XG4uZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmFuY3lib3gtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC10b29sYmFyIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1idXR0b24uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSxcbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1idXR0b24uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1idXR0b24tLWNsb3NlIHNwYW46YmVmb3JlLFxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1jbG9zZS1zbWFsbCBzcGFuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDU2cHg7XG59XG4uZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmFuY3lib3gtYnV0dG9uLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2Ugc3ZnLFxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1jbG9zZS1zbWFsbCBzdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmFuY3lib3gtYnV0dG9uLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHNwYW46YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICB9XG4gIC5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5mYW5jeWJveC1idXR0b24uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgfVxufVxuXG4vKipcbiAqIEZhbmN5Ym94IGRlbGxhIHJpY2VyY2FcbiAqIEFwZXJ0YSB0cmFtaXRlIGJ1dHRvbiBpbiBoZWFkZXJcbiAqL1xuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeVNlYXJjaCAuZmFuY3lib3gtaW5mb2JhciwgLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeVNlYXJjaCAuZmFuY3lib3gtdG9vbGJhciwgLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeVNlYXJjaCAuZmFuY3lib3gtbmF2aWdhdGlvbixcbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lTZWFyY2ggLmZhbmN5Ym94LWJ1dHRvbiwgLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeVNlYXJjaCAuZmFuY3lib3gtY2FwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lTZWFyY2ggLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyV3JhcHBlciwgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0cyAuc3dpcGVyV3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zd2lwZXJQYXJhZ3JhcGggLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHRzIC5zd2lwZXItYnV0dG9uLXByZXYsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgY29sb3I6ICMzRDNEM0Q7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zd2lwZXJQYXJhZ3JhcGggLnN3aXBlci1idXR0b24tcHJldjpob3ZlciwgLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyLCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHRzIC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzRDNEM0Q7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzRDNEM0Q7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLCAuc3dpcGVyUGFyYWdyYXBoIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1idXR0b24tcHJldjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0cyAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zd2lwZXJQYXJhZ3JhcGggLnN3aXBlci1idXR0b24tcHJldjpiZWZvcmUsIC5zd2lwZXJQYXJhZ3JhcGggLnN3aXBlci1idXR0b24tbmV4dDpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1idXR0b24tcHJldjpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1idXR0b24tbmV4dDpiZWZvcmUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyLWJ1dHRvbi1wcmV2LCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHRzIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBsZWZ0OiAwO1xufVxuLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0cyAuc3dpcGVyLWJ1dHRvbi1wcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODI2XCI7XG59XG4uc3dpcGVyUGFyYWdyYXBoIC5zd2lwZXItYnV0dG9uLW5leHQsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmJlZm9yZSwgLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0cyAuc3dpcGVyLWJ1dHRvbi1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODI3XCI7XG59XG4uc3dpcGVyUGFyYWdyYXBoIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHRzIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDA7XG59XG4uc3dpcGVyUGFyYWdyYXBoIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAwIDZweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMTtcbn1cbi5zd2lwZXJQYXJhZ3JhcGggLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpvbmx5LWNoaWxkLCAucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXJQYXJhZ3JhcGggLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbjogM3B4O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBvcGFjaXR5OiAxO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLnN3aXBlclBhcmFncmFwaCAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZTpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmU6YmVmb3JlIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc3dpcGVyLnN3aXBlci1mYWRlLnN3aXBlci1pbml0aWFsaXplZCAuc3dpcGVyLXNsaWRlIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci5zd2lwZXItZmFkZS5zd2lwZXItaW5pdGlhbGl6ZWQgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyICoge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQsXG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuZHJvcGRvd24td3JhcHBlcixcbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUgLmRyb3Bkb3duLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgei1pbmRleDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyIGIsXG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IC5kcm9wZG93bi13cmFwcGVyIGIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyOmJlZm9yZSxcbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUgLmRyb3Bkb3duLXdyYXBwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTRcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGZvbnQtc2l6ZTogOHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxuLnNlbGVjdDItY29udGFpbmVyLS1hcmNoaXZlTWVudSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg1ODU4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3csXG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzLFxuLnNlbGVjdDItY29udGFpbmVyLS1hcmNoaXZlTWVudSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjM0QzRDNEO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkLFxuLnNlbGVjdDItY29udGFpbmVyLS1hcmNoaXZlTWVudSBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA4MHB4IDAgMjBweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNTJweCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCBzcGFuLnNlbGVjdGlvbixcbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUgc3Bhbi5zZWxlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCxcbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzpiZWZvcmUsIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuZHJvcGRvd24td3JhcHBlcjpiZWZvcmUsXG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3c6YmVmb3JlLFxuLnNlbGVjdDItY29udGFpbmVyLS1hcmNoaXZlTWVudS5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuZHJvcGRvd24td3JhcHBlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDIwICFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHMsIC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNlbGVjdDItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0cywgLnNlbGVjdDItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgbWF4LWhlaWdodDogMzAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUgLmRyb3Bkb3duLXdyYXBwZXI6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IHtcbiAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICB9XG59XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tY2FuZGlkYXR1cmEtc3BvbnRhbmVhLWZvcm0gLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE0XCI7XG4gIGNvbG9yOiAjRDIwMDFGO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgI0QyMDAxRjtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tY2FuZGlkYXR1cmEtc3BvbnRhbmVhLWZvcm0gLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAyMCAhaW1wb3J0YW50O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0QyMDAxRjtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tY2FuZGlkYXR1cmEtc3BvbnRhbmVhLWZvcm0gLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjRDIwMDFGO1xufVxuXG5oZWFkZXIucGFnZUhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMyNjJBMzM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICB6LWluZGV4OiA0MDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5oZWFkZXJNYWluR3JpZCB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgYS5sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDEwcHggMDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIGEubG9nbyBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA0MHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgYS5sb2dvOmFjdGl2ZSwgaGVhZGVyLnBhZ2VIZWFkZXIgYS5sb2dvOnZpc2l0ZWQge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIGEubG9nb1doaXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50b29sYmFyLWZpeGVkLnRvb2xiYXItdmVydGljYWwudG9vbGJhci10cmF5LW9wZW4gaGVhZGVyLnBhZ2VIZWFkZXIge1xuICAgIGxlZnQ6IDIzOXB4O1xuICB9XG4gIC50b29sYmFyLXZlcnRpY2FsIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS10b3Age1xuICAgIHRvcDogMzlweDtcbiAgfVxuICAubW0tb3BlbmluZyAudG9vbGJhci12ZXJ0aWNhbCBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tdG9wIHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnRvb2xiYXItZml4ZWQgaGVhZGVyLnBhZ2VIZWFkZXIsIC50b29sYmFyLWhvcml6b250YWwgaGVhZGVyLnBhZ2VIZWFkZXIsIC50b29sYmFyLXRyYXktb3BlbiBoZWFkZXIucGFnZUhlYWRlciB7XG4gICAgdG9wOiAzOXB4O1xuICB9XG4gIC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gaGVhZGVyLnBhZ2VIZWFkZXIge1xuICAgIHRvcDogODFweDtcbiAgfVxuICAudG9vbGJhci1maXhlZCBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCwgLnRvb2xiYXItaG9yaXpvbnRhbCBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCwgLnRvb2xiYXItdHJheS1vcGVuIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgICB0b3A6IDM5cHg7XG4gIH1cbiAgLnRvb2xiYXItaG9yaXpvbnRhbC50b29sYmFyLXRyYXktb3BlbiBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgdG9wOiA4MXB4O1xuICB9XG59XG5oZWFkZXIucGFnZUhlYWRlciAuaGVhZGVyTWFpblJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgLmhlYWRlck1haW5SaWdodFRvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5oZWFkZXIucGFnZUhlYWRlciAuc2VhcmNoVG9nZ2xlciB7XG4gIG1hcmdpbjogMTBweCAxMHB4IDAgMDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5zZWFyY2hUb2dnbGVyIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgLnNlYXJjaFRvZ2dsZXIgc3BhbjpiZWZvcmUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgLnRvZ2dsZU1lbnVNb2JpIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5ibG9jay1zdXBoZWFkZXItbWVudS1zdGFuZGFyZCB1bC5tZW51IGxpIGEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgLmJsb2NrLXN1cGhlYWRlci1tZW51LXN0YW5kYXJkIHVsLm1lbnUgbGkgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgaGVhZGVyLnBhZ2VIZWFkZXIge1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoZWFkZXIucGFnZUhlYWRlciBhLmxvZ28ge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG4gIGhlYWRlci5wYWdlSGVhZGVyIGEubG9nbyBzdmcge1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gIH1cbiAgaGVhZGVyLnBhZ2VIZWFkZXIgLnNlYXJjaFRvZ2dsZXIge1xuICAgIG1hcmdpbjogMjVweCAxNXB4IDAgMDtcbiAgfVxuICBoZWFkZXIucGFnZUhlYWRlciAudG9nZ2xlTWVudU1vYmkge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGhlYWRlci5wYWdlSGVhZGVyIC5zZWFyY2hUb2dnbGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgaGVhZGVyLnBhZ2VIZWFkZXIgYS5sb2dvIHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgfVxuICBoZWFkZXIucGFnZUhlYWRlciBhLmxvZ28gc3ZnIHtcbiAgICBtYXgtaGVpZ2h0OiA4MHB4O1xuICB9XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCBkb3duXG4gKiAtIE5hc2NvbmRvIGxhIGJhcnJhIGluIGFsdG8gZGVpIGZvbGxvd1xuICogLSBSaWR1Y28gbGEgZGltZW5zaW9uZSBkZWwgbG9nbyBlIGxvIHNwYXppb1xuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MkEzMztcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlVXAgLnNlYXJjaFRvZ2dsZXIgc3BhbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVVcCBhLmxvZ28ge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG4gIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlVXAgc3ZnIHtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICB9XG4gIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlVXAgc3ZnICN0ZXh0IHtcbiAgICBmaWxsOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBIZWFkcm9vbSAtIG1lbnUgbm9uIGF0dGFjY2F0byBpbiBwYWdpbmEgbWEgc2Nyb2xsIHVwXG4gKiBOb24gdmFyaW8gbnVsbGFcbiAqL1xuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVEb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MkEzMztcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlRG93biAuc2VhcmNoVG9nZ2xlciBzcGFuIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZURvd24gYS5sb2dvIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgfVxuICBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZURvd24gc3ZnIHtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICB9XG4gIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlRG93biBzdmcgI3RleHQge1xuICAgIGZpbGw6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5LnBhdGgtZnJvbnRwYWdlOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSksXG5ib2R5LmhlYWRlclNsaWRlcjpub3QoLm9wZW5Nb2JpTWVudSkgaGVhZGVyLnBhZ2VIZWFkZXI6bm90KC5oZWFkcm9vbS0tbm90LXRvcCk6bm90KDpob3Zlcik6bm90KDpoYXMoLnRibS1pdGVtLS1oYXMtZHJvcGRvd24ub3BlbikpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgYS5sb2dvQmFzZSxcbmJvZHkuaGVhZGVyU2xpZGVyOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgYS5sb2dvQmFzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgYS5sb2dvQmFzZSBzdmcgI3RleHQsXG5ib2R5LmhlYWRlclNsaWRlcjpub3QoLm9wZW5Nb2JpTWVudSkgaGVhZGVyLnBhZ2VIZWFkZXI6bm90KC5oZWFkcm9vbS0tbm90LXRvcCk6bm90KDpob3Zlcik6bm90KDpoYXMoLnRibS1pdGVtLS1oYXMtZHJvcGRvd24ub3BlbikpIGEubG9nb0Jhc2Ugc3ZnICN0ZXh0IHtcbiAgZmlsbDogI2ZmZmZmZjtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2U6bm90KC5vcGVuTW9iaU1lbnUpIGhlYWRlci5wYWdlSGVhZGVyOm5vdCguaGVhZHJvb20tLW5vdC10b3ApOm5vdCg6aG92ZXIpOm5vdCg6aGFzKC50Ym0taXRlbS0taGFzLWRyb3Bkb3duLm9wZW4pKSBhLmxvZ29XaGl0ZSxcbmJvZHkuaGVhZGVyU2xpZGVyOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgYS5sb2dvV2hpdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgLnNlYXJjaFRvZ2dsZXIgc3BhbixcbmJvZHkuaGVhZGVyU2xpZGVyOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgLnNlYXJjaFRvZ2dsZXIgc3BhbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuYm9keS5wYXRoLWZyb250cGFnZTpub3QoLm9wZW5Nb2JpTWVudSkgaGVhZGVyLnBhZ2VIZWFkZXI6bm90KC5oZWFkcm9vbS0tbm90LXRvcCk6bm90KDpob3Zlcik6bm90KDpoYXMoLnRibS1pdGVtLS1oYXMtZHJvcGRvd24ub3BlbikpIC50b2dnbGVNZW51TW9iaSBzcGFuLmJhcixcbmJvZHkuaGVhZGVyU2xpZGVyOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgLnRvZ2dsZU1lbnVNb2JpIHNwYW4uYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2U6bm90KC5vcGVuTW9iaU1lbnUpIGhlYWRlci5wYWdlSGVhZGVyOm5vdCguaGVhZHJvb20tLW5vdC10b3ApOm5vdCg6aG92ZXIpOm5vdCg6aGFzKC50Ym0taXRlbS0taGFzLWRyb3Bkb3duLm9wZW4pKSAuYmxvY2stc3VwaGVhZGVyLW1lbnUtc3RhbmRhcmQgdWwubWVudSBsaSBhLFxuYm9keS5oZWFkZXJTbGlkZXI6bm90KC5vcGVuTW9iaU1lbnUpIGhlYWRlci5wYWdlSGVhZGVyOm5vdCguaGVhZHJvb20tLW5vdC10b3ApOm5vdCg6aG92ZXIpOm5vdCg6aGFzKC50Ym0taXRlbS0taGFzLWRyb3Bkb3duLm9wZW4pKSAuYmxvY2stc3VwaGVhZGVyLW1lbnUtc3RhbmRhcmQgdWwubWVudSBsaSBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgLmJsb2NrLXN1cGhlYWRlci1tZW51LXN0YW5kYXJkIHVsLm1lbnUgbGkgYTpob3ZlcixcbmJvZHkuaGVhZGVyU2xpZGVyOm5vdCgub3Blbk1vYmlNZW51KSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgLmJsb2NrLXN1cGhlYWRlci1tZW51LXN0YW5kYXJkIHVsLm1lbnUgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuXG5ib2R5LnN0b3BPdmVyZmxvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkuc3RvcE92ZXJmbG93WCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuYm9keS5zdG9wT3ZlcmZsb3dZIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4jbWFpbi5wYWdlTWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNtYWluLnBhZ2VNYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI21haW4ucGFnZU1haW4ge1xuICAgIG1hcmdpbi10b3A6IDE0MXB4O1xuICB9XG59XG5cbmJvZHkuaGVhZGVyU2xpZGVyICNtYWluLnBhZ2VNYWluIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyoqXG4gKiBQZXIgb3ZlcmZsb3cgZGkgQU9TXG4gKiBOb24gbG8gZ2VzdGlhbW8gc29sbyBzdWxsYSBIUFxuICogLSBjJ8OoIGwnZWxlbWVudG8gc3RpY2t5XG4gKiAtIG5vbiBjJ8OoIG5lc3N1biBBT1MgZGEgbGVmdCBlIHJpZ2h0XG4gKi9cbmJvZHk6bm90KC5wYXRoLWZyb250cGFnZSkgLmJsb2NrLXR0LWZvdW5kYXRpb24tY29udGVudC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuI21vYmlsZS1tZW51IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG59XG4jbW9iaWxlLW1lbnUubW0tbWVudSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDAgLSA2MHB4KTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNtb2JpbGUtbWVudS5tbS1tZW51IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA5MHB4KTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDAgLSA5MHB4KTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubW0tcGFnZS5tbS1zbGlkZW91dCB7XG4gICAgei1pbmRleDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4ub2ZmLWNhbnZhcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1tLXdyYXBwZXJfX2Jsb2NrZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLm1tLW1lbnUge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICB6LWluZGV4OiAxMDtcbn1cbi5tbS1tZW51IC5tbS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4ubW0tbWVudS5tbS1tZW51X25hdmJhcl9ib3R0b20tMSAubW0tcGFuZWxzIHtcbiAgYm90dG9tOiAzMnB4O1xufVxuLm1tLW1lbnUgLm1tLWxpc3RpdGVtX190ZXh0IHtcbiAgcGFkZGluZzogMjBweCAzMHB4IDIwcHggMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGNEY0RjQ7XG59XG4ubW0tbWVudSBhLCAubW0tbWVudSBhOmFjdGl2ZSwgLm1tLW1lbnUgYTpob3ZlciwgLm1tLW1lbnUgYTpsaW5rLCAubW0tbWVudSBhOnZpc2l0ZWQge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zcmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5tbS1tZW51IGEuaXRtLW1lbnUtbWFpbi5saW5rLWdydXBwbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiAjM0QzRDNEICFpbXBvcnRhbnQ7XG59XG4ubW0tbWVudSBhLml0bS1tZW51LW1haW4ubGluay1ncnVwcG86YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgxOFwiO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuLm1tLW1lbnUgYS5TZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjM0QzRDNEICFpbXBvcnRhbnQ7XG59XG4ubW0tbWVudSAubW0tbGlzdGl0ZW06YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm1tLW1lbnUgYS5tbS1idG5fbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1tLW1lbnUgYS5tbS1idG5fbmV4dDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubW0tbWVudSBhLm1tLWJ0bl9uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5tbS1tZW51IC5tbS1idG46YWZ0ZXIsIC5tbS1tZW51IC5tbS1idG46YmVmb3JlIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG4ubW0tbWVudSAubW0tcGFuZWwubW0tcGFuZWxfaGFzLW5hdmJhciB7XG4gIHBhZGRpbmctdG9wOiA2MnB4O1xufVxuLm1tLW1lbnUgLm1tLXBhbmVsLm1tLXBhbmVsX2hhcy1uYXZiYXIgLm1tLW5hdmJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDYycHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgYmFja2dyb3VuZDogI0Y1RTVENTtcbn1cbi5tbS1tZW51IC5tbS1wYW5lbC5tbS1wYW5lbF9oYXMtbmF2YmFyIC5tbS1uYXZiYXIgYS5tbS1idG5fcHJldiB7XG4gIHBhZGRpbmc6IDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5tbS1tZW51IC5tbS1wYW5lbC5tbS1wYW5lbF9oYXMtbmF2YmFyIC5tbS1uYXZiYXIgYS5tbS1idG5fcHJldjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ubW0tbWVudSAubW0tcGFuZWwubW0tcGFuZWxfaGFzLW5hdmJhciAubW0tbmF2YmFyIGEubW0tYnRuX3ByZXY6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgwMFwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDAsIDUwJSk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLm1tLW1lbnUgLm1tLXBhbmVsLm1tLXBhbmVsX2hhcy1uYXZiYXIgLm1tLW5hdmJhciBhLm1tLW5hdmJhcl9fdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjNyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLm1tLW1lbnUgLm1tLW5hdmJhcnNfYm90dG9tIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0Y0RjRGNDtcbn1cbi5tbS1tZW51IC5tbS1uYXZiYXJzX2JvdHRvbSAubW0tbmF2YmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5tbS1tZW51IC5tbS1uYXZiYXJzX2JvdHRvbSAubW0tbmF2YmFyID4gKiB7XG4gIHBhZGRpbmc6IDA7XG59XG4ubW0tbWVudSAubW0tbmF2YmFyc19ib3R0b20gLmxhbmdDaGFuZ2VyIHVsLmxpbmtzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm1tLW1lbnUgLm1tLW5hdmJhcnNfYm90dG9tIC5sYW5nQ2hhbmdlciB1bC5saW5rcyBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubW0tbWVudSAubW0tbmF2YmFyc19ib3R0b20gLmxhbmdDaGFuZ2VyIHVsLmxpbmtzIGxpOm5vdCguaXMtYWN0aXZlKTpub3QoLmRpdmlkZXIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW0tbWVudSAubW0tbmF2YmFyc19ib3R0b20gLmxhbmdDaGFuZ2VyIHVsLmxpbmtzIGEubGFuZ3VhZ2UtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjM0QzRDNEO1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tbS1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICB9XG59XG5cbi5tbS1tZW51X29wZW5lZC5tbS1tZW51X3BhZ2VkaW0tYmxhY2sgfiAubW0td3JhcHBlcl9fYmxvY2tlciB7XG4gIGJhY2tncm91bmQ6ICNGNUU1RDU7XG59XG5cbi5tbS1tZW51X29mZmNhbnZhcyB7XG4gIHdpZHRoOiA5MCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubW0tbWVudV9vZmZjYW52YXMge1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gIH1cbn1cblxuZm9vdGVyLnBhZ2VGb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmZvb3Rlci5wYWdlRm9vdGVyIGEge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmZvb3Rlci5wYWdlRm9vdGVyIGZpZWxkLS1uYW1lLWJvZHkgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3RlclRvcCB7XG4gIHBhZGRpbmc6IDQwcHggMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyQTMzO1xufVxuZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3Rlck1pZCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNTI1MjU7XG59XG5mb290ZXIucGFnZUZvb3RlciAuZm9vdGVyU3ViIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3RlclN1YlJpZ2h0QXJlYSBhLmxvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5mb290ZXIucGFnZUZvb3RlciAuZm9vdGVyU3ViUmlnaHRBcmVhIGEubG9nbyBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3RlclN1YlJpZ2h0QXJlYSBhLmxvZ28gc3ZnICoge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIGZvb3Rlci5wYWdlRm9vdGVyIC5mb290ZXJUb3BMZWZ0QXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3Rlck1pZCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cbiAgZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3RlclN1YiB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGZvb3Rlci5wYWdlRm9vdGVyIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGZvb3Rlci5wYWdlRm9vdGVyIC5mb290ZXJUb3Age1xuICAgIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xuICB9XG59XG5cbi5ibG9jay10dC1mb3VuZGF0aW9uLWZvb3RlcmludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJpbnRybyB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJpbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmJsb2NrLXR0LWZvdW5kYXRpb24tZm9vdGVyY29udGF0dGkge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxuICAuYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJjb250YXR0aSBwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJpbnRybyxcbiAgLmJsb2NrLXR0LWZvdW5kYXRpb24tZm9vdGVyY29udGF0dGksXG4gIC5ibG9jay10dC1mb3VuZGF0aW9uLWRhdGlzb2NpZXRhcmkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXppb25lIGNsYXNzaSBhZCBob2MgcGVyIHNwYXppYXR1cmUgdG9wIGUgYm90dG9tXG4gKiBpdGVtLW1hcmdpbi10b3AtKiArIGl0ZW0tbWFyZ2luLWJvdHRvbS0qXG4gKiBMYSBzZWxlY3QgcHXDsiBlc3NlcmUgdnVvdGEgKG5vbmUpIG8gdmFsb3JpenphdGEgY29tZSBzbWFsbCwgbWVkaXVtIGUgbGFyZ2VcbiAqIExhdG8gVHdpZyB2aWVuZSBnZW5lcmF0YSBsYSBjbGFzc2UgZGEgYXNzb2NpYXJlXG4gKi9cbi8qKlxuICogTWFwcGEgZGVsbGUgc3BhemlhdHVyZVxuICogTGEgZnVuemlvbmUgc290dG9zdGFudGUgbGVnZ2UgcXVlc3RhIG1hcHBhIGUgZ2VuZXJhIGxlIGNsYXNzaSBpbiBiYXNlIGFsIGJyZWFrcG9pbnQgZGkgRm91bmRhdGlvblxuICovXG4vKipcbiAqIEZ1bnppb25lIGRpIGdlbmVyYXppb25lXG4gKiAkdHlwZTogcGFkZGluZyAvIG1hcmdpblxuICogJGJyZWFrcG9pbnRzOiBhcnJheSBkZWkgYnJlYWtwb2ludCAodXNhcmUgc3Rlc3NpIG5vbWkgZGkgRm91bmRhdGlvbilcbiAqICRicDogPHNtYWxsLCBtZWRpdW0sIGxhcmdlPiwgc2luZ29sbyBicmVha3BvaW50XG4gKiAkc2l6ZTogPG5vbmUsIHNtYWxsLCBtZWRpdW0sIGxhcmdlPiwgcGVyIGlsIG5vbWUgY2xhc3NlXG4gKiAkdmFsdWU6IHZhbG9yZSBpbiBwaXhlbCBkYSBhc3NlZ25hcmVcbiAqL1xuLml0ZW0tcGFkZGluZy10b3Atbm9uZSB7XG4gIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tcGFkZGluZy1ib3R0b20tbm9uZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tcGFkZGluZy10b3Atc21hbGwge1xuICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1wYWRkaW5nLWJvdHRvbS1zbWFsbCB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXBhZGRpbmctdG9wLW1lZGl1bSB7XG4gIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXBhZGRpbmctYm90dG9tLW1lZGl1bSB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXBhZGRpbmctdG9wLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXBhZGRpbmctYm90dG9tLWxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pdGVtLXBhZGRpbmctdG9wLW5vbmUge1xuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1wYWRkaW5nLWJvdHRvbS1ub25lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pdGVtLXBhZGRpbmctdG9wLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXBhZGRpbmctYm90dG9tLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaXRlbS1wYWRkaW5nLXRvcC1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXBhZGRpbmctYm90dG9tLW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pdGVtLXBhZGRpbmctdG9wLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1wYWRkaW5nLWJvdHRvbS1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5pdGVtLW1hcmdpbi10b3Atbm9uZSB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1tYXJnaW4tYm90dG9tLW5vbmUge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tbWFyZ2luLXRvcC1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tbWFyZ2luLWJvdHRvbS1zbWFsbCwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtYXNzZW1ibGVhLm5vZGUtdmlldy1tb2RlLXRlYXNlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tbWFyZ2luLXRvcC1tZWRpdW0ge1xuICBtYXJnaW4tdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLW1hcmdpbi1ib3R0b20tbWVkaXVtLCAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgLnZpZXdJdGVtcyAud3JhcHBlckl0ZW1zLCAuYXJjaGl2ZVBhZ2UgLmRvY3VtZW50c1ZpZXdzLCAuc2VhcmNoLnNlYXJjaEdsb2JhbC52aWV3UGFnZWQge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLW1hcmdpbi10b3AtbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiAxMDBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1tYXJnaW4tYm90dG9tLWxhcmdlLCAubXNnLWRpc2NsYWltZXItZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pdGVtLW1hcmdpbi10b3Atbm9uZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tbWFyZ2luLWJvdHRvbS1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLml0ZW0tbWFyZ2luLXRvcC1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLW1hcmdpbi1ib3R0b20tc21hbGwsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWFzc2VtYmxlYS5ub2RlLXZpZXctbW9kZS10ZWFzZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLml0ZW0tbWFyZ2luLXRvcC1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tbWFyZ2luLWJvdHRvbS1tZWRpdW0sIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSAudmlld0l0ZW1zIC53cmFwcGVySXRlbXMsIC5hcmNoaXZlUGFnZSAuZG9jdW1lbnRzVmlld3MsIC5zZWFyY2guc2VhcmNoR2xvYmFsLnZpZXdQYWdlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLml0ZW0tbWFyZ2luLXRvcC1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1tYXJnaW4tYm90dG9tLWxhcmdlLCAubXNnLWRpc2NsYWltZXItZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGxhYmVsLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG59XG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgLmpzLWZvcm0tdHlwZS10ZXh0ZmllbGQsIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSAuanMtZm9ybS10eXBlLXNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIC5qcy1mb3JtLXR5cGUtdGV4dGZpZWxkLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIC5qcy1mb3JtLXR5cGUtc2VhcmNoLWFwaS1hdXRvY29tcGxldGUge1xuICBmbGV4LWdyb3c6IDE7XG59XG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgaW5wdXRbdHlwZT10ZXh0XSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgcGFkZGluZzogMDtcbn1cbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSAuZm9ybS1hY3Rpb25zLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIC5mb3JtLWFjdGlvbnMge1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIC5zZWFyY2gtYnRuLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIC5zZWFyY2gtYnRuIHtcbiAgd2lkdGg6IDUycHg7XG4gIGhlaWdodDogNTJweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNGN0QyQUY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGN0QyQUY7XG4gIGNvbG9yOiAjM0QzRDNEICFpbXBvcnRhbnQ7XG59XG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgLnNlYXJjaC1idG46YmVmb3JlLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIC5zZWFyY2gtYnRuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDUycHg7XG59XG5cbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgei1pbmRleDogMTAwO1xufVxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGxhYmVsIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgLnNlYXJjaFdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbn1cbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSAuZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSAuc2VhcmNoVG9nZ2xlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSAuc2VhcmNoVG9nZ2xlciBzcGFuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDUycHg7XG59XG5cbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgLnNlYXJjaFRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLnNlYXJjaC5zZWFyY2hHbG9iYWwudmlld1BhZ2VkIC52aWV3cy1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM0QzRDNEO1xufVxuLnNlYXJjaC5zZWFyY2hHbG9iYWwudmlld1BhZ2VkIC52aWV3cy1yb3cgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnNlYXJjaC5zZWFyY2hHbG9iYWwudmlld1BhZ2VkIC52aWV3cy1yb3c6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjM0QzRDNEICFpbXBvcnRhbnQ7XG59XG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIC51aS1tZW51LWl0ZW0td3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXNlYXJjaCAudWktbWVudS1pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIC51aS1tZW51LWl0ZW0td3JhcHBlci51aS1zdGF0ZS1hY3RpdmUgLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyoqXG4gKiBCbG9jY2hpIERydXBhbCBCYXNpYyBibG9ja1xuICogR2VzdGl0aSBkYSAvYWRtaW4vc3RydWN0dXJlL2Jsb2NrL2Jsb2NrLWNvbnRlbnRcbiAqL1xuLmJsb2NrLXBhZ2UtdGl0bGUtYmxvY2suYmxvY2stdHQtZm91bmRhdGlvbi1wYWdlLXRpdGxlIGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLyoqXG4gKiBCcmVhZGNydW1ic1xuICogQmxvY2NvIGRpIHNpc3RlbWFcbiAqL1xuLmJsb2NrLXN5c3RlbS5ibG9jay1zeXN0ZW0tYnJlYWRjcnVtYi1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ibG9jay1zeXN0ZW0uYmxvY2stc3lzdGVtLWJyZWFkY3J1bWItYmxvY2sgdWwuYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmJsb2NrLXN5c3RlbS5ibG9jay1zeXN0ZW0tYnJlYWRjcnVtYi1ibG9jayB1bC5icmVhZGNydW1icyBsaSB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmJsb2NrLXN5c3RlbS5ibG9jay1zeXN0ZW0tYnJlYWRjcnVtYi1ibG9jayB1bC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbi5ibG9jay1zeXN0ZW0uYmxvY2stc3lzdGVtLWJyZWFkY3J1bWItYmxvY2sgdWwuYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbi5ibG9jay1zeXN0ZW0uYmxvY2stc3lzdGVtLWJyZWFkY3J1bWItYmxvY2sgdWwuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIGNvbG9yOiAjM0QzRDNEICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYmxvY2stc3lzdGVtLmJsb2NrLXN5c3RlbS1icmVhZGNydW1iLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ibG9jay1zeXN0ZW0uYmxvY2stc3lzdGVtLWJyZWFkY3J1bWItYmxvY2sgdWwuYnJlYWRjcnVtYnMge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbmJvZHkuaGlkZUhlYWRCcmVhZGNydW1iIC5ibG9jay1zeXN0ZW0uYmxvY2stc3lzdGVtLWJyZWFkY3J1bWItYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQmxvY2NvIGRlbCBjYW1iaW8gbGluZ3VhXG4qL1xuLmJsb2NrLWxhbmd1YWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tbGVmdDogMTNweDtcbn1cbi5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIi9cIjtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAzcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIGxpIGEuaXMtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIGxpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKSAuYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgbGk6YWZ0ZXIsIGJvZHkuaGVhZGVyU2xpZGVyIGhlYWRlci5wYWdlSGVhZGVyOm5vdCguaGVhZHJvb20tLW5vdC10b3ApOm5vdCg6aG92ZXIpIC5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyBsaTphZnRlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKSAuYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgbGkuZGl2aWRlciwgYm9keS5oZWFkZXJTbGlkZXIgaGVhZGVyLnBhZ2VIZWFkZXI6bm90KC5oZWFkcm9vbS0tbm90LXRvcCk6bm90KDpob3ZlcikgLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIGxpLmRpdmlkZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgaGVhZGVyLnBhZ2VIZWFkZXI6bm90KC5oZWFkcm9vbS0tbm90LXRvcCk6bm90KDpob3ZlcikgLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIGxpIGEsIGJvZHkuaGVhZGVyU2xpZGVyIGhlYWRlci5wYWdlSGVhZGVyOm5vdCguaGVhZHJvb20tLW5vdC10b3ApOm5vdCg6aG92ZXIpIC5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyBsaSBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmludHJvTGlua2VyVGl0bGUsIC5pbnRyb0xpbmtlclN0cnVjdHVyZSAuaW50cm9MaW5rZXJTZWN0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmludHJvTGlua2VyU3RydWN0dXJlIC5pbnRyb0xpbmtlclRpdGxlIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kOiAjMzE2ODZGO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmludHJvTGlua2VyU2VjdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNDNEQ3RDc7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5pbnRyb0xpbmtlclN0cnVjdHVyZSAuaW50cm9MaW5rZXJJdGVtcywgLmludHJvTGlua2VyU3RydWN0dXJlIC5pbm5lcldyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmludHJvTGlua2VyU3RydWN0dXJlIC5pbnRyb0xpbmtlckl0ZW1zIC5pbnRyb0xpbmtlckl0ZW0sIC5pbnRyb0xpbmtlclN0cnVjdHVyZSAuaW50cm9MaW5rZXJJdGVtcyAuaW5uZXJJdGVtLCAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmlubmVyV3JhcHBlciAuaW50cm9MaW5rZXJJdGVtLCAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmlubmVyV3JhcHBlciAuaW5uZXJJdGVtIHtcbiAgZmxleDogMSAxIDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmlubmVySXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QyRDJEMztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmludHJvTGlua2VyU3RydWN0dXJlIC5pbm5lckl0ZW0gYXJ0aWNsZSBpbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUgYS5jb3Zlckxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUgYS5pbnRyb0xpbmtlckxpbmsge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTE1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDMwcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDJEMkQzO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUgYS5pbnRyb0xpbmtlckxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGFcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUgYS5pbnRyb0xpbmtlckxpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0QzRDNEO1xufVxuLmludHJvTGlua2VyU3RydWN0dXJlIGEuaW50cm9MaW5rZXJMaW5rOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmludHJvTGlua2VyU3RydWN0dXJlIC5pbnRyb0xpbmtlckl0ZW1zLCAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmlubmVyV3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmludHJvTGlua2VySXRlbXMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmlubmVyV3JhcHBlciB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmludHJvTGlua2VyU3RydWN0dXJlIC5pbnRyb0xpbmtlclNlY3Rpb24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIH1cbiAgLmludHJvTGlua2VyU3RydWN0dXJlIC5pbm5lckl0ZW0ge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pbnRyb0xpbmtlclN0cnVjdHVyZSBhLmludHJvTGlua2VyTGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludHJvTGlua2VyU3RydWN0dXJlIC5pbnRyb0xpbmtlckl0ZW1zLCAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmlubmVyV3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAuaW50cm9MaW5rZXJTdHJ1Y3R1cmUgLmludHJvTGlua2VySXRlbXMgLmludHJvTGlua2VySXRlbS5kb3VibGVTaXplIHtcbiAgICBmbGV4LWdyb3c6IDI7XG4gIH1cbn1cbi5pbnRyb0xpbmtlclN0cnVjdHVyZS5idXNpbmVzc092ZXJ2aWV3Rmlyc3Qge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgLmludHJvTGlua2VyU3RydWN0dXJlLmJ1c2luZXNzT3ZlcnZpZXdGaXJzdCAuaW50cm9MaW5rZXJJdGVtcyAubWVkaWFRdW90aWRpYW5vIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG4gIC5pbnRyb0xpbmtlclN0cnVjdHVyZS5idXNpbmVzc092ZXJ2aWV3Rmlyc3QgLmludHJvTGlua2VySXRlbXMgLm1lZGlhUmFkaW8sIC5pbnRyb0xpbmtlclN0cnVjdHVyZS5idXNpbmVzc092ZXJ2aWV3Rmlyc3QgLmludHJvTGlua2VySXRlbXMgLm1lZGlhU3RhbXBhIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmludHJvTGlua2VyU3RydWN0dXJlLmJ1c2luZXNzT3ZlcnZpZXdGaXJzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAuYnVzaW5lc3NPdmVydmlld1NlY29uZCAuaW50cm9MaW5rZXJJdGVtcyAuaW50cm9MaW5rZXJJdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5idXNpbmVzc092ZXJ2aWV3U2Vjb25kIC5pbnRyb0xpbmtlclNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG4gIC5idXNpbmVzc092ZXJ2aWV3U2Vjb25kIC5pbm5lckl0ZW0gYXJ0aWNsZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi53aGl0ZUJveGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLndoaXRlQm94ZXMgLndoaXRlQm94IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi53aGl0ZUJveGVzIC53aGl0ZUJveEZvb3RlciB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ud2hpdGVCb3hlcyBzcGFuLmJveE51bWJlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcInNvbGVfZGlzcGxheVwiO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi53aGl0ZUJveGVzIHAuYm94VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJTb2xlU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLndoaXRlQm94ZXMgcC5ib3hUZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC53aGl0ZUJveGVzIC53aGl0ZUJveCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMlO1xuICB9XG59XG4ud2hpdGVCb3hlcy5ib3hlc0dvdmVybmFuY2VPdmVydmlldyAud2hpdGVCb3gge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG4ud2hpdGVCb3hlcy5ib3hlc0dvdmVybmFuY2VPdmVydmlldyAuYm94SWNvbiBhcnRpY2xlLm1lZGlhIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZU92ZXJ2aWV3IC5ib3hJY29uIGFydGljbGUubWVkaWEgc3ZnIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogNzVweDtcbn1cbi53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZU92ZXJ2aWV3IHAuYm94VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZU92ZXJ2aWV3IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbiAgLndoaXRlQm94ZXMuYm94ZXNHb3Zlcm5hbmNlT3ZlcnZpZXcgLndoaXRlQm94IHtcbiAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICBtYXJnaW46IDEwcHg7XG4gIH1cbiAgLndoaXRlQm94ZXMuYm94ZXNHb3Zlcm5hbmNlT3ZlcnZpZXcgLmJveEljb24gYXJ0aWNsZS5tZWRpYSB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZU92ZXJ2aWV3IHAuYm94VGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZU92ZXJ2aWV3IC53aGl0ZUJveCB7XG4gICAgZmxleDogMCAwIGNhbGMoMjUlIC0gMjBweCk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn1cblxuLndoaXRlQm94ZXMuYm94ZXNHb3Zlcm5hbmNlV2hpc3RsZWJsb3dpbmcgLndoaXRlQm94IHtcbiAgcGFkZGluZzogMjBweCAzMHB4IDMwcHggMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QyRDJEMztcbn1cbi53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZVdoaXN0bGVibG93aW5nIHAuYm94VGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAud2hpdGVCb3hlcy5ib3hlc0dvdmVybmFuY2VXaGlzdGxlYmxvd2luZyAud2hpdGVCb3gge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gIH1cbiAgLndoaXRlQm94ZXMuYm94ZXNHb3Zlcm5hbmNlV2hpc3RsZWJsb3dpbmcgLndoaXRlQm94Omxhc3Qtb2YtdHlwZSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZVdoaXN0bGVibG93aW5nIC53aGl0ZUJveCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLndoaXRlQm94ZXMuYm94ZXNHb3Zlcm5hbmNlV2hpc3RsZWJsb3dpbmcgLndoaXRlQm94IHtcbiAgICBwYWRkaW5nOiAzMHB4IDUwcHggNTBweCA1MHB4O1xuICB9XG59XG5cbi5lc2dTbGlkZXIgLmVzZ1dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuLmVzZ1NsaWRlciAuZXNnSXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkQxQzA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5lc2dTbGlkZXIgLmVzZ1NlcGFyYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjBweDtcbiAgbGVmdDogMzBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5lc2dTbGlkZXIgLmVzZ1NlcGFyYXRvcjpiZWZvcmUsIC5lc2dTbGlkZXIgLmVzZ1NlcGFyYXRvcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xufVxuLmVzZ1NsaWRlciAuZXNnU2VwYXJhdG9yOmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG59XG4uZXNnU2xpZGVyIC5lc2dTZXBhcmF0b3I6YWZ0ZXIge1xuICByaWdodDogMDtcbn1cbi5lc2dTbGlkZXIgLmVzZ0xldHRlciB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogNjRweDtcbiAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uZXNnU2xpZGVyIC5lc2dUZXh0IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMCAyMHB4IDIwcHggMjBweDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLmVzZ1NsaWRlciAuZXNnVGV4dCBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZXNnU2xpZGVyIC5lc2dJdGVtLmFjdGl2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QyRDJEMztcbiAgY3Vyc29yOiBhdXRvO1xufVxuLmVzZ1NsaWRlciAuZXNnSXRlbS5hY3RpdmUgLmVzZ0xldHRlciB7XG4gIGZvbnQtc2l6ZTogMTA0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxMDRweDtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG4uZXNnU2xpZGVyIC5lc2dJdGVtLmFjdGl2ZSAuZXNnVGV4dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG4uZXNnU2xpZGVyIC5lc2dJdGVtLmFjdGl2ZSAuZXNnU2VwYXJhdG9yIHtcbiAgb3BhY2l0eTogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLmVzZ1NsaWRlciAuZXNnV3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIC5lc2dTbGlkZXIgLmVzZ0l0ZW0ge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIG1hcmdpbjogNDBweCAwO1xuICB9XG4gIC5lc2dTbGlkZXIgLmVzZ1NlcGFyYXRvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmVzZ1NsaWRlciAuZXNnTGV0dGVyIHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gIH1cbiAgLmVzZ1NsaWRlciAuZXNnVGV4dCB7XG4gICAgcGFkZGluZzogMjBweCA2MHB4IDIwcHggMDtcbiAgfVxuICAuZXNnU2xpZGVyIC5lc2dJdGVtLmFjdGl2ZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAzODBweDtcbiAgfVxuICAuZXNnU2xpZGVyIC5lc2dJdGVtLmFjdGl2ZSAuZXNnTGV0dGVyIHtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbiAgLmVzZ1NsaWRlciAuZXNnSXRlbS5hY3RpdmUgLmVzZ1RleHQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbi8qKlxuICogQmxvY2NvIFN0YWtlaG9sZGVyRW5nYWdlbWVudEJsb2NrXG4gKiBTdGFtcGF0byBpbiBncnVwcG8yNC90ZW1wbGF0ZXMvc3Rha2Vob2xkZXItZW5nYWdlbWVudC1ibG9jay5odG1sLnR3aWdcbiAqIEludGVyYXR0aXZpdMOgIGluIGpzL2Jsb2Nrcy5qc1xuICovXG4uYmxvY2stc3Rha2Vob2xkZXItZW5nYWdlbWVudC1ibG9jayAuc3ZnV3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIHN2ZyAuaW50ZXJhY3RpdmUtaXRlbSAjYXJlYSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uYmxvY2stc3Rha2Vob2xkZXItZW5nYWdlbWVudC1ibG9jayBzdmcgLmludGVyYWN0aXZlLWl0ZW0gI292YWwsIC5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIHN2ZyAuaW50ZXJhY3RpdmUtaXRlbSAjaWNvIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIHN2ZyAuaW50ZXJhY3RpdmUtaXRlbS5hY3RpdmUgI292YWwge1xuICBmaWxsOiAjM0QzRDNEO1xufVxuLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgc3ZnIC5pbnRlcmFjdGl2ZS1pdGVtLmFjdGl2ZSAjaWNvIHtcbiAgZmlsbDogI2ZmZmZmZjtcbn1cbi5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIC5zdmdQb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDI0MHB4O1xuICBoZWlnaHQ6IDIyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgLnN2Z1BvcHVwLm9wZW5lZCB7XG4gIG9wYWNpdHk6IDE7XG59XG4uYmxvY2stc3Rha2Vob2xkZXItZW5nYWdlbWVudC1ibG9jayAuc3ZnUG9wdXAgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYmxvY2stc3Rha2Vob2xkZXItZW5nYWdlbWVudC1ibG9jayAucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgLnN2Z1dyYXBwZXIge1xuICAgIHdpZHRoOiA5NzBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgI2FyZWEge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAuYmxvY2stc3Rha2Vob2xkZXItZW5nYWdlbWVudC1ibG9jayBzdmcgLmludGVyYWN0aXZlLWl0ZW06aG92ZXIgI292YWwge1xuICAgIGZpbGw6ICMzRDNEM0Q7XG4gIH1cbiAgLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgc3ZnIC5pbnRlcmFjdGl2ZS1pdGVtOmhvdmVyICNpY28ge1xuICAgIGZpbGw6ICNmZmZmZmY7XG4gIH1cbn1cblxuYm9keS5sYW5nLWVuIC5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIHN2ZyAuaW50ZXJhY3RpdmUtaXRlbSAjdHh0X2l0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5LmxhbmctaXQgLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgc3ZnIC5pbnRlcmFjdGl2ZS1pdGVtICN0eHRfZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZDNkM2QyAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZDNkM2QyAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2QzZDNkMgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0taXRlbSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLWl0ZW0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS1pdGVtLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0taXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuY2VsbCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5jZWxsLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmNlbGwsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gbGFiZWwsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBsYWJlbCxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGxhYmVsLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gbGFiZWwge1xuICBtYXJnaW46IDVweDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBsYWJlbC5mb3JtLXJlcXVpcmVkOmFmdGVyLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gbGFiZWwuZm9ybS1yZXF1aXJlZDphZnRlcixcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGxhYmVsLmZvcm0tcmVxdWlyZWQ6YWZ0ZXIsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBsYWJlbC5mb3JtLXJlcXVpcmVkOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRleHRdLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gdGV4dGFyZWEsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSB0ZXh0YXJlYSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGVsXSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTJweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODU4NTg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIGNvbG9yOiAjMjUyNTI1O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWRhdGVdOmZvY3VzLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZWxdOmZvY3VzLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gdGV4dGFyZWE6Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWRhdGVdOmZvY3VzLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSB0ZXh0YXJlYTpmb2N1cyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9ZGF0ZV06Zm9jdXMsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGVsXTpmb2N1cyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIHRleHRhcmVhOmZvY3VzLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1kYXRlXTpmb2N1cyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9bnVtYmVyXTpmb2N1cyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT10ZWxdOmZvY3VzLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzNEM0QzRDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRleHRdLmVycm9yLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0uZXJyb3IsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1kYXRlXS5lcnJvciwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXS5lcnJvcixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXS5lcnJvciwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXS5lcnJvciwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZXh0XS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1kYXRlXS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZWxdLmVycm9yLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gdGV4dGFyZWEuZXJyb3IsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRleHRdLmVycm9yLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1lbWFpbF0uZXJyb3IsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPWRhdGVdLmVycm9yLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLmVycm9yLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0uZXJyb3IsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXRlbF0uZXJyb3IsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSB0ZXh0YXJlYS5lcnJvcixcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGV4dF0uZXJyb3IsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPWVtYWlsXS5lcnJvcixcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9ZGF0ZV0uZXJyb3IsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0uZXJyb3IsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXS5lcnJvcixcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGVsXS5lcnJvcixcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIHRleHRhcmVhLmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjM0QzRDNEO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gdGV4dGFyZWEsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSB0ZXh0YXJlYSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiAxMDRweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBwLmRlc2NyaXB0aW9uLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gcC5kZXNjcmlwdGlvbixcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIHAuZGVzY3JpcHRpb24sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSBwLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDAuOXJlbTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3g6bGFzdC1vZi10eXBlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveDpsYXN0LW9mLXR5cGUsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94Omxhc3Qtb2YtdHlwZSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3g6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG1hcmdpbjogMDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWwsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWw6YmVmb3JlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDpiZWZvcmUsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmJlZm9yZSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QyRDJEMztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDphZnRlcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWw6YWZ0ZXIsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmFmdGVyLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODUyXCI7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0cHg7XG4gIGxlZnQ6IDJweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMzRDNEM0Q7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsIHtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tYWN0aW9ucyxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC53ZWJmb3JtLWFjdGlvbnMsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1hY3Rpb25zLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLndlYmZvcm0tYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWFjdGlvbnMgLmpzLWZvcm0tc3VibWl0LFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLndlYmZvcm0tYWN0aW9ucyAuanMtZm9ybS1zdWJtaXQsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1hY3Rpb25zIC5qcy1mb3JtLXN1Ym1pdCxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWFjdGlvbnMgLmpzLWZvcm0tc3VibWl0IHtcbiAgbWFyZ2luOiAwO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtICNzdGF0dXMtbWVzc2FnZXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAjc3RhdHVzLW1lc3NhZ2VzLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gI3N0YXR1cy1tZXNzYWdlcyxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtICNzdGF0dXMtbWVzc2FnZXMge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gI3N0YXR1cy1tZXNzYWdlcyAuY2FsbG91dCxcbmZvcm0udXNlci1sb2dpbi1mb3JtICNzdGF0dXMtbWVzc2FnZXMgLmNhbGxvdXQsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAjc3RhdHVzLW1lc3NhZ2VzIC5jYWxsb3V0LFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gI3N0YXR1cy1tZXNzYWdlcyAuY2FsbG91dCB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgzNywgMzcsIDM3LCAwLjgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24sXG5mb3JtLnVzZXItbG9naW4tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24ge1xuICBtYXJnaW46IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIC53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tY2FuZGlkYXR1cmEtc3BvbnRhbmVhLWZvcm0gLmNlbGwuc21hbGwtMTI6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tY2FuZGlkYXR1cmEtc3BvbnRhbmVhLWZvcm0gLmF0dGFjaG1lbnRzV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIgaW5wdXRbdHlwZT1maWxlXTpmb2N1cyB+IGxhYmVsIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMzRDNEM0Q7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIgc3Bhbi5maWxlIHtcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSAuYXR0YWNobWVudHNXcmFwcGVyIHNwYW4uZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg1M1wiO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjlyZW07XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIgc3Bhbi5maWxlLmZpbGUtLWFwcGxpY2F0aW9uLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg1NVwiO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSAuYXR0YWNobWVudHNXcmFwcGVyIHNwYW4uZmlsZSBhIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjlyZW07XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIgLmZvcm0tc3VibWl0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDAuOXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIgPiBkaXYge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSAuYXR0YWNobWVudHNXcmFwcGVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgfVxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWNhbmRpZGF0dXJhLXNwb250YW5lYS1mb3JtIC5hdHRhY2htZW50c1dyYXBwZXIgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gIH1cbn1cblxuZm9ybS51c2VyLWxvZ2luLWZvcm0sXG5mb3JtLnVzZXItcGFzcyB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5mb3JtLnVzZXItbG9naW4tZm9ybSAuZm9ybS1pdGVtLFxuZm9ybS51c2VyLXBhc3MgLmZvcm0taXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5mb3JtLnVzZXItbG9naW4tZm9ybSAuZm9ybS1hY3Rpb25zLFxuZm9ybS51c2VyLXBhc3MgLmZvcm0tYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubXNnLWRpc2NsYWltZXItZm9ybSAuZm9ybS13cmFwcGVyLmZvcm0tYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tc2ctZGlzY2xhaW1lci1mb3JtIC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5oZWFkZXJNYWluIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5oZWFkZXJNYWluID4gLmdyaWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5oZWFkZXJNYWluIC5oZWFkZXJNZW51LCAuaGVhZGVyTWFpbiAuaGVhZGVyUmlnaHQge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4ge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIC50Ym0udGJtLW1haW4ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiAudGJtLnRibS1tYWluID4gLnRibS1jb2xsYXBzZSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gLnRibS1saW5rLWNvbnRhaW5lciwgLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIC50Ym0tbGluay1jb250YWluZXI6YWZ0ZXIsIC5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLCAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gc3Bhbi5uby1saW5rIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLnRibS1saW5rIHtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIGEudGJtLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIC50Ym0tc3VibWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIC50Ym0tZ3JvdXAtY29udGFpbmVyIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIC50Ym0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgY29sdW1uLWdhcDogMDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiAudGJtLWNvbHVtbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiAudGJtLWdyb3VwLWNvbnRhaW5lciAudGJtLWNvbHVtbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIC50Ym0taXRlbS5oaWRlU3ViR3JvdXAgPiAudGJtLWdyb3VwLWNvbnRhaW5lci50Ym0taXRlbS1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiAudGJtLWdyb3VwLXRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gdWwudGJtLW5hdi5sZXZlbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBsaS50Ym0taXRlbS5sZXZlbC0xIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBsaS50Ym0taXRlbS5sZXZlbC0xLmxlYXZpbmcgPiAudGJtLXN1Ym1lbnUge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gbGkudGJtLWl0ZW0ubGV2ZWwtMSA+IC50Ym0tbGluay1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gbGkudGJtLWl0ZW0ubGV2ZWwtMSA+IC50Ym0tbGluay1jb250YWluZXIgPiBidXR0b24udGJtLXN1Ym1lbnUtdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIGxpLnRibS1pdGVtLmxldmVsLTEgPiAudGJtLWxpbmstY29udGFpbmVyID4gYnV0dG9uLnRibS1zdWJtZW51LXRvZ2dsZTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gbGkudGJtLWl0ZW0ubGV2ZWwtMTpob3ZlciA+IC50Ym0tbGluay1jb250YWluZXIgYS50Ym0tbGluayxcbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBsaS50Ym0taXRlbS5sZXZlbC0xID4gLnRibS1saW5rLWNvbnRhaW5lciBidXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIGxpLnRibS1pdGVtLmxldmVsLTEgPiAudGJtLXN1Ym1lbnUge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0Y0RjRGNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MkEzMztcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLnRibS1saW5rLmxldmVsLTEsXG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYnV0dG9uLnRibS1saW5rLmxldmVsLTEge1xuICBwYWRkaW5nOiAzMHB4IDhweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4xcmVtO1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYS50Ym0tbGluay5sZXZlbC0xOmhvdmVyLFxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIGJ1dHRvbi50Ym0tbGluay5sZXZlbC0xOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDNweDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLnRibS1saW5rLmxldmVsLTEuYWN0aXZlLXRyYWlsLCAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYnV0dG9uLnRibS1saW5rLmxldmVsLTEuYWN0aXZlLXRyYWlsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gLnJvd3NfMyB1bC50Ym0tc3VibmF2LmxldmVsLTE6aGFzKGxpOm50aC1jaGlsZCgzKSkge1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCBhdXRvKTtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiB1bC50Ym0tc3VibmF2LmxldmVsLTEge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgY29sdW1uLWdhcDogMC41cmVtO1xuICAvKiA+PTUg4oaSIDIgcmlnaGUgKi9cbiAgLyogPj0xMCDihpIgNCByaWdoZSAqL1xuICAvKiA+PTEzIOKGkiA1IHJpZ2hlICovXG4gIC8qID49MTYg4oaSIDYgcmlnaGUgKi9cbiAgLyogPj0xOSDihpIgNyByaWdoZSAqL1xuICAvKiA+PTIyIOKGkiA4IHJpZ2hlICovXG4gIC8qID49MjUg4oaSIDkgcmlnaGUgKi9cbiAgLyogPj0yOCDihpIgMTAgcmlnaGUgKi9cbn1cbi5yb3dzXzMgLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIHVsLnRibS1zdWJuYXYubGV2ZWwtMTpoYXMobGk6bnRoLWNoaWxkKDMpKSB7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIGF1dG8pO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIHVsLnRibS1zdWJuYXYubGV2ZWwtMTpoYXMobGk6bnRoLWNoaWxkKDUpKSB7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIGF1dG8pO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIHVsLnRibS1zdWJuYXYubGV2ZWwtMTpoYXMobGk6bnRoLWNoaWxkKDEwKSkge1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCBhdXRvKTtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiB1bC50Ym0tc3VibmF2LmxldmVsLTE6aGFzKGxpOm50aC1jaGlsZCgxMykpIHtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNSwgYXV0byk7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gdWwudGJtLXN1Ym5hdi5sZXZlbC0xOmhhcyhsaTpudGgtY2hpbGQoMTYpKSB7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDYsIGF1dG8pO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIHVsLnRibS1zdWJuYXYubGV2ZWwtMTpoYXMobGk6bnRoLWNoaWxkKDE5KSkge1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg3LCBhdXRvKTtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiB1bC50Ym0tc3VibmF2LmxldmVsLTE6aGFzKGxpOm50aC1jaGlsZCgyMikpIHtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOCwgYXV0byk7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gdWwudGJtLXN1Ym5hdi5sZXZlbC0xOmhhcyhsaTpudGgtY2hpbGQoMjUpKSB7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDksIGF1dG8pO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIHVsLnRibS1zdWJuYXYubGV2ZWwtMTpoYXMobGk6bnRoLWNoaWxkKDI4KSkge1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMCwgYXV0byk7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gbGkudGJtLWl0ZW0ubGV2ZWwtMiB7XG4gIG1hcmdpbjogNDBweCAwIDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICBicmVhay1pbnNpZGU6IGF2b2lkO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIGEudGJtLWxpbmsubGV2ZWwtMiB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLnRibS1saW5rLmxldmVsLTIuYWN0aXZlLXRyYWlsIHtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLnRibS1saW5rLmxldmVsLTIubGluay1ncnVwcG8ge1xuICBmb250LWZhbWlseTogXCJzb2xlX2Rpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi5ibG9jay10Yi1tZWdhbWVudS1tZW51LWJsb2NrbWFpbiBhLnRibS1saW5rLmxldmVsLTIubGluay1ncnVwcG86YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgxOFwiO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIHVsLnRibS1zdWJuYXYubGV2ZWwtMiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gbGkudGJtLWl0ZW0ubGV2ZWwtMyB7XG4gIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICBicmVhay1pbnNpZGU6IGF2b2lkO1xufVxuLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIGEudGJtLWxpbmsubGV2ZWwtMyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjlyZW07XG59XG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYS50Ym0tbGluay5sZXZlbC0zLmFjdGl2ZS10cmFpbCB7XG4gIGNvbG9yOiAjM0QzRDNEICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYS50Ym0tbGluay5sZXZlbC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYS50Ym0tbGluay5sZXZlbC0xLFxuICAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYnV0dG9uLnRibS1saW5rLmxldmVsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYS50Ym0tbGluay5sZXZlbC0xLFxuICAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYnV0dG9uLnRibS1saW5rLmxldmVsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDVlbSkge1xuICAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYS50Ym0tbGluay5sZXZlbC0xLFxuICAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYnV0dG9uLnRibS1saW5rLmxldmVsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4gYS50Ym0tbGluay5sZXZlbC0xLFxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3AgLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIGJ1dHRvbi50Ym0tbGluay5sZXZlbC0xIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4uYmxvY2stZm9vdGVyLW1haW5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xufVxuLmJsb2NrLWZvb3Rlci1tYWlubmF2IGgzLmJsb2NrVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJTb2xlU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmJsb2NrLWZvb3Rlci1tYWlubmF2IHVsLm1lbnUgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJsb2NrLWZvb3Rlci1tYWlubmF2IHVsLm1lbnUgbGkgYSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDExcHggMDtcbn1cbi5ibG9jay1mb290ZXItbWFpbm5hdiB1bC5tZW51IGxpIGEuaXMtYWN0aXZlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYmxvY2stZm9vdGVyLW1haW5uYXYgdWwubWVudSBsaTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJsb2NrLWZvb3Rlci1tYWlubmF2IHVsLm1lbnUgbGk6bGFzdC1vZi10eXBlIGEge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmJsb2NrLW1lbnUtYmxvY2tzb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmJsb2NrLW1lbnUtYmxvY2tzb2NpYWwgbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYmxvY2stbWVudS1ibG9ja3NvY2lhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJsb2NrLW1lbnUtYmxvY2tzb2NpYWwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gIC5ibG9jay1tZW51LWJsb2Nrc29jaWFsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ibG9jay1tZW51LWJsb2Nrc29jaWFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLmJsb2NrLXR0LWZvdW5kYXRpb24tcGllZGlwYWdpbmEgdWwubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmJsb2NrLXR0LWZvdW5kYXRpb24tcGllZGlwYWdpbmEgdWwubWVudSBsaSBhIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xufVxuLmJsb2NrLXR0LWZvdW5kYXRpb24tcGllZGlwYWdpbmEgdWwubWVudSBsaTpsYXN0LWNoaWxkIGEge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gIC5ibG9jay10dC1mb3VuZGF0aW9uLXBpZWRpcGFnaW5hIHVsLm1lbnUgbGkgYSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJsb2NrLXR0LWZvdW5kYXRpb24tcGllZGlwYWdpbmEgdWwubWVudSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG4vKipcbiAqIE1lbnUgaW4gcGFnaW5hIC0gQXJjaGl2aW9cbiAqIFN0aWxpenphdG8gY29tZSBTZWxlY3QyXG4gKiBHZW5lcmF0byB0cmFtaXRlIEpTIChhcmNoaXZlVmlld0JlaGF2aW9yKVxuICovXG4uYmxvY2stc3VwaGVhZGVyLWFyY2hpdmUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLmJsb2NrLXN1cGhlYWRlci1hcmNoaXZlIC5hcmNoaXZlTWVudVdyYXBwZXIgdWwubWVudSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5ibG9jay1zdXBoZWFkZXItYXJjaGl2ZSAuYXJjaGl2ZU1lbnVXcmFwcGVyIHNlbGVjdC5hcmNoaXZlLXNlbG1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0QzRDNEO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nOiAwIDUwcHggMCAyMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMzVweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTFweCA2cHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE1MCcgaGVpZ2h0PSc3MC44JyUzRSUzQ3BvbHlnb24gcG9pbnRzPSc3NSUyQzcwLjggMCUyQzAgMTUwJTJDMCcgZmlsbD0nJTIzRkZGRkZGJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5ibG9jay1zdXBoZWFkZXItYXJjaGl2ZSAuYXJjaGl2ZU1lbnVXcmFwcGVyIHNlbGVjdC5hcmNoaXZlLXNlbG1lbnU6Zm9jdXMsIC5ibG9jay1zdXBoZWFkZXItYXJjaGl2ZSAuYXJjaGl2ZU1lbnVXcmFwcGVyIHNlbGVjdC5hcmNoaXZlLXNlbG1lbnU6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjZmZmZmZmO1xufVxuLmJsb2NrLXN1cGhlYWRlci1hcmNoaXZlIC5hcmNoaXZlTWVudVdyYXBwZXIgc2VsZWN0LmFyY2hpdmUtc2VsbWVudSBvcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnBhcmFncmFwaC5wYXJhZ3JhcGgtdW5wdWJsaXNoZWQge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG59XG4ucGFyYWdyYXBoLnJlbW92ZUxlZnRTcGFjZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4ucGFyYWdyYXBoLnJlbW92ZVJpZ2h0U3BhY2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8qKlxuICogRm91bmRhdGlvbiBHcmlkIHBhcmFncmFwaHMgKyBGb3VuZGF0aW9uIENlbGxcbiAqIEJhc2ljIGNsYXNzIHRvIG1hbmFnZSB0aGUgYmFja2dyb3VuZFxuICogUGxlYXNlIG5vdGUgdGhhdCBmb3Igc2VuZGluZyB0aGUgYmFja2dyb3VuZCBpbWFnZSBvbiBmdWxsd2lkdGggb2YgdGhlIHNjcmVlbiB5b3UgbmVlZCB0byBtb2RpZnkgeW91ciBwYWdlLmh0bWwudHdpZy5cbiAqIFBsZWFzZSByZW1vdmUgYWxsIHRoZSBncmlkLXN5c3RlbSBhbmQgbGVhdmUgdGhlIG1hbmFnZSBvbiB0aGUgcGFyYWdyYXBoIEZvdW5kYXRpb24gR3JpZCBzeXN0ZW0uXG4gKi9cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5iYWNrZ3JvdW5kRGl2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG59XG4uYmFja2dyb3VuZERpdiArIGRpdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbi5iYWNrZ3JvdW5kRGl2LmNvbG9yQmctZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4uYmFja2dyb3VuZERpdi5pbWFnZUJnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIHVsLnRhYnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyB1bC50YWJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLTUwdnc7XG4gIHdpZHRoOiAxNTB2dztcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICMzRDNEM0Q7XG59XG4ucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyB1bC50YWJzIC50YWJzLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgdWwudGFicyAudGFicy10aXRsZSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIlNvbGVTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgdWwudGFicyAudGFicy10aXRsZSA+IGE6aG92ZXIsIC5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIHVsLnRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyB1bC50YWJzIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyAudGFicy1jb250ZW50IHtcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLnRhYnMtcGFuZWwge1xuICB3aWR0aDogY2FsYygxMDAlICsgMTBweCk7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgcGFkZGluZzogMDtcbn1cbi5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIHVsLmFjY29yZGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgbGkuYWNjb3JkaW9uLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAzMHB4IDEwcHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MTRcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICB6LWluZGV4OiAyO1xuICBmb250LXNpemU6IDZweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjM0QzRDNEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzLCAucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgY29sb3I6ICMzRDNEM0Q7XG59XG4ucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyBsaS5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKDApO1xufVxuLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24tY29udGVudCAuZmllbGQtLXBhcmFncmFwaC1maWVsZC1jbnQtZG9jdW1lbnRzIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLnRhYnMtcGFuZWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgfVxuICAucGFyYWdyYXBoLWFjY29yZGlvbnMtdGFicyAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyMHB4IDYwcHggMjBweCA0MHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIHJpZ2h0OiAzNXB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYXJhZ3JhcGgtYWNjb3JkaW9ucy10YWJzIC50YWJzLXBhbmVsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbn1cblxuLmJhc2ljLXBhcmFncmFwaC13cmFwcGVyLmJnLXBpbmtfbGlnaHQge1xuICBiYWNrZ3JvdW5kOiAjRjVFNUQ1O1xufVxuLmJhc2ljLXBhcmFncmFwaC13cmFwcGVyLmJnLWJhY2tncm91bmRfcGlua19kYXJrIHtcbiAgYmFja2dyb3VuZDogI0Y2RDFDMDtcbn1cbi5iYXNpYy1wYXJhZ3JhcGgtd3JhcHBlci5iZy1ibHVfbGlnaHQge1xuICBiYWNrZ3JvdW5kOiAjQzJEQUU2O1xufVxuLmJhc2ljLXBhcmFncmFwaC13cmFwcGVyLmJnLWdyZWVuIHtcbiAgYmFja2dyb3VuZDogI0M0RDdENztcbn1cbi5iYXNpYy1wYXJhZ3JhcGgtd3JhcHBlci5iZy13YXZlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JhY2tncm91bmQtd2F2ZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1tYW5hZ2VtZW50IC5ub2RlLXR5cGUtbWFuYWdlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtbGlua3MgLmZpZWxkX19pdGVtIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNEM0QzRDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWxpbmtlcnMgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1saW5rcyBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtbGlua3MgYVt0YXJnZXQ9X2JsYW5rXTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODA0XCI7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxpbmtlcnMgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1saW5rcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWxpbmtlcnMgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1saW5rcyAuZmllbGRfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMTBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tbGlua2VycyAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWxpbmtzIC5maWVsZF9faXRlbSB7XG4gICAgZmxleDogMCAwIGNhbGMoMzMuMzMzMyUgLSAyMHB4KTtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveGVzIC5pdGVtV3JhcHBlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3gge1xuICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3hlcyAuZmllbGQtLW5hbWUtZmllbGQtc3ZnIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMgLmZpZWxkLS1uYW1lLWZpZWxkLXN2ZyBzdmcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogNzVweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMgLmZpZWxkLS1uYW1lLWZpZWxkLXRleHQgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3hlcyAuaXRlbVdyYXBwZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveGVzIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMgLmZpZWxkLS1uYW1lLWZpZWxkLXN2ZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveGVzLmlwcF8zIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzMzMlIC0gMzBweCk7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3hlcy5pcHBfNCAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveCB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMHB4KTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveGVzLmlwcF81IC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDMwcHgpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveGVzIC5pdGVtV3JhcHBlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMuaXBwXzMgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3gge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMyUgLSAyMHB4KTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveGVzLmlwcF80IC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94IHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDIwcHgpO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMuaXBwXzUgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3gge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3hlcyAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveCB7XG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94ZXMgLmZpZWxkLS1uYW1lLWZpZWxkLXN2ZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLXR5cGUtdGV4dHVhbCAuZmllbGQtLXR5cGUtdGV4dC1sb25nIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIC8qJi5pbWdQb3MtbGVmdCB7XG4gICAgZGl2LnNpbmdsZUltYWdlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgJjpiZWZvcmUgeyBsZWZ0OiAtMjBweDsgfVxuICAgIH1cblxuICAgIGRpdi5kb3VibGVGaXJzdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgICAgJjpiZWZvcmUgeyBsZWZ0OiAyMHB4OyB9XG4gICAgfVxuICAgIGRpdi5kb3VibGVMYXN0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgICAgJjpiZWZvcmUgeyBsZWZ0OiAtMjBweDsgfVxuICAgIH1cbiAgfSovXG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSAuY2VsbEltYWdlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lIGRpdi5zaW5nbGVJbWFnZSwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUgZGl2LmRvdWJsZUZpcnN0LCAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSBkaXYuZG91YmxlTGFzdCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSBkaXYuc2luZ2xlSW1hZ2U6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSBkaXYuZG91YmxlRmlyc3Q6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSBkaXYuZG91YmxlTGFzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzRDNEM0Q7XG4gIHotaW5kZXg6IC0xO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUgZGl2LnNpbmdsZUltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSBkaXYuZG91YmxlRmlyc3QsIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lIGRpdi5kb3VibGVMYXN0IHtcbiAgd2lkdGg6IGF1dG87XG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSBkaXYuZG91YmxlRmlyc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lIGRpdi5kb3VibGVMYXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE0MHB4O1xuICB6LWluZGV4OiAxO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLXJpZ2h0IGRpdi5zaW5nbGVJbWFnZSwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLWxlZnQgZGl2LnNpbmdsZUltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLXJpZ2h0IGRpdi5zaW5nbGVJbWFnZTpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLmltZ1Bvcy1sZWZ0IGRpdi5zaW5nbGVJbWFnZTpiZWZvcmUge1xuICBsZWZ0OiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLXJpZ2h0IGRpdi5kb3VibGVGaXJzdCwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLWxlZnQgZGl2LmRvdWJsZUZpcnN0IHtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiA4MHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLXJpZ2h0IGRpdi5kb3VibGVGaXJzdDpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLmltZ1Bvcy1sZWZ0IGRpdi5kb3VibGVGaXJzdDpiZWZvcmUge1xuICBsZWZ0OiAtMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLmltZ1Bvcy1yaWdodCBkaXYuZG91YmxlTGFzdCwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLWxlZnQgZGl2LmRvdWJsZUxhc3Qge1xuICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS5pbWdQb3MtcmlnaHQgZGl2LmRvdWJsZUxhc3Q6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS5pbWdQb3MtbGVmdCBkaXYuZG91YmxlTGFzdDpiZWZvcmUge1xuICBsZWZ0OiAyMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUgLmNlbGxUZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSB7XG4gICAgLyomLmltZ1Bvcy1sZWZ0IHtcbiAgICAgIGRpdi5kb3VibGVGaXJzdCB7IG1hcmdpbi1yaWdodDogNDBweDsgfVxuICAgICAgZGl2LmRvdWJsZUxhc3QgeyBtYXJnaW4tbGVmdDogNDBweDsgfVxuICAgIH0qL1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lIGRpdi5kb3VibGVMYXN0IHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS5pbWdQb3MtcmlnaHQgZGl2LmRvdWJsZUZpcnN0LCAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS5pbWdQb3MtbGVmdCBkaXYuZG91YmxlRmlyc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLmltZ1Bvcy1yaWdodCBkaXYuZG91YmxlTGFzdCwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLWxlZnQgZGl2LmRvdWJsZUxhc3Qge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUge1xuICAgIC8qJi5pbWdQb3MtbGVmdCB7XG4gICAgICBkaXYuZG91YmxlRmlyc3QgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgIGRpdi5kb3VibGVMYXN0IHsgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICB9Ki9cbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSBkaXYuZG91YmxlTGFzdCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLXJpZ2h0IGRpdi5kb3VibGVGaXJzdCwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLWxlZnQgZGl2LmRvdWJsZUZpcnN0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS5pbWdQb3MtcmlnaHQgZGl2LmRvdWJsZUxhc3QsIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLmltZ1Bvcy1sZWZ0IGRpdi5kb3VibGVMYXN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUtZnVsbCB7XG4gIGJhY2tncm91bmQ6ICNDMkRBRTY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS1mdWxsIC5jZWxsVGV4dCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLWZ1bGwgLmNlbGxJbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLWZ1bGwgLmNlbGxUZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLWZ1bGwgLmNlbGxJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS1mdWxsIC5jZWxsVGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUtZnVsbCAuYmdDb3ZlckFicyB7XG4gICAgd2lkdGg6IGNhbGMoNTB2dyAtIDE1cHgpO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLWZ1bGwuaW1nUG9zLWxlZnQgLmJnQ292ZXJBYnMge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLWZ1bGwgLmNlbGxUZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLWZ1bGwgLmJnQ292ZXJBYnMge1xuICAgIHdpZHRoOiBjYWxjKDUwdncgLSAxMHB4KTtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by12aWRlb2JnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICAvKiYuaW1nUG9zLWxlZnQgZGl2LnZpZFdyYXBwZXIge1xuICAgIC8vIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICY6YmVmb3JlIHsgbGVmdDogLTIwcHg7IH1cbiAgfSovXG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by12aWRlb2JnIGRpdi5jZWxsVmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by12aWRlb2JnIC52aWRXcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLXZpZGVvYmcgLnZpZFdyYXBwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjM0QzRDNEO1xuICB6LWluZGV4OiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8tdmlkZW9iZyB2aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMjtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8tdmlkZW9iZy5pbWdQb3MtcmlnaHQgZGl2LnZpZFdyYXBwZXI6YmVmb3JlLCAucGFyYWdyYXBoLS10eXBlLS10ZXN0by12aWRlb2JnLmltZ1Bvcy1sZWZ0IGRpdi52aWRXcmFwcGVyOmJlZm9yZSB7XG4gIGxlZnQ6IDIwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by12aWRlb2JnIC5jZWxsVGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by12aWRlb2JnLmltZ1Bvcy1sZWZ0IGRpdi5jZWxsVmlkZW8ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLXJpZ2h0IC5jZWxsVGV4dCwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8tdmlkZW9iZy5pbWdQb3MtcmlnaHQgLmNlbGxUZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lLmltZ1Bvcy1yaWdodCAuY2VsbEltYWdlcywgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8tdmlkZW9iZy5pbWdQb3MtcmlnaHQgLmNlbGxJbWFnZXMge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZS5pbWdQb3MtbGVmdCAuY2VsbFRleHQsIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLXZpZGVvYmcuaW1nUG9zLWxlZnQgLmNlbGxUZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUuaW1nUG9zLWxlZnQgLmNlbGxJbWFnZXMsIC5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLXZpZGVvYmcuaW1nUG9zLWxlZnQgLmNlbGxJbWFnZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tbXVsdGl0ZXh0IC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LWZhbWlseTogXCJzb2xlX2Rpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLW11bHRpdGV4dCAuZmllbGRfX2l0ZW0uY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1tdWx0aXRleHQgLmZpZWxkX19pdGVtLmNlbGwgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5ncmlkLXgge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWN0YS10ZXN0dWFsZS1jb24taW50cm8gLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbyB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jdGEtdGVzdHVhbGUtY29uLWludHJvIC5maWVsZC0tbmFtZS1maWVsZC10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWN0YS10ZXN0dWFsZS1jb24taW50cm8gLmZpZWxkLS1uYW1lLWZpZWxkLXRleHQgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tY3RhLXRlc3R1YWxlLWNvbi1pbnRybyAuZmllbGQtLW5hbWUtZmllbGQtY29tcGFueSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKipcbiAqIFBhcmFncmFwaCBIaWdobGlnaHRcbiAqIEFkIG9yYSBuYXNjb3N0aSB2aWEgQmFja2VuZCBpIHNlZ3VlbnRpIGNhbXBpXG4gKiBJbWFnZSwgUHJldGl0bGUsIEFic3RyYWN0LCBBbGlnbiwgTnVtYmVyIGFuaW1hdGlvbiBkdXJhdGlvblxuICovXG4ucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQgLmhpZ2hsaWdodC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQgLmhpZ2hsaWdodC10aXRsZSAuaGlnaGxpZ2h0LW51bWJlci1zdGF0aWMsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuaGlnaGxpZ2h0LXRpdGxlIC5oaWdobGlnaHQtbnVtYmVyLFxuLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5oaWdobGlnaHQtdGl0bGUgLmhpZ2hsaWdodC10aXRsZS1wcmVmaXgsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuaGlnaGxpZ2h0LXRpdGxlIC5oaWdobGlnaHQtdGl0bGUtc3VmZml4IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1oaWdobGlnaHQtc3VidGl0bGUgcDpsYXN0LW9mLXR5cGUsXG4ucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQgLmZpZWxkLS1uYW1lLWZpZWxkLW1zZy1jLWhpZ2hsaWdodC10ZXh0IHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtaGlnaGxpZ2h0LXN1YnRpdGxlIHAge1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0IC5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1oaWdobGlnaHQtcHJldGl0bGUsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodCAuZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtaGlnaGxpZ2h0LWFic3RyYWN0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1jYXJvc2VsbG8taW1tYWdpbmkgLnN3aXBlcldyYXBwZXIge1xuICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcm9zZWxsby1pbW1hZ2luaSAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgbGVmdDogMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcm9zZWxsby1pbW1hZ2luaSAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcmlnaHQ6IDIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJvc2VsbG8taW1tYWdpbmkgLnN3aXBlci1zbGlkZSBhcnRpY2xlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBtYXJnaW46IDAgMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2Fyb3NlbGxvLWltbWFnaW5pIC5zd2lwZXItc2xpZGUgYXJ0aWNsZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2ltcGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNpbXBsZS5iYW5uZXItZnVsbHdpZHRoIHtcbiAgaGVpZ2h0OiAzODBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zaW1wbGUuYmFubmVyLWluLWdyaWQgLmNlbGwge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2ltcGxlIC5idG5BY3Rpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNEM0QzRDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIHotaW5kZXg6IDU7XG4gIGNvbG9yOiAjM0QzRDNEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2ltcGxlIC5idG5BY3Rpb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMzhweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zaW1wbGUgLmJ0bkFjdGlvbi5pc1BhdXNlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg0Y1wiO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNpbXBsZSAuYnRuQWN0aW9uLmlzUGxheWluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg0YlwiO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNpbXBsZS5iYW5uZXItZnVsbHdpZHRoIHtcbiAgICBoZWlnaHQ6IDQ4MHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2ltcGxlLmJhbm5lci1mdWxsd2lkdGgge1xuICAgIGhlaWdodDogNjgwcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlciAuc3dpcGVyV3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZXIgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZXIgLnN3aXBlci1idXR0b24tcHJldiwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgcmlnaHQ6IDcwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGVyIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICByaWdodDogMjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZXIgLnN3aXBlcldyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZXIgLnN3aXBlci1idXR0b24tcHJldiwgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5zbGlkZU1lZGlhcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzgwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLmdyaWRUZXh0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAudGV4dFdyYXBwZXIge1xuICBtYXJnaW46IDIwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI0Y1RTVENTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLnNsaWRlRm9vdCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAuc2xpZGVNYW5hZ2VtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLnNsaWRlSW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLnNsaWRlSW5kaWNhdG9yIC5pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAuc2xpZGVNYW5hZ2VyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbiAgZm9udC1zaXplOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5zbGlkZU1hbmFnZXI6YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLnNsaWRlTWFuYWdlci5pc1BhdXNlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg0Y1wiO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAuc2xpZGVNYW5hZ2VyLmlzUGxheWluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg0YlwiO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLnNsaWRlTWVkaWFzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5ncmlkVGV4dHMge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAudGV4dFdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8gaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSB7XG4gICAgbWluLWhlaWdodDogNjgwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC50ZXh0V3JhcHBlciB7XG4gICAgcGFkZGluZzogNjBweCA1MHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAuc2xpZGVGb290IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5zbGlkZU1hbmFnZW1lbnQge1xuICAgIHdpZHRoOiAyMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIC5zbGlkZU1lZGlhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLnNsaWRlTWVkaWFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYigwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDEwMCUpO1xuICB6LWluZGV4OiAzO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLWhlYWRlciAuZ3JpZFRleHRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDc1dmg7XG4gIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDc1KTtcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8gaDIge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBmb250LWZhbWlseTogXCJzb2xlX2Rpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIC5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1ib2R5IHAge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLnNsaWRlTWFuYWdlbWVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAyMHB4O1xuICByaWdodDogMjBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgei1pbmRleDogMTA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIC5pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLmluZGljYXRvcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTJweDtcbiAgbGVmdDogLTJweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogNDRweDtcbiAgYmFja2dyb3VuZDogY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLCAjM0QzRDNELCAjM0QzRDNEIHZhcigtLWRhdGEtaW5kaWNhdG9yKSwgdHJhbnNwYXJlbnQgdmFyKC0tZGF0YS1pbmRpY2F0b3IpKTtcbiAgbWFzazogcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUsIHRyYW5zcGFyZW50IGNhbGMoMTAwJSAtIDNweCksICNmZmYgY2FsYygxMDAlIC0gMnB4KSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIC5zbGlkZU1hbmFnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAxcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLnNsaWRlTWFuYWdlcjpiZWZvcmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLnNsaWRlTWFuYWdlci5pc1BhdXNlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg0Y1wiO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLnNsaWRlTWFuYWdlci5pc1BsYXlpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4NGJcIjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLmdyaWRUZXh0cyB7XG4gICAgaGVpZ2h0OiA3NXZoO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDc1KTtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLWhlYWRlciAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLnNsaWRlTWFuYWdlbWVudCB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIGJvdHRvbTogODBweDtcbiAgICByaWdodDogdW5zZXQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1oZWFkZXIgLmdyaWRUZXh0cyB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDApO1xuICAgIHBhZGRpbmctdG9wOiAyNTBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIC5zbGlkZU1hbmFnZW1lbnQge1xuICAgIGJvdHRvbTogMTIwcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlci5pdGVtc09uTGVmdCAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLmNlbGxUZXh0cyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMXJlbSAvIDIpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlci5pdGVtc09uTGVmdCAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLmNlbGxUZXh0cyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0gLyAyKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlci5pdGVtc09uTGVmdCAucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGUgLmNlbGxUZXh0cyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtIC8gMik7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tZG9jdW1lbnRzLXdyYXBwZXIgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5ibG9jay1ibG9jay1jb250ZW50LmJsb2NrLXBvc2l6aW9uaS1hcGVydGUgcC5ibG9ja1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ibG9jay1ibG9jay1jb250ZW50LmJsb2NrLXBvc2l6aW9uaS1hcGVydGUgcC5ibG9ja1RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmxleC1jb250YWluZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtcGxhY2UsIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbywgLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtY29tcGFueSB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLXBsYWNlIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8ge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55IHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC1jdGEge1xuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogXCJzb2xlX2Rpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCA0cHggOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBzcGFuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzVweCAzMHB4IDM1cHggNDBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC1wbGFjZSwgLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55LCAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC1jdGEge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtY3RhIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbXBhbnkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtY3RhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSBzcGFuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtcGxhY2Uge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXBvc2l6aW9uZS1hcGVydGEgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55IHtcbiAgICB3aWR0aDogMjIwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tcG9zaXppb25lLWFwZXJ0YSAuZmllbGQtLW5hbWUtZmllbGQtY3RhIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbml6aW9uaSBjb211bmkgYSB0dXR0ZSBsZSB2aXN0ZVxuICogTGUgdmlzdGUgY2hlIHJpZ3VhcmRhbm8gdW4gY2VydG8gdGlwbyBkaSBjb250ZW51dG8gdmFubm8gc3RpbGl6emF0ZSBuZWwgcmVsYXRpdm8gZmlsZSBjb250ZW50X3R5cGVzL18qLnNjc3NcbiAqL1xuLnZpZXdQYWdlZCBuYXYucGFnZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogNDBweCBhdXRvIDAgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAzNnB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAwO1xufVxuLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW06YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDM2cHg7XG4gIGhlaWdodDogNDhweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tcHJldmlvdXMsIC52aWV3UGFnZWQgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1uZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLWZpcnN0LCAudmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tbGFzdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLWZpcnN0IGEsIC52aWV3UGFnZWQgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1sYXN0IGEge1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi52aWV3UGFnZWQgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1maXJzdDpiZWZvcmUsIC52aWV3UGFnZWQgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1sYXN0OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tZmlyc3Q6aG92ZXIgYSwgLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLWxhc3Q6aG92ZXIgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLWZpcnN0IHNwYW4uaWNuLWFycm93LWZvcndhcmQ6YmVmb3JlLCAudmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tbGFzdCBzcGFuLmljbi1hcnJvdy1mb3J3YXJkOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG59XG4udmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tZmlyc3Qgc3Bhbi5pY24tYXJyb3ctZm9yd2FyZDpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0tLWVsbGlwc2lzIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnZpZXdQYWdlZCB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0uY3VycmVudCBhIHtcbiAgYmFja2dyb3VuZDogIzNEM0QzRDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlld1BhZ2VkIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgfVxufVxuXG4udmlld0luZmluaXRlUGFnZWQgLmpzLXBhZ2VyX19pdGVtcy5pbmZpbml0ZS1wYWdlciB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udmlld0luZmluaXRlUGFnZWQgLmpzLXBhZ2VyX19pdGVtcy5pbmZpbml0ZS1wYWdlciBsaTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gbGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtID4gLmpzLWZvcm0taXRlbSB7XG4gIG1hcmdpbjogMCAxNXB4O1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUycHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg1ODU4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICBjb2xvcjogIzI1MjUyNTtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5iZWYtY2hlY2tib3hlcyAuanMtZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDEwcHggMTBweCAwIDA7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuYmVmLWNoZWNrYm94ZXMgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgbWFyZ2luOiAwO1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmJlZi1jaGVja2JveGVzIGxhYmVsLm9wdGlvbiB7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZDogIzhCOEI4QjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmJlZi1jaGVja2JveGVzIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbC5vcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0IC5mb3JtLXNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWF4LXdpZHRoOiAzODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTJweDtcbiAgcGFkZGluZzogMCA1MHB4IDAgMjBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTM1cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDExcHggNnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE1MCcgaGVpZ2h0PSc3MC44JyUzRSUzQ3BvbHlnb24gcG9pbnRzPSc3NSUyQzcwLjggMCUyQzAgMTUwJTJDMCcgZmlsbD0nJTIzM0QzRDNEJyAvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0IC5mb3JtLXNlbGVjdDpmb2N1cywgLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmpzLWZvcm0tdHlwZS1zZWxlY3QgLmZvcm0tc2VsZWN0OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzNEM0QzRDtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCxcbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0IC5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDI2MHB4O1xufVxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwIDEwcHggMTVweCAxMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5iZWYtY2hlY2tib3hlcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbiAgLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmpzLWZvcm0tdHlwZS1zZWxlY3QgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LCAuYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS10eXBlLXNlbGVjdCAuc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICB9XG59XG4uYmVmRmlsdGVycy5iZWZGaWx0ZXJzQ2VudGVyIC5iZWYtZXhwb3NlZC1mb3JtIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi52aWV3Q2VsbEVtcHR5IHtcbiAgcGFkZGluZzogMTVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udmlld0NlbGxFbXB0eSBwIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzNEM0QzRDtcbn1cblxuLmRyYWdnYWJsZVZpZXcgLnZpZXdJdGVtcyAudGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQtd3JhcHBlcixcbi5kcmFnZ2FibGVWaWV3IC52aWV3SXRlbXMgLnRhYmxlZHJhZy1jaGFuZ2VkLXdhcm5pbmcge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5kcmFnZ2FibGVWaWV3IC52aWV3SXRlbXMgLnRhYmxlZHJhZy1jaGFuZ2VkLXdhcm5pbmcge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzREN0Q3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZHJhZ2dhYmxlVmlldyAudmlld0l0ZW1zIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4uZHJhZ2dhYmxlVmlldyAudmlld0l0ZW1zIHRhYmxlIC5kcmFnZ2FibGUgdGQge1xuICBwYWRkaW5nOiA1cHggNnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDAwMDtcbn1cbi5kcmFnZ2FibGVWaWV3IC52aWV3SXRlbXMgdGFibGUgLmRyYWdnYWJsZSAudmlld3MtZmllbGQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5kcmFnZ2FibGVWaWV3IC52aWV3SXRlbXMgdGFibGUgLmRyYWdnYWJsZSBhLnRhYmxlZHJhZy1oYW5kbGUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG59XG4uZHJhZ2dhYmxlVmlldyAudmlld0l0ZW1zIHRhYmxlIC5kcmFnZ2FibGUgYS50YWJsZWRyYWctaGFuZGxlIC5oYW5kbGUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG4uZHJhZ2dhYmxlVmlldyAudmlld0l0ZW1zIHRhYmxlIC5kcmFnZ2FibGUuZHJhZyB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMkQyRDM7XG59XG4uZHJhZ2dhYmxlVmlldyAudmlld0l0ZW1zIC5mb3JtLWFjdGlvbnMge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZHJhZ2dhYmxlVmlldyAudmlld0l0ZW1zIC5mb3JtLWFjdGlvbnMgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcmVzc1ZpZXcuZzI0TGlzdCAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wcmVzc1ZpZXcuZzI0TGlzdCAuYmVmLWV4cG9zZWQtZm9ybSBsYWJlbCwgLnByZXNzVmlldy5nMjRMaXN0IC5iZWYtZXhwb3NlZC1mb3JtIGxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnByZXNzVmlldy5nMjRMaXN0IC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcbiAgZmxleC1iYXNpczogMTgwcHg7XG59XG4ucHJlc3NWaWV3LmcyNExpc3QgLmJlZi1leHBvc2VkLWZvcm0gLmpzLWZvcm0tdHlwZS1zZWxlY3QgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5wcmVzc1ZpZXcuZzI0TGlzdCAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5wcmVzc1ZpZXcuZzI0TGlzdCAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuLnByZXNzVmlldy5nMjRMaXN0IC52aWV3cy1yb3cge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByZXNzVmlldy5nMjRMaXN0IC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5cbi5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXMgLmJlZi1leHBvc2VkLWZvcm0sXG4ucHJlc3NWaWV3LmNvbXVuaWNhdGlJbnZlc3RvcnMgLmJlZi1leHBvc2VkLWZvcm0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlcyAuYmVmLWV4cG9zZWQtZm9ybSBsYWJlbCwgLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlcyAuYmVmLWV4cG9zZWQtZm9ybSBsZWdlbmQsXG4ucHJlc3NWaWV3LmNvbXVuaWNhdGlJbnZlc3RvcnMgLmJlZi1leHBvc2VkLWZvcm0gbGFiZWwsXG4ucHJlc3NWaWV3LmNvbXVuaWNhdGlJbnZlc3RvcnMgLmJlZi1leHBvc2VkLWZvcm0gbGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucHJlc3NWaWV3Lm5ld3NQcmVzc1JlbGVhc2VzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0LFxuLnByZXNzVmlldy5jb211bmljYXRpSW52ZXN0b3JzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcbiAgZmxleC1iYXNpczogMzMwcHg7XG59XG4ucHJlc3NWaWV3Lm5ld3NQcmVzc1JlbGVhc2VzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLXR5cGUtc2VsZWN0IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCxcbi5wcmVzc1ZpZXcuY29tdW5pY2F0aUludmVzdG9ycyAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS10eXBlLXNlbGVjdCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlcyAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS10eXBlLXRleHRmaWVsZCxcbi5wcmVzc1ZpZXcuY29tdW5pY2F0aUludmVzdG9ycyAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlcyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1pdGVtLXByLXR5cGUsIC5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXMgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0taXRlbS1hcnQtdHlwZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucHJlc3NWaWV3Lm5ld3NQcmVzc1JlbGVhc2VzIC52aWV3cy1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ucHJlc3NWaWV3LmNvbXVuaWNhdGlJbnZlc3RvcnMgLnZpZXdzLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXNIcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXNIcCAubmV3c1ByZXNzV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ucHJlc3NWaWV3Lm5ld3NQcmVzc1JlbGVhc2VzSHAgLm5ld3NQcmVzc1dyYXBwZXIgaGVhZGVyIHtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXNIcCAubmV3c1ByZXNzV3JhcHBlciBoZWFkZXIgYTpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlc0hwIC5uZXdzUHJlc3NXcmFwcGVyIC5pdGVtc1dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJlc3NWaWV3Lm5ld3NQcmVzc1JlbGVhc2VzSHAgLm5ld3NQcmVzc1dyYXBwZXIgLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlc0hwIC5uZXdzUHJlc3NTdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAxMDBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlc0hwIC5uZXdzUHJlc3NXcmFwcGVyIC5pdGVtc1dyYXBwZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxuICAucHJlc3NWaWV3Lm5ld3NQcmVzc1JlbGVhc2VzSHAgLm5ld3NQcmVzc1dyYXBwZXIgLml0ZW1zV3JhcHBlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnByZXNzVmlldy5uZXdzUHJlc3NSZWxlYXNlc0hwIC5uZXdzUHJlc3NXcmFwcGVyIC5pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIGgyLmhlYWRpbmdfbS53cmFwcGVyVGl0bGUsIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIGgyLndyYXBwZXJUaXRsZS53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgaDIud3JhcHBlclRpdGxlLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIGZvcm0udXNlci1sb2dpbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiBoMi53cmFwcGVyVGl0bGUud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIGgyLndyYXBwZXJUaXRsZS53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbi5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gaDIud3JhcHBlclRpdGxlLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSBoMi53cmFwcGVyVGl0bGUud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG4uZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIGZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIGgyLndyYXBwZXJUaXRsZS53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgaDIud3JhcHBlclRpdGxlLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLCAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgLnBhcmFncmFwaC0tdHlwZS0tbGlua2VycyBoMi53cmFwcGVyVGl0bGUuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvLCAucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSBoMi53cmFwcGVyVGl0bGUuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvLCAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgLnBhcmFncmFwaC0tdHlwZS0tZG9jdW1lbnRzLXdyYXBwZXIgaDIud3JhcHBlclRpdGxlLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbywgLnBhcmFncmFwaC0tdHlwZS0tZG9jdW1lbnRzLXdyYXBwZXIgLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIGgyLndyYXBwZXJUaXRsZS5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIC52aWV3SXRlbXMgLndyYXBwZXJJdGVtczpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgLnZpZXdJdGVtcyAud3JhcHBlckl0ZW1zIC53cmFwcGVyTm90ZXMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIGgyLmhlYWRpbmdfbS53cmFwcGVyVGl0bGUsIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIGgyLndyYXBwZXJUaXRsZS53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgaDIud3JhcHBlclRpdGxlLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuICAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgZm9ybS51c2VyLWxvZ2luLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIGgyLndyYXBwZXJUaXRsZS53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSBoMi53cmFwcGVyVGl0bGUud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG4gIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gaDIud3JhcHBlclRpdGxlLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuICAudmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIGgyLndyYXBwZXJUaXRsZS53ZWJmb3JtLWNvbmZpcm1hdGlvbl9fbWVzc2FnZSxcbiAgLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiBoMi53cmFwcGVyVGl0bGUud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG4gIC52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtcGFnZSBmb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgaDIud3JhcHBlclRpdGxlLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLCAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgLnBhcmFncmFwaC0tdHlwZS0tbGlua2VycyBoMi53cmFwcGVyVGl0bGUuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvLCAucGFyYWdyYXBoLS10eXBlLS1saW5rZXJzIC5kb2N1bWVudHNWaWV3cy52aWV3UmlzdWx0YXRpUHJlc2VudGF6aW9uaSBoMi53cmFwcGVyVGl0bGUuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvLCAuZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkgLnBhcmFncmFwaC0tdHlwZS0tZG9jdW1lbnRzLXdyYXBwZXIgaDIud3JhcHBlclRpdGxlLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbywgLnBhcmFncmFwaC0tdHlwZS0tZG9jdW1lbnRzLXdyYXBwZXIgLmRvY3VtZW50c1ZpZXdzLnZpZXdSaXN1bHRhdGlQcmVzZW50YXppb25pIGgyLndyYXBwZXJUaXRsZS5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8ge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLnZpZXdNYW5hZ2VyLnZpZXdDb25zaWdsaW9BbW1pbmlzdHJhemlvbmVDb21pdGF0aSAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4udmlld01hbmFnZXIudmlld0NvbnNpZ2xpb0FtbWluaXN0cmF6aW9uZUNvbWl0YXRpIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIC5maWVsZHNldC13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udmlld01hbmFnZXIudmlld0NvbnNpZ2xpb0FtbWluaXN0cmF6aW9uZUNvbWl0YXRpIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIC5mb3JtLXJhZGlvcyB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnZpZXdNYW5hZ2VyLnZpZXdDb25zaWdsaW9BbW1pbmlzdHJhemlvbmVDb21pdGF0aSAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSAuZm9ybS1yYWRpb3MgbGkge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udmlld01hbmFnZXIudmlld0NvbnNpZ2xpb0FtbWluaXN0cmF6aW9uZUNvbWl0YXRpIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIC5mb3JtLXJhZGlvcyAuanMtZm9ybS1pdGVtIHtcbiAgbWFyZ2luOiAwO1xufVxuLnZpZXdNYW5hZ2VyLnZpZXdDb25zaWdsaW9BbW1pbmlzdHJhemlvbmVDb21pdGF0aSAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSAuZm9ybS1yYWRpb3MgLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBtYXJnaW46IDA7XG59XG4udmlld01hbmFnZXIudmlld0NvbnNpZ2xpb0FtbWluaXN0cmF6aW9uZUNvbWl0YXRpIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIC5mb3JtLXJhZGlvcyAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogI0Y2RDFDMDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjhyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnZpZXdNYW5hZ2VyLnZpZXdDb25zaWdsaW9BbW1pbmlzdHJhemlvbmVDb21pdGF0aSAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSAuZm9ybS1yYWRpb3MgLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi52aWV3TWFuYWdlci52aWV3Q29uc2lnbGlvQW1taW5pc3RyYXppb25lQ29taXRhdGkgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2UgLmZvcm0tcmFkaW9zIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMtdmlzaWJsZSArIGxhYmVsIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMwMDdBQ0M7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlld01hbmFnZXIudmlld0NvbnNpZ2xpb0FtbWluaXN0cmF6aW9uZUNvbWl0YXRpIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlld01hbmFnZXIudmlld0NvbnNpZ2xpb0FtbWluaXN0cmF6aW9uZUNvbWl0YXRpIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC52aWV3TWFuYWdlci52aWV3Q29uc2lnbGlvQW1taW5pc3RyYXppb25lQ29taXRhdGkgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnZpZXdNYW5hZ2VyLnZpZXdDb25zaWdsaW9BbW1pbmlzdHJhemlvbmVDb21pdGF0aSAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIH1cbiAgLnZpZXdNYW5hZ2VyLnZpZXdDb25zaWdsaW9BbW1pbmlzdHJhemlvbmVDb21pdGF0aSAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSAuZmllbGRzZXQtd3JhcHBlciA+IGRpdiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICB9XG4gIC52aWV3TWFuYWdlci52aWV3Q29uc2lnbGlvQW1taW5pc3RyYXppb25lQ29taXRhdGkgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2UgLmZvcm0tcmFkaW9zIHVsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC52aWV3TWFuYWdlci52aWV3Q29uc2lnbGlvQW1taW5pc3RyYXppb25lQ29taXRhdGkgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2UgLmZvcm0tcmFkaW9zIGxpIHtcbiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC52aWV3TWFuYWdlci52aWV3Q29uc2lnbGlvQW1taW5pc3RyYXppb25lQ29taXRhdGkgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuICAudmlld01hbmFnZXIudmlld0NvbnNpZ2xpb0FtbWluaXN0cmF6aW9uZUNvbWl0YXRpIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIC5maWVsZHNldC13cmFwcGVyID4gZGl2IHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDFyZW0gLyAyKTtcbiAgfVxufVxuXG4udmlld01hbmFnZXIudmlld05vdGUgLnZpZXdzLWZpZWxkLWZpZWxkLW5vdGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubm9kZUhlYWRlciAuZmllbGQtLW5hbWUtZmllbGQtaGVhZGVyLXRleHQgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5vZGVIZWFkZXIgLmNlbGwuc21hbGwtMTIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLm5vZGVIZWFkZXIgLmNlbGwuc21hbGwtMTIgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbi5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyxcbi5tZWRpYS5tZWRpYS0tdHlwZS1kb2N1bWVudC5tZWRpYS0tdmlldy1tb2RlLWRvd25sb2FkLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLmRvY3VtZW50V3JhcHBlciwgLm5vZGUtY29udGVudC5ub2RlLWRvd25sb2FkLWZpbGVzIC5tZWRpYVdyYXBwZXIsXG4ubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5kb2N1bWVudFdyYXBwZXIsXG4ubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYVdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNEM0QzRDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlLFxuLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLm1lZGlhTGluayBhLCAubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLm1lZGlhU2l6ZSxcbi5tZWRpYS5tZWRpYS0tdHlwZS1kb2N1bWVudC5tZWRpYS0tdmlldy1tb2RlLWRvd25sb2FkLWl0ZW0gLm1lZGlhTGluayBhLFxuLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFTaXplIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAubWVkaWFMaW5rLFxuLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFMaW5rIHtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLm1lZGlhTGluayBhLFxuLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFMaW5rIGEge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLm5vZGUtY29udGVudC5ub2RlLWRvd25sb2FkLWZpbGVzIC5tZWRpYUxpbmsgLmZpZWxkLS1uYW1lLWJvZHksXG4ubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYUxpbmsgLmZpZWxkLS1uYW1lLWJvZHkge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLm5vZGUtY29udGVudC5ub2RlLWRvd25sb2FkLWZpbGVzIC5tZWRpYUxpbmsgLmZpZWxkLS1uYW1lLWJvZHkgcDpsYXN0LW9mLXR5cGUsXG4ubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYUxpbmsgLmZpZWxkLS1uYW1lLWJvZHkgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5vZGUtY29udGVudC5ub2RlLWRvd25sb2FkLWZpbGVzIC5tZWRpYVNpemUsXG4ubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYVNpemUge1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLm1lZGlhSWNvLFxuLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFJY28ge1xuICBtYXJnaW4tbGVmdDogMTJweDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAubWVkaWFJY28gc3Bhbixcbi5tZWRpYS5tZWRpYS0tdHlwZS1kb2N1bWVudC5tZWRpYS0tdmlldy1tb2RlLWRvd25sb2FkLWl0ZW0gLm1lZGlhSWNvIHNwYW4ge1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAubWVkaWFJY28gc3BhbjpiZWZvcmUsXG4ubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYUljbyBzcGFuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLmRvY3VtZW50V3JhcHBlciwgLm5vZGUtY29udGVudC5ub2RlLWRvd25sb2FkLWZpbGVzIC5tZWRpYVdyYXBwZXIsXG4gIC5tZWRpYS5tZWRpYS0tdHlwZS1kb2N1bWVudC5tZWRpYS0tdmlldy1tb2RlLWRvd25sb2FkLWl0ZW0gLmRvY3VtZW50V3JhcHBlcixcbiAgLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFXcmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlLFxuICAubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUge1xuICAgIGZsZXgtYmFzaXM6IDE5MHB4O1xuICB9XG4gIC5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAubWVkaWFJbmZvcyxcbiAgLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFJbmZvcyB7XG4gICAgZmxleC1iYXNpczogMTc0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLm5vZGUtY29udGVudC5ub2RlLWRvd25sb2FkLWZpbGVzIC5tZWRpYUxpbmssXG4gIC5tZWRpYS5tZWRpYS0tdHlwZS1kb2N1bWVudC5tZWRpYS0tdmlldy1tb2RlLWRvd25sb2FkLWl0ZW0gLm1lZGlhTGluayB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyAubWVkaWFTaXplLFxuICAubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYVNpemUge1xuICAgIGZsZXgtYmFzaXM6IDEyMHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubm9kZS1jb250ZW50Lm5vZGUtZG93bmxvYWQtZmlsZXMgLm1lZGlhTGluayBhOmhvdmVyLFxuICAubWVkaWEubWVkaWEtLXR5cGUtZG9jdW1lbnQubWVkaWEtLXZpZXctbW9kZS1kb3dubG9hZC1pdGVtIC5tZWRpYUxpbmsgYTpob3ZlciB7XG4gICAgY29sb3I6ICMzRDNEM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLm1lZGlhLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFXcmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGlhLm1lZGlhLS10eXBlLWRvY3VtZW50Lm1lZGlhLS12aWV3LW1vZGUtZG93bmxvYWQtaXRlbSAubWVkaWFXcmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG5hcnRpY2xlLm1lZGlhIC5maWVsZC0tbmFtZS1maWVsZC1tZWRpYS1zdmcgc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYWdlLW5vZGUtdHlwZS1wYWdlLnBhZ2VFcnJvciAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wYWdlIHtcbiAgcGFkZGluZy10b3A6IDE4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG59XG4ucGFnZS1ub2RlLXR5cGUtcGFnZS5wYWdlRXJyb3IgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcGFnZSBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTByZW07XG4gIGxpbmUtaGVpZ2h0OiA4cmVtO1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5wYWdlLW5vZGUtdHlwZS1wYWdlLnBhZ2VFcnJvciAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wYWdlIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLnByZXNzQ29udGVudC5ub2RlLXZpZXctbW9kZS1mdWxsIC5ncmlkSGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogNjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi5wcmVzc0NvbnRlbnQubm9kZS12aWV3LW1vZGUtZnVsbCAuZ3JpZEhlYWRlciAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5wcmVzc0NvbnRlbnQubm9kZS12aWV3LW1vZGUtZnVsbCAuZ3JpZEhlYWRlciBoMSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ucHJlc3NDb250ZW50Lm5vZGUtdmlldy1tb2RlLWZ1bGwgLmdyaWRIZWFkZXIgLmNlbGxCYWNrIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5wcmVzc0NvbnRlbnQubm9kZS12aWV3LW1vZGUtZnVsbCAuZ3JpZEhlYWRlciAuY2VsbEJhY2sgYS5saW5rLWFycm93LWJhY2sge1xuICBtYXJnaW46IDAgMTBweDtcbn1cbi5wcmVzc0NvbnRlbnQubm9kZS12aWV3LW1vZGUtZnVsbCAuZ3JpZEhlYWRlciAuY2VsbEJhY2sgYS5saW5rLWFycm93LWJhY2s6YWZ0ZXIge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5wcmVzc0NvbnRlbnQubm9kZS12aWV3LW1vZGUtZnVsbCAuY2VsbERvY3VtZW50cyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXItYmlnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLXRlYXNlci1iaWcgLmNlbGxDb3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiA5LzU7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuY2VsbFRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDU4cHg7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXItYmlnIGEuY250VGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuZmllbGQtLW5hbWUtYm9keSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuZmllbGQtLW5hbWUtYm9keSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyBhLmJ0bi1zcXVhcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyAuY2VsbFRleHQge1xuICAgIHBhZGRpbmc6IDQwcHggMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjhweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLXRlYXNlci1iaWcgLmNlbGxDb3ZlciB7XG4gICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICB9XG4gIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXItYmlnIC5jZWxsVGV4dCB7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG4gIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXItYmlnOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM0QzRDNEO1xuICB9XG4gIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXItYmlnOmhvdmVyIC5jZWxsVGV4dCwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLXRlYXNlci1iaWc6aG92ZXIgYS5jbnRUaXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLXRlYXNlci1iaWc6aG92ZXIgYS5idG4tc3F1YXJlOmJlZm9yZSB7XG4gICAgbGVmdDogMzBweDtcbiAgfVxufVxuXG4ubm9kZS1jb250ZW50LnByZXNzSHAtZXZpZGVuemEgLmNudEhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YSBhLmxpbmtDb3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vZGUtY29udGVudC5wcmVzc0hwLWV2aWRlbnphIHNwYW4uaWNuLXBsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6ICMzRDNEM0Q7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubm9kZS1jb250ZW50LnByZXNzSHAtZXZpZGVuemEgc3Bhbi5pY24tcGxheTpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xufVxuLm5vZGUtY29udGVudC5wcmVzc0hwLWV2aWRlbnphIC5jbnRUZXh0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjBweCAyMHB4IDU4cHggMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YSBsYWJlbC5sYmxUeXBlLCAubm9kZS1jb250ZW50LnByZXNzSHAtZXZpZGVuemEgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLm5vZGUtY29udGVudC5wcmVzc0hwLWV2aWRlbnphIGxhYmVsLmxibFR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubm9kZS1jb250ZW50LnByZXNzSHAtZXZpZGVuemEgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLm5vZGUtY29udGVudC5wcmVzc0hwLWV2aWRlbnphIC5jbnRUaXRsZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS45cmVtO1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YSAuYnRuLXNxdWFyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YSAuY2VsbFRleHQge1xuICAgIHBhZGRpbmctYm90dG9tOiA2OHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubm9kZS1jb250ZW50LnByZXNzSHAtZXZpZGVuemEgLmNudFRleHRzIHtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggODBweCAzMHB4O1xuICB9XG4gIC5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YSBzcGFuLmljbi1wbGF5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjM0QzRDNEO1xuICB9XG4gIC5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YTpub3QoLm5vZGUtdHlwZS1nMjQtcmFjY29udG8pIGEuY250TGluazpob3ZlciAuY250VGl0bGUge1xuICAgIGNvbG9yOiAjM0QzRDNEO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ub2RlLWNvbnRlbnQucHJlc3NIcC1ldmlkZW56YSAuY250VGV4dHMge1xuICAgIHBhZGRpbmc6IDQwcHggNDBweCA4MHB4IDQwcHg7XG4gIH1cbn1cblxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLWVudGl0eXF1ZXVlLWhwIC5jbnRUZXh0cyB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtZW50aXR5cXVldWUtaHAgbGFiZWwubGJsVHlwZSwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLWVudGl0eXF1ZXVlLWhwIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS1lbnRpdHlxdWV1ZS1ocCAuY250VGl0bGUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmNudEhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcmVzc0FydFByLm5vZGUtdmlldy1tb2RlLXRlYXNlciBhLmxpbmtDb3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5jbnRUZXh0cyB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAzMHB4IDIwcHg7XG59XG4ucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgbGFiZWwubGJsVHlwZSwgLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIGxhYmVsLmxibFR5cGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIGEuY250VGl0bGUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmNudEZvb3RlciB7XG4gIHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XG59XG4ucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmZpZWxkLS1uYW1lLWZpZWxkLW1lZGlhLWRvY3VtZW50cyAubWVkaWFMaW5rIGEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogXCJzb2xlX2Rpc3BsYXlcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi5wcmVzc0FydFByLm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZmllbGQtLW5hbWUtZmllbGQtbWVkaWEtZG9jdW1lbnRzIC5tZWRpYUxpbmsgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5maWVsZC0tbmFtZS1maWVsZC1tZWRpYS1kb2N1bWVudHMgc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4ucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmZpZWxkLS1uYW1lLWZpZWxkLW1lZGlhLWRvY3VtZW50cyBzcGFuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHJlc3NBcnRQci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgYS5jbnRUaXRsZTpob3ZlciB7XG4gICAgY29sb3I6ICMzRDNEM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWFydGljbGUubm9kZS12aWV3LW1vZGUtdGVhc2VyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLXRlYXNlciBsYWJlbC5sYmxUeXBlLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWcyNC1yYWNjb250by5ub2RlLXZpZXctbW9kZS10ZWFzZXIgYS5jbnRUaXRsZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZzI0LXJhY2NvbnRvLm5vZGUtdmlldy1tb2RlLXRlYXNlciBhLmNudFRpdGxlOmhvdmVyIHtcbiAgICBjb2xvcjogI0Y3RDJBRjtcbiAgfVxufVxuXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLmRvY3VtZW50V3JhcHBlciB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLndycFRvcCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLmZpZWxkLS1uYW1lLWZpZWxkLXR5cGUsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLXByZXNzLXJlbGVhc2Uubm9kZS12aWV3LW1vZGUtdGVhc2VyLWFsdGVybmF0ZSAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHtcbiAgbWFyZ2luOiAwO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC5maWVsZC0tbmFtZS1maWVsZC10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjM0QzRDNEO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC53cnBCb3Qge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC5tZWRpYUxpbmsgYSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLm1lZGlhSW5mbyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIHNwYW5bY2xhc3NePWljbi1dOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLm1lZGlhSW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC53cnBUb3Age1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIC5maWVsZC0tbmFtZS1maWVsZC10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLndycEJvdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG4gIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLXByZXNzLXJlbGVhc2Uubm9kZS12aWV3LW1vZGUtdGVhc2VyLWFsdGVybmF0ZSAubWVkaWFMaW5rIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1wcmVzcy1yZWxlYXNlLm5vZGUtdmlldy1tb2RlLXRlYXNlci1hbHRlcm5hdGUgLm1lZGlhTGluayBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzNEM0QzRDtcbiAgfVxufVxuXG4ubm9kZVR5cGVJY29ucy5mbGV4SWNvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG4ubm9kZVR5cGVJY29ucy5mbGV4SWNvbnMgLmZsZXhJY29uIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgYmFja2dyb3VuZDogI0Y3RDJBRjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm5vZGVUeXBlSWNvbnMuZmxleEljb25zIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ubm9kZVR5cGVJY29ucy5mbGV4SWNvbnMgc3BhbjpiZWZvcmUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xufVxuXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYW5hZ2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLnRlYXNlcldyYXBwZXIgLmZpZWxkLS1uYW1lLWZpZWxkLWNvdmVyIGltZyxcbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hbmFnZXIubm9kZS12aWV3LW1vZGUtdGVhc2VyIC50ZWFzZXJXcmFwcGVyIC5maWVsZC0tbmFtZS1maWVsZC1jb3ZlciBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hbmFnZXIubm9kZS12aWV3LW1vZGUtZnVsbCAudGVhc2VyV3JhcHBlciAudGV4dFdyYXBwZXIsXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYW5hZ2VyLm5vZGUtdmlldy1tb2RlLXRlYXNlciAudGVhc2VyV3JhcHBlciAudGV4dFdyYXBwZXIge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggNjBweCAyMHB4O1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtbWFuYWdlci5ub2RlLXZpZXctbW9kZS1mdWxsIC50ZWFzZXJXcmFwcGVyIGgyLCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYW5hZ2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLnRlYXNlcldyYXBwZXIgcCxcbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hbmFnZXIubm9kZS12aWV3LW1vZGUtdGVhc2VyIC50ZWFzZXJXcmFwcGVyIGgyLFxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtbWFuYWdlci5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLnRlYXNlcldyYXBwZXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYW5hZ2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLnRlYXNlcldyYXBwZXIgcC5tYW5hZ2VyUm9sZSxcbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hbmFnZXIubm9kZS12aWV3LW1vZGUtdGVhc2VyIC50ZWFzZXJXcmFwcGVyIHAubWFuYWdlclJvbGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtbWFuYWdlci5ub2RlLXZpZXctbW9kZS1mdWxsIC5tYW5hZ2VyUG9wdXAsXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYW5hZ2VyLm5vZGUtdmlldy1tb2RlLXRlYXNlciAubWFuYWdlclBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLm1hbmFnZXJQb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAubWFuYWdlck5hbWUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgcC5tYW5hZ2VyUm9sZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAubWFuYWdlclBvcHVwQm90dG9tIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5maWVsZC0tbmFtZS1ib2R5IHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5maWVsZC0tbmFtZS1maWVsZC1hdHRhY2htZW50IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5mYW5jeWJveC1jb250YWluZXIuZmFuY3lNYW5hZ2VyIC5tYW5hZ2VyTmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgfVxuICAuZmFuY3lib3gtY29udGFpbmVyLmZhbmN5TWFuYWdlciAuZmllbGQtLW5hbWUtZmllbGQtYXR0YWNobWVudCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudCAuZXZlbnRJY24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudCAuZXZlbnRJY24gc3Bhbi5hZGRldmVudGF0Y19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50IC5ldmVudEljbiBzcGFuLmljbi1jYWxlbmRhcjpiZWZvcmUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogIzNEM0QzRDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50IC5ldmVudFBhc3Qge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnRXcmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIHBhZGRpbmc6IDAgMCAxMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM0QzRDNEO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudERhdGUge1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTUwcHg7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNFRkJDQTkgMCUsICNGNUU1RDUgMTAwJSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgNjBweCA4M3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudERhdGUgLmVkRGF5LCAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50RGF0ZSAuZWRNb250aCwgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudERhdGUgLmVkWWVhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudERhdGUgLmVkRGF5IHtcbiAgbWFyZ2luOiAwO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudERhdGUgLmVkTW9udGgsIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnREYXRlIC5lZFllYXIge1xuICBtYXJnaW46IDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50U2lkZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnRUaXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwic29sZV9kaXNwbGF5XCI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnRDYWxlbmRhciB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnRDYWxlbmRhciAuZXZMYmwge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjM0QzRDNEO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudFdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQubm9kZS12aWV3LW1vZGUtdGVhc2VyIC5ldmVudFNpZGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50VGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciAuZXZlbnRTaWRlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50VGl0bGUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1ldmVudC5ub2RlLXZpZXctbW9kZS10ZWFzZXIgLmV2ZW50Q2FsZW5kYXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxufVxuXG4uYnJpZ2h0Y292ZS12aWRlby5icmlnaHRjb3ZlLXZpZGVvLXZpZXctbW9kZS1kZWZhdWx0IC52aWRlb1BsYXllciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbn1cbi5icmlnaHRjb3ZlLXZpZGVvLmJyaWdodGNvdmUtdmlkZW8tdmlldy1tb2RlLWRlZmF1bHQgLnZpZGVvUGxheWVyIC52anMtYmlnLXBsYXktYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNEM0QzRDtcbn0iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy40XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGUgb3V0bGluZSB3aGVuIGludGVudCBpcyBjbGVhcmx5IG1vdXNlIGFuZCB0b3VjaFxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcbiAgICAqLCAqOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBpT1MgY2FsbG91dHMgd2hlbiBkcmFnZ2FibGUgaXMgZmFsc2VcbiAgW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgc2FmZSBwYWRkaW5nIG9uIHRoZSBib2R5IGZvciBub24tcmVjdGFuZ3VsYXIgZGV2aWNlcyAoaS5lLiBwaG9uZXMgd2l0aCBub3RjaGVzKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGlmICgkYm9keS1zYWZlLXBhZGRpbmcpIHtcbiAgICAgIC8vIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhY2NvdW50IGZvciBub24tcmVjdGFuZ3VsYXIgZGlzcGxheXMgZS5nLiBwaG9uZXMgd2l0aCBub3RjaGVzXG4gICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDIwcHg7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjgwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkZ3JpZ2lvLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICRyb3NhY2hpYXJvO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICRzb2xlU2FucztcbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2U7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogJHNvbGVCb2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogcG9pbnRlcjtcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjgwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbiAgeHh4bGFyZ2U6IDE2ODBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UgeHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbiAgbGFyZ2U6IDQwcHhcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkc29sZVNhbnM7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZzJzogNTYsICdsaCc6IDg0KSwgLy8gaGVhZGluZ194eGxcbiAgICAnaDInOiAoJ2ZzJzogNDgsICdsaCc6IDY0KSwgLy8gaGVhZGluZ194bFxuICAgICdoMyc6ICgnZnMnOiAzMCwgJ2xoJzogNDIpLCAvLyBoZWFkaW5nX2xcbiAgICAnaDQnOiAoJ2ZzJzogMjIsICdsaCc6IDM2KSwgLy8gaGVhZGluZ19tIC0gdG9ybm8gc3UgZm9udGUgc29sZTI0XG4gICAgJ2g1JzogKCdmcyc6IDIyLCAnbGgnOiAzNiksIC8vIGhlYWRpbmdfeHMgLSB0b3JubyBzdSBmb250ZSBzb2xlMjRcbiAgICAnaDYnOiAoJ2ZzJzogMjIsICdsaCc6IDM2KSwgLy8gbm9uIGRlZmluaXRvXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZnMnOiA2NCwgJ2xoJzogOTYsIG1iOiA0MCksIC8vIGhlYWRpbmdfeHhsXG4gICAgJ2gyJzogKCdmcyc6IDU2LCAnbGgnOiA4NCwgbWI6IDQwKSwgLy8gaGVhZGluZ194bFxuICAgICdoMyc6ICgnZnMnOiA0OCwgJ2xoJzogNjAsIG1iOiA0MCksIC8vIGhlYWRpbmdfbFxuICAgICdoNCc6ICgnZnMnOiAzMCwgJ2xoJzogNDIsIG1iOiAzMCksIC8vIGhlYWRpbmdfbVxuICApLFxuKTtcblxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDMwcHggMCAxNXB4IDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IGZhbHNlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYmxhY2s7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGw7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRibGFjaztcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41O1xuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41KTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbiAgbGFyZ2U6IDIwcHggLy80MHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gJHNvbGU6ICAgICdzb2xlJywgc2Fucy1zZXJpZjsgLy8gTG9jYWxlLCBub24gcGnDuSB1c2F0b1xuLy8gJHNvbGUyNDogICdzb2xlMjQnLCBzZXJpZjsgICAgLy8gTG9jYWxlLCBub24gcGnDuSB1c2F0b1xuXG4vLyBodHRwOi8vYzIucmVzLjI0by5pdC9mb250cy9zb2xlLXNhbnMvc29sZS1zYW5zLmNzc1xuJHNvbGVTYW5zOiAgICAgICdTb2xlU2FucycsIHNhbnMtc2VyaWY7ICAgLy8gNDAwLCA1MDAsIDcwMCwgODAwIC0gRk9OVCBERUwgQk9EWVxuXG4vLyBodHRwOi8vYy5yZXMuMjRvLml0L2ZvbnRzL3ctZm9udHMuY3NzXG4kc29sZURpc3BsYXk6ICAgJ3NvbGVfZGlzcGxheSc7ICAgLy8gMzAwLCA0MDAsIDgwMCwgOTAwXG4vLyAkc29sZUhhaXJsaW5lOiAgJ3NvbGVfaGFpcmxpbmUnOyAvLyAzMDAsIDQwMCwgNTAwLCA3MDAgLSBub24gdXNpYW1vXG4vLyAkc29sZVRleHQ6ICAgICAgJ3NvbGVfdGV4dCc7ICAgIC8vIDMwMCwgNDAwLCA3MDAsIDgwMCAgLSBub24gdXNpYW1vXG5cbiRzb2xlUmVnOiAgICAgNDAwO1xuJHNvbGVNZWRpdW06ICA1MDA7XG4kc29sZUJvbGQ6ICAgIDcwMDtcbiRzb2xlRGlzQm9sZDogODAwO1xuXG5cbiRyb3NhY2hpYXJvOiAgI0Y1RTVENTtcbiRyb3NhOiAgICAgICAgI0Y2RDFDMDtcbiRyb3NhMjogICAgICAgI0Y3RDJBRjtcbiRyb3NzbzogICAgICAgI0QyMDAxRjtcbiRyb3NzbzYwOiAgICAgI0U3N0Y2NjtcbiRncmlnaW86ICAgICAgIzNEM0QzRDtcbiRncmlnaW82MDogICAgIzhCOEI4QjtcbiRncmlnaW9tZW51OiAgIzI2MkEzMztcbiR2ZXJkZTogICAgICAgIzMxNjg2RjtcbiR2ZXJkZWNoaWFybzogI0M0RDdENztcbiRhenp1cnJvOiAgICAgI0MyREFFNjtcbiRhenp1cnJvMjA6ICAgI0U1RjFGMztcbiRibGFjazI1OiAgICAgIzI1MjUyNTtcbiRibGFjazogICAgICAgIzAwMDAwMDtcbiR3aGl0ZTogICAgICAgI2ZmZmZmZjtcbiRncmV5RjQ6ICAgICAgI0Y0RjRGNDtcbiRncmV5TGlnaHQ6ICAgI0QyRDJEMztcbiRncmV5MjY6ICAgICAgIzI2MjYyNjtcbiRncmV5NkM6ICAgICAgIzZDNkM2QztcbiRncmV5NTg6ICAgICAgIzU4NTg1ODtcbiRncmV5OTc6ICAgICAgIzk3OTc5Nztcbi8vICRnbG9iYWwtd2VpZ2h0LWJvbGRcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1wYi12YWx1ZTogbnVsbDtcblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGRpdmlkZSgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycyksICRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skcmdifVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nICogMC41ICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkLWZyb20taGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAlY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICVjaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gIH1cblxuICAlY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgLy8gICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtZyl9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9IC8gMikpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgKiAwLjUgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZShkaXZpZGUoJHBvc2l0aW9uLCAkZ3JpZC1jb2x1bW4tY291bnQpKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcblxuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbikge1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAwLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gMC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIE1vZGUgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSUUxMCsgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2hvdy1mb3ItaWUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gT3BhY2l0eSB0byBlbmQgb24uIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xufVxuIiwiLy8gUGxhY2UgYW55IERydXBhbC1yZWxhdGVkIHF1aXJrcyBoZXJlLlxyXG4vKlxyXG4gKiB6dXJiX2ZvdW5kYXRpb24uc2NzcyAtIENvbnRhaW5zIGFsbCBEcnVwYWwtc3BlY2lmaWMgU0FTUyBmb3IgdGhpcyB0aGVtZS5cclxuICpcclxuICogQHRvZG8gU3BsaXQgdGhpcyBpbnRvIG11bHRpcGxlIGZvbGRlcnMvZmlsZXMuXHJcbiovXHJcblxyXG4vLyBBIGZpeCBmb3IgaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzk1MzAzNCAtIFRoZW1lcyBjdXJyZW50bHkgY2Fubm90XHJcbi8vIGRldGVybWluZSBpZiBhIHJlZ2lvbiBpcyBlbXB0eVxyXG5cclxuLnJlZ2lvbi1oaWdobGlnaHRlZDplbXB0eSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyBUaGlzIGhhcyBiZWVuIGFuIGlzc3VlIHNpbmNlIDcueCwgRm91bmRhdGlvbiBydWxlcyBhYm91dCBsaXN0IGVsZW1lbnRzXHJcbi8vIGFmZmVjdCBOYXZiYXIgc2l6aW5nLlxyXG5cclxuLnRvb2xiYXItdHJheSBhIHtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxuLy8gUmVtb3ZlIEZvdW5kYXRpb24ncyB0b3AgbWFyZ2luIGZyb20gdGhlIHRvZ2dsZSBvcmllbnRhdGlvbiBidXR0b24uXHJcblxyXG4udG9vbGJhciAudG9vbGJhci10b2dnbGUtb3JpZW50YXRpb24gLnRvb2xiYXItaWNvbiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAvLyBGaXggb2Zmc2V0IHByb2JsZW0gd2hlcmUgaGFsZiBvZiBvcmllbnRhdGlvbiBidXR0b24gaXMgbm90IHZpc2libGUuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgIH1cclxufVxyXG5cclxuYm9keS50b29sYmFyLXRyYXktb3Blbi50b29sYmFyLXZlcnRpY2FsLnRvb2xiYXItZml4ZWQge1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi8vIE92ZXJyaWRlIHN0eWxlcyBmcm9tIC9jb3JlL21vZHVsZXMvc3lzdGVtL2Nzcy9jb21wb25lbnRzL21lbnUudGhlbWUuY3NzXHJcblxyXG4udG9wLWJhci1zZWN0aW9uIHVsIGxpIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgYS5pcy1hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQcmV2ZW50aW5nIFRvcCBCYXIgRk9VQ1xyXG4vLyBodHRwOi8vZm91bmRhdGlvbi56dXJiLmNvbS9zaXRlcy9kb2NzL3Jlc3BvbnNpdmUtbmF2aWdhdGlvbi5odG1sI3ByZXZlbnRpbmctZm91Y1xyXG4vLyBNb3JlIGluZm86IGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS8yNzgzNTczXHJcbi5uby1qcyAudG9wLWJhciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xyXG4gIC5uby1qcyAudG9wLWJhciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgLm5vLWpzIC50aXRsZS1iYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIE9mZnNldCB0aGUgdG9wIGJhciBpZiB0aGUgTmF2YmFyICh0b29sYmFyKSBpcyBwcmVzZW50LlxyXG5cclxuYm9keS50b29sYmFyLWZpeGVkIC5zdGlja3kuaXMtc3R1Y2sgLnRvcC1iYXIge1xyXG4gICAgbWFyZ2luLXRvcDogMzlweDtcclxuICAgIG1hcmdpbi10b3A6IDE3MHB4O1xyXG59XHJcblxyXG5ib2R5LnRvb2xiYXItZml4ZWQudG9vbGJhci1ob3Jpem9udGFsLnRvb2xiYXItdHJheS1vcGVuIC5zdGlja3kuaXMtc3R1Y2sgLnRvcC1iYXIge1xyXG4gICAgbWFyZ2luLXRvcDogNzhweDtcclxuICAgIG1hcmdpbi10b3A6IDIxOXB4O1xyXG59XHJcblxyXG5ib2R5LnRvb2xiYXItZml4ZWQgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xyXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBSZW1vdmVzIGNvcmUgYXJyb3cgaW1hZ2UgZnJvbSBtZW51IGl0ZW1zLlxyXG5cclxuLnRvcC1iYXIge1xyXG4gICAgLm1lbnUtaXRlbS0tY29sbGFwc2VkLC5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gU3R5bGUgdGhlIHNlYXJjaCBmb3JtLCBpZiBlbWJlZGRlZCBpbiB0aGUgVG9wIEJhci5cclxuXHJcbi50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSB7XHJcbiAgICAuZm9ybS1pdGVtLWtleXMsIC5mb3JtLWFjdGlvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLy8gRHJvcGRvd24gYnV0dG9uIHN0eWxpbmcuXHJcblxyXG4uZHJvcGJ1dHRvbi13cmFwcGVyIHtcclxuICAgIC8vIFN1Yi10aGVtZXMgd2lsbCBoYXZlIHRvIG92ZXJyaWRlIHRoaXMgY29sb3IsIHVuZm9ydHVuYXRlbHkuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Q0JBO1xyXG4gICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQWRkIEExMXktcmVsYXRlZCBDbGFzc3kgc3R5bGluZyBmb3IgcmVxdWlyZWQgZm9ybSBmaWVsZHMuXHJcbi5mb3JtLXJlcXVpcmVkOmFmdGVyIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDZweDtcclxuICBoZWlnaHQ6IDZweDtcclxuICBtYXJnaW46IDAgMC4zZW07XHJcbiAgY29udGVudDogXCJcIjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XHJcbiAgLy8gVXNlIGEgYmFja2dyb3VuZCBpbWFnZSB0byBwcmV2ZW50IHNjcmVlbiByZWFkZXJzIGZyb20gYW5ub3VuY2luZyB0aGUgdGV4dC5cclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZvdW5kYXRpb24vbWlzYy9yZXF1aXJlZC5zdmcpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiA2cHggNnB4O1xyXG59XHJcblxyXG4vLyBGaXggb3ZlcmxhcHBpbmcgZHJvcGRvd24gb24gbm9kZSBwcmV2aWV3IHBhZ2UuXHJcbi5ub2RlLXByZXZpZXctY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5ub2RlLXByZXZpZXctYmFja2xpbmsge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0IHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxufVxyXG4vL1NwYWNpbmcgYmV0d2VlbiBjb21tZW50IGJveCBhbmQgYWN0aW9uIGJ1dHRvbnNcclxuI2VkaXQtY29tbWVudC1ib2R5LXdyYXBwZXIge1xyXG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xyXG59XHJcblxyXG5cclxuLy8gTmFzY29uZG8gaWwgbWVudSBhbW1pbmlzdHJhdGl2byBzdSB0YWJsZXQgZSBjZWxsdWxhcmVcclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgI3Rvb2xiYXItYWRtaW5pc3RyYXRpb257IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG4gIGJvZHkuYWRtaW5pbWFsLWFkbWluLXRvb2xiYXJ7XHJcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiJGZvbnRJY29uTmFtZTogJ3NvbGUyNGRpbmcnO1xyXG4kZm9udEljb25WZXJzaW9uOiAnNDQxNzEyMTQnO1xyXG4vLyBSRUdFWCAoOyguKylcXG4pIHJlcGxhY2UgLFxcblxyXG5cclxuJHRoZW1lSWNvbnM6IChcclxuICBhcnJvdy1mb3J3YXJkOiAnXFxlODAwJyxcclxuICBzZWFyY2g6ICdcXGU4MDEnLFxyXG4gIHNvY2lhbC1pZzogJ1xcZTgwMicsXHJcbiAgcGF1c2U6ICdcXGU4MDMnLFxyXG4gIGxpbmstZXh0OiAnXFxlODA0JyxcclxuICBzb2NpYWwteXQ6ICdcXGU4MDUnLFxyXG4gIGNsb3NlOiAnXFxlODA2JyxcclxuICBzb2NpYWwtbGk6ICdcXGU4MDcnLFxyXG4gIHNvY2lhbC14OiAnXFxlODA4JyxcclxuICBtb3JlOiAnXFxlODBhJyxcclxuICBsZXNzOiAnXFxlODBiJyxcclxuICBjbG9zZS1zaW1wbGU6ICdcXGU4MGMnLFxyXG4gIHRyaWFuZ2xlLXVwOiAnXFxlODE0JyxcclxuICBhcnJvdy1yaWdodDogJ1xcZTgxNScsXHJcbiAgYm9vazogJ1xcZTgxOCcsXHJcbiAgdHlwZS1nYWxsZXJ5OiAnXFxlODE5JyxcclxuICB0eXBlLXZpZGVvOiAnXFxlODFhJyxcclxuICBhcnJvdy1zaW1wbGUtbGVmdDogJ1xcZTgyNicsXHJcbiAgYXJyb3ctc2ltcGxlLXJpZ2h0OiAnXFxlODI3JyxcclxuICBwYXVzZS1zaW1wbGU6ICdcXGU4NGInLFxyXG4gIHBsYXk6ICdcXGU4NGMnLFxyXG4gIGZpbGUtYXVkaW86ICdcXGU4NTAnLFxyXG4gIGNhbGVuZGFyOiAnXFxlODUxJyxcclxuICBjaGVjazogJ1xcZTg1MicsXHJcbiAgZmlsZS1nZW5lcmljOiAnXFxlODUzJyxcclxuICBmaWxlLWh0bWw6ICdcXGU4NTQnLFxyXG4gIGZpbGUtcGRmOiAnXFxlODU1JyxcclxuICBmaWxlLXppcDogJ1xcZTg1NicsXHJcbik7XHJcblxyXG5cclxuLy8gR2VuZXJvIGlsIGZvbnQtZmFjZSBwZXIgaWwgc2V0IGRpIGljb25lXHJcbkBmb250LWZhY2Uge1xyXG4gICRmb250VXJsOiAnLi4vZm9udHMvJyArICRmb250SWNvbk5hbWUgKyAnLycgKyAkZm9udEljb25OYW1lO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udEljb25OYW1lO1xyXG4gIHNyYzogdXJsKCRmb250VXJsICsgJy5lb3Q/JyArICRmb250SWNvblZlcnNpb24pO1xyXG4gIHNyYzogdXJsKCRmb250VXJsICsgJy5lb3Q/JyArICRmb250SWNvblZlcnNpb24gKyAnI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gIHVybCgkZm9udFVybCArICcud29mZjI/JyArICRmb250SWNvblZlcnNpb24pIGZvcm1hdCgnd29mZjInKSxcclxuICB1cmwoJGZvbnRVcmwgKyAnLndvZmY/JyArICRmb250SWNvblZlcnNpb24pIGZvcm1hdCgnd29mZicpLFxyXG4gIHVybCgkZm9udFVybCArICcudHRmPycgKyAkZm9udEljb25WZXJzaW9uKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgdXJsKCRmb250VXJsICsgJy5zdmc/JyArICRmb250SWNvblZlcnNpb24gKyAnIycgKyAkZm9udEljb25OYW1lICsgJycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuIiwiLy8gRGVmaW5pc2NvIGdsaSBzdGlsaSBnZW5lcmljaSBwZXIgc3BhbiBvIHNpbWlsaSArIGlsIHBsYWNlaG9sZGVyIGRhIGVzdGVuZGVyZSBwZXIgYXBwbGljYXJlIGdsaSBzdGlsaSBkZWxsZSBpY29uZVxyXG5bY2xhc3NePVwiaWNuLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCJpY24tXCJdOmJlZm9yZSxcclxuJWljbi06YmVmb3JlLCAlaWNvbi1zdHlsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICN7JGZvbnRJY29uTmFtZX07XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgc3BlYWs6IG5vbmU7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi8vIEl0ZXJvIGxlIGljb25lIGUgZ2VuZXJvIGxlIGNsYXNzaSBkaSBjb21vZG8gZGEgdXNhcmUgaW4gc3BhbiBvIHNpbWlsaVxyXG5AZWFjaCAkbmFtZSwgJGNvbnRlbnQgaW4gJHRoZW1lSWNvbnMge1xyXG4gIC5pY24tI3skbmFtZX06YmVmb3JlIHsgY29udGVudDogJGNvbnRlbnQ7IH1cclxufVxyXG5cclxuLy8gTWl4aW4gcGVyIGluc2VyaXJlIGxhdG8gc2NzcyB1biBpY29uYVxyXG4vLyBAaW5jbHVkZSBpY29uKGJlZm9yZSwgbmFtZSk7XHJcbkBtaXhpbiBpY29uKCRwb3NpdGlvbjogYmVmb3JlLCAkaWNvbjogZmFsc2UpIHtcclxuICBAaWYgJHBvc2l0aW9uID09IGJvdGggeyAkcG9zaXRpb246ICdiZWZvcmUsICY6YWZ0ZXInOyB9XHJcblxyXG4gICY6I3skcG9zaXRpb259IHtcclxuICAgIEBleHRlbmQgJWljb24tc3R5bGU7XHJcbiAgICBAaWYgJGljb24geyBjb250ZW50OiBcIiN7bWFwLWdldCgkdGhlbWVJY29ucywgJGljb24pfVwiOyB9XHJcblxyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBTcGVyaW1lbnRhbGVcclxuICogU2kgcG9zc29ubyBzZXBjaWZpY2FyZSBpIHRhZyBoWCBlIHAgbyB1bmEgY2xhc3NlIGN1c3RvbS5cclxuICovXHJcbiRvdmVycmlkZWQtdGFnczogKFwiaDFcIiwgXCJoMlwiLCBcImgzXCIsIFwiaDRcIiwgXCJoNVwiLCBcImg2XCIsIFwicFwiLCBcImFcIik7XHJcblxyXG4vKipcclxuICogTGF0byBncmFmaWNvLCBpIGZvbnQgc29ubyBzdGF0aSBkZWZpbml0aSBwZXIgaWwgZGVza3RvcFxyXG4gKiBEaSBkZWZhdWx0IHN1IGNlbGx1bGFyZSBwcmVuZG9ubyBsYSBjbGFzc2Ugc3VjY2Vzc2l2YVxyXG4gKiBFcywgbG8gc21hbGwgZGkgaGVhZGluZ194eGwgw6ggaWwgbWVkaXVtIGRpIGhlYWRpbmdfeGxcclxuICpcclxuICogTGF0byBlZGl0b3JpYWxlIHNvbm8gZGlzcG9uaWJpbGkgZ2xpIGhlYWRpbmcgZGEgWGwgYSBYUyAoSDEgLSBINSlcclxuICogRScgaW5vbHRyZSBkaXNwb25pYmlsZSBpbCBib2R5X3MsIGNoZSByYXBwcmVzZW50YSBsZSBub3RlXHJcbiAqIElsIHRlc3RvIGRpIGRlZmF1bHQgw6ggYm9keV94bFxyXG4gKiBUdXR0aSBnbGkgYWx0cmkgc29ubyB1c2F0aSBpbnRlcm5hbWVudGUgcGVyIGRlZ2xpIGVsZW1lbnRpIGRpIGhlYWRlciwgZm9vdGVyIGUgcGFyYWdyYXBoc1xyXG4gKi9cclxuJHJlc3BvbnNpdmUtcnVsZXM6IChcclxuICAvLyBTVElMSSBQRVIgSEVBREVSXHJcbiAgaGVhZGluZ194eGw6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkc29sZURpc3BsYXksXHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc29sZURpc0JvbGQsXHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpLCAvLyA1NlxyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjQpLCAvLyA4NFxyXG4gICAgKSxcclxuICAgIG1lZGl1bTogKFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY0KSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDk2KSxcclxuICAgICksXHJcbiAgKSxcclxuICBoZWFkaW5nX3hsOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICBmb250LWZhbWlseTogJHNvbGVEaXNwbGF5LFxyXG4gICAgICBmb250LXdlaWdodDogJHNvbGVEaXNCb2xkLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM4KSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU0KSxcclxuICAgICksXHJcbiAgICBtZWRpdW06IChcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NiksXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg4NCksXHJcbiAgICApLFxyXG4gICksXHJcbiAgaGVhZGluZ19sOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICBmb250LWZhbWlseTogJHNvbGVEaXNwbGF5LFxyXG4gICAgICBmb250LXdlaWdodDogJHNvbGVEaXNCb2xkLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQyKSxcclxuICAgICksXHJcbiAgICBtZWRpdW06IChcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCksXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCksXHJcbiAgICApXHJcbiAgKSxcclxuICBoZWFkaW5nX206IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkc29sZVNhbnMsXHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc29sZU1lZGl1bSxcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMiksXHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNiksXHJcbiAgICApLFxyXG4gICAgbWVkaXVtOiAoXHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApLFxyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDIpLFxyXG4gICAgKVxyXG4gICksXHJcbiAgaGVhZGluZ194czogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgZm9udC1mYW1pbHk6ICRzb2xlU2FucyxcclxuICAgICAgZm9udC13ZWlnaHQ6ICRzb2xlTWVkaXVtLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KSxcclxuICAgIClcclxuICApLFxyXG5cclxuICAvLyBTVElMSSBQRVIgVEVTVElcclxuICBib2R5X3h4bDogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcclxuICAgICksXHJcbiAgICBtZWRpdW06IChcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcclxuICAgICksXHJcbiAgKSxcclxuICBib2R5X3hsOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCksXHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpLFxyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApLFxyXG4gICAgKSxcclxuICAgIG1lZGl1bTogKFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcclxuICAgIClcclxuICApLFxyXG4gIGJvZHlfbDogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKSxcclxuICAgICksXHJcbiAgICBtZWRpdW06IChcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcclxuICAgIClcclxuICApLFxyXG4gIGJvZHlfbTogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSxcclxuICAgICksXHJcbiAgICBtZWRpdW06IChcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKSxcclxuICAgIClcclxuICApLFxyXG4gIGJvZHlfczogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpLFxyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KSxcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSxcclxuICAgIClcclxuICApXHJcbik7XHJcblxyXG4vLyBTY3JpcHQgZGkgZ2VuZXJhemlvbmUgZGVsbGUgY2xhc3NpXHJcbiRzZWxlY3RvcjogJyc7XHJcbkBlYWNoICRuYW1lLCAkc2l6ZXMgaW4gJHJlc3BvbnNpdmUtcnVsZXMge1xyXG4gIEBlYWNoICRzaXplLCAkcHJvcGVydGllcyBpbiAkc2l6ZXMge1xyXG4gICAgQGlmIGluZGV4KCRvdmVycmlkZWQtdGFncywgJG5hbWUpICE9IG51bGwge1xyXG4gICAgICAkc2VsZWN0b3I6IFwiI3skbmFtZX0sIC4jeyRuYW1lfVwiO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRzZWxlY3RvcjogXCIuI3skbmFtZX1cIjtcclxuICAgIH1cclxuICAgICN7JHNlbGVjdG9yfSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcHJvcGVydGllcyB7XHJcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE92ZXJyaWRlIGNvbXVuaVxyXG5oMSB7IEBleHRlbmQgLmhlYWRpbmdfeHhsOyB9XHJcbmgyIHsgQGV4dGVuZCAuaGVhZGluZ194bDsgfVxyXG5oMyB7IEBleHRlbmQgLmhlYWRpbmdfbDsgfVxyXG5oNCB7IEBleHRlbmQgLmhlYWRpbmdfbTsgfVxyXG5oNSB7IEBleHRlbmQgLmhlYWRpbmdfeHM7IH1cclxuaDYge31cclxuXHJcblxyXG4vLyBINCAoaGVhZGluZ19tKSBlZCBINSAoaGVhZGluZ194cykgaGFubm8gdW4gZm9udCBkaWZmZXJlbnRlXHJcbmg0LCBoNSB7IGZvbnQtZmFtaWx5OiAkc29sZVNhbnM7IH1cclxuIiwiXHJcbkBtaXhpbiBvdmVybGF5KCRiZ0NvbG9yOiAkYmxhY2ssICRiZ09wYWNpdHk6IDAuNiwgJHpJbmRleDogMCwgJHBvc2l0aW9uOiBcImFmdGVyXCIpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDoxO1xyXG5cclxuICAmOiN7JHBvc2l0aW9ufSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJnQ29sb3IsICRiZ09wYWNpdHkpO1xyXG4gICAgei1pbmRleDogJHpJbmRleDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFJpc3RyaW5nZSBsJ2VsZW1lbnRvIGRlc2lkZXJhdG8gaW4gYmFzZSBhaSBtYXJnaW4gZ3V0dGVyXHJcbiAqIFJpZGltZW5zaW9uYSBsYSBsYXJnaGV6emEgbWFzc2ltYSBlIGdlc3Rpc2NlIGkgbWFyZ2luIGxhdGVyYWxpXHJcbiAqXHJcbiAqIEBpbmNsdWRlIHNpZGVNYXJnaW5JdGVtKCcubm9kZS12aWV3LW1vZGUtdGVhc2VyJyk7XHJcbiAqIEBpbmNsdWRlIHNpZGVNYXJnaW5JdGVtU2VsZigpO1xyXG4gKi9cclxuQG1peGluIHNpZGVNYXJnaW5JdGVtKCRjbGFzc0l0ZW06IFwiXCIpIHtcclxuICBAZWFjaCAkYnJlYWssICR2YWx1ZSBpbiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVhaykge1xyXG4gICAgICAjeyRjbGFzc0l0ZW19IHtcclxuICAgICAgICBAaW5jbHVkZSBzaWRlTWFyZ2luSXRlbV92YWx1ZSgkdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBzaWRlTWFyZ2luSXRlbVNlbGYoKSB7XHJcbiAgQGVhY2ggJGJyZWFrLCAkdmFsdWUgaW4gJGdyaWQtbWFyZ2luLWd1dHRlcnMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWspIHtcclxuICAgICAgQGluY2x1ZGUgc2lkZU1hcmdpbkl0ZW1fdmFsdWUoJHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuQG1peGluIHNpZGVNYXJnaW5JdGVtX3ZhbHVlKCR2YWx1ZSkge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAkdmFsdWUpO1xyXG4gIG1hcmdpbi1yaWdodDogY2FsYygkdmFsdWUgLyAyKTtcclxuICBtYXJnaW4tbGVmdDogY2FsYygkdmFsdWUgLyAyKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsbGFyZ2EgbCdlbGVtZW50byBkZXNpZGVyYXRvIGluIGJhc2UgYWkgbWFyZ2luIGd1dHRlclxyXG4gKiBSaWRpbWVuc2lvbmEgbGEgbGFyZ2hlenphIG1hc3NpbWEgZSBnZXN0aXNjZSBpIG1hcmdpbiBsYXRlcmFsaSBpbiBuZWdhdGl2b1xyXG4gKlxyXG4gKiBAaW5jbHVkZSBzaWRlTWFyZ2luV3JhcHBlcignLm5vZGUtdmlldy1tb2RlLXRlYXNlcicpO1xyXG4gKiBAaW5jbHVkZSBzaWRlTWFyZ2luV3JhcHBlclNlbGYoKTtcclxuICovXHJcbkBtaXhpbiBzaWRlTWFyZ2luV3JhcHBlcigkY2xhc3NJdGVtOiBcIlwiKSB7XHJcbiAgQGVhY2ggJGJyZWFrLCAkdmFsdWUgaW4gJGdyaWQtbWFyZ2luLWd1dHRlcnMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWspIHtcclxuICAgICAgI3skY2xhc3NJdGVtfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2lkZU1hcmdpbldyYXBwZXJfdmFsdWUoJHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5AbWl4aW4gc2lkZU1hcmdpbldyYXBwZXJTZWxmKCkge1xyXG4gIEBlYWNoICRicmVhaywgJHZhbHVlIGluICRncmlkLW1hcmdpbi1ndXR0ZXJzIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrKSB7XHJcbiAgICAgIEBpbmNsdWRlIHNpZGVNYXJnaW5XcmFwcGVyX3ZhbHVlKCR2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBzaWRlTWFyZ2luV3JhcHBlcl92YWx1ZSgkdmFsdWUpIHtcclxuICB3aWR0aDogY2FsYygxMDAlICsgJHZhbHVlKTtcclxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkdmFsdWUgLyAyKTtcclxuICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICR2YWx1ZSAvIDIpO1xyXG59XHJcbiIsIi8vICo6Zm9jdXMgeyBvdXRsaW5lOiAwIG5vbmU7IH1cblxuLy8gU3RpbGkgY29tdW5pIHBlciBpbW1hZ2luaSBlIHZpZGVvIGRpIHNmb25kb1xuLmJnQ292ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLmJnQ292ZXIsIC5iZ0NvdmVyQWJzLCAuYmdWaWRlb0FicyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cbi5iZ0NvdmVyQWJzLCAuYmdWaWRlb0FicyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmJnQ292ZXJBYnMge1xuICB6LWluZGV4OiAxO1xuICBAZXh0ZW5kIC5iZ0NvdmVyO1xufVxuLmJnVmlkZW9BYnMge1xuICB6LWluZGV4OiAyO1xuXG4gICY6YmVmb3JlIHsgei1pbmRleDogMzsgfVxuXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gRWxlbWVudG8gbGlua2VyIHNvcHJhIGEgdHV0dG9cbi5mdWxsTGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuXG4vLyBJZnJhbWUgaW4gcGFnaW5hIChlcywgaW52ZXN0aXRvcmkvYXppb25pc3RpKVxuaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiBub25lO1xufVxuaWZyYW1lLnMyNF9taSB7IGhlaWdodDogNDQ1cHg7IH1cblxuXG5cbi8vIFNjcm9sbGJhciBjdXN0b21penphdGUgKGh0dHBzOi8vY29kZXBlbi5pby93ZWItZG90LWRldi9lbWJlZC9HUmVXb3plKVxuLnNjcm9sbGVyIHtcbiAgLS1zY3JvbGxiYXItY29sb3ItdGh1bWI6ICMzRDNEM0Q7XG4gIC0tc2Nyb2xsYmFyLWNvbG9yLXRyYWNrOiAjRDJEMkQzO1xuICAtLXNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgLS1zY3JvbGxiYXItd2lkdGgtbGVnYWN5OiAxNXJlbTtcbn1cbkBzdXBwb3J0cyAoc2Nyb2xsYmFyLXdpZHRoOiBhdXRvKSB7XG4gIC5zY3JvbGxlciB7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1zY3JvbGxiYXItY29sb3ItdGh1bWIpIHZhcigtLXNjcm9sbGJhci1jb2xvci10cmFjayk7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB2YXIoLS1zY3JvbGxiYXItd2lkdGgpO1xuICB9XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOjotd2Via2l0LXNjcm9sbGJhcikge1xuICAvLyAuc2Nyb2xsZXIgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gIG1haW46aGFzKGlucHV0W25hbWU9XCJmaXgtc2FmYXJpXCJdOmNoZWNrZWQpIC5zY3JvbGxlcjpob3ZlciB7XG4gICAgLS1zYWZhcmktZml4OiA7IC8qIFRoaXMgY3VzdG9tIHByb3BlcnR5IGZvcmNlcyBTYWZhcmkgdG8gcmUtcmVuZGVyIHRoZSBzY3JvbGxiYXJzIG9uIGhvdmVyICovXG4gIH1cbiAgLnNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5zY3JvbGxlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuc2Nyb2xsZXI6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWNvbG9yLXRodW1iKTsgfVxuICAuc2Nyb2xsZXI6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLWNvbG9yLXRyYWNrKTsgfVxuICAuc2Nyb2xsZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXNjcm9sbGJhci13aWR0aC1sZWdhY3kpO1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLXNjcm9sbGJhci13aWR0aC1sZWdhY3kpO1xuICB9XG59XG4uc2Nyb2xsZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5cblxuLy8gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmNsdXNpdmVseS1oaWRkZW4vXG4uc3Itb25seTpub3QoOmZvY3VzKTpub3QoOmFjdGl2ZSkge1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG59XG4iLCJcbiNtYWluLmNvbHVtbnMge1xuICBhLCBidXR0b24geyB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG59XG5cbmFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuLy8gU3RpbGkgY3VzdG9tIHBlciBzb2xvIGlsIG1haW4gY29udGVudFxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHtcblxuICAvLyBTdGlsaSBsaW5rc1xuICBhI21haW4tY29udGVudCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgcCBhLCBsaSBhIHtcbiAgICAmOmhvdmVyIHt9XG4gICAgLy8gJjpmb2N1cyB7IG91dGxpbmU6IDFweCBzb2xpZCAkYmxhY2s7IH1cbiAgfVxuXG4gIC8vIFNvdHRvbGluZWF0dXJhICgyIGRpbWVuc2lvbmkgaW4gYmFzZSBhbGxhIGx1bmdoZXp6YSBkZWxsYSBzb3R0b2xpbmVhdHVyYSlcbiAgc3Bhbi5zb3R0b2xpbmVhdHVyYSwgc3Bhbi5zb3R0b2xpbmVhdHVyYVNtYWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zb3R0b2xpbmVhdHVyYS5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICB9XG4gIH1cbiAgc3Bhbi5zb3R0b2xpbmVhdHVyYVNtYWxsOmJlZm9yZSB7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zb3R0b2xpbmVhdHVyYS1zbWFsbC5zdmcnKTtcbiAgfVxuXG4gIHNwYW4udHh0Um9zc28geyBjb2xvcjogJHJvc3NvOyB9XG5cbiAgLy8gU3RpbGkgdGFiZWxsZVxuICAudGFibGUtc2Nyb2xsZXIgeyBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgICB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICB0ZC50ZXh0LWFsaWduLXJpZ2h0LCB0aC50ZXh0LWFsaWduLXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuICAgIHRoZWFkIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICB0aCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRncmlnaW87XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIHRyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4gICAgICB0ZCwgdGgge1xuICAgICAgICBAZXh0ZW5kIC5ib2R5X2w7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmlnaW87XG5cbiAgICAgICAgJi5oaWdobGlnaHQtY2VsbCB7IGZvbnQtd2VpZ2h0OiAkc29sZUJvbGQ7IH1cbiAgICAgIH1cbiAgICAgIHRoIHsgZm9udC13ZWlnaHQ6ICRzb2xlQm9sZDsgfVxuXG4gICAgICBwIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIH1cbiAgfVxuICB0YWJsZS5mb250LXhsIHtcbiAgICB0Ym9keSB7XG4gICAgICB0ZCwgdGgsIGEsIHA6bm90KFtjbGFzc10pLCBwW2NsYXNzPVwiXCJdIHtcbiAgICAgICAgQGV4dGVuZCAuYm9keV94bDtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVc2F0YSBwZXIgY29uc2lnbGlvIGFtbWluaXN0cmF6aW9uZVxuLy8gRXN0ZXNhIGluIF9zdGF0aWMuc2Nzc1xuLmdyZWVuSGVhZGVyVGFibGUge1xuICB0aGVhZCB7XG4gICAgdGgge1xuICAgICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmVyZGU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIHRoOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2hpdGU7IH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ZCwgdGgge1xuICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJvc2FjaGlhcm87XG4gICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkc29sZVJlZztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIHRkOmZpcnN0LWNoaWxkIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB9XG5cbiAgc3Bhbi5pY24tY2hlY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF6enVycm8yMDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuXG4gICAgY29sb3I6ICRncmlnaW87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgc3Bhbi5yb2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICBjb2xvcjogJGdyaWdpbztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gU3RpbGUgZWxlbmNoaSwgc29sbyBpbiBjYW1waSBXWVNJV1lHIGUgQ2FsbG91dCBlcnJvcmkgd2ViZm9ybVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrLCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ge1xuICAuZmllbGQtLXR5cGUtdGV4dC13aXRoLXN1bW1hcnksIC5maWVsZC0tdHlwZS10ZXh0LWxvbmcsIC56dXJiLWZvdW5kYXRpb24tY2FsbG91dCB7XG4gICAgdWw6bm90KC5ub3N0eWxlKTpub3QoLmNvbnRleHR1YWwtbGlua3MpLCBvbCB7XG4gICAgICAmOm5vdCguY29udGV4dHVhbC1saW5rcykge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMHB4IDA7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMzZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSB7XG4gICAgICAmOm5vdCguY29udGV4dHVhbC1saW5rcykge1xuICAgICAgICA+IGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyaWdpbztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjb3VudGVyLXJlc2V0OiBvbExpO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9sTGk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2xMaSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgY29sb3I6ICRncmlnaW87XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gKiBJbmRpY2F6aW9uaSBwZXIgaSBsaW5rXG4gKi9cblxuLmN0YUJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMThweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICBjb2xvcjogJGJsYWNrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTJweDtcbiAgYmFja2dyb3VuZDogJGdyaWdpbztcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyaWdpbztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gIC8vICY6Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJhY2tncm91bmQ6ICRyb3NhMjtcbiAgYm9yZGVyOiAxcHggc29saWQgJHJvc2EyO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuXG4gIC8vICY6Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5idG4tc3F1YXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAkcm9zYTI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRyb3NhMjtcblxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIC8vY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGljb24oJ2JlZm9yZScsICdhcnJvdy1mb3J3YXJkJykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTRweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICAvL3RyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiA1OHB4O1xuICAgIGhlaWdodDogNThweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDc4cHg7XG4gICAgaGVpZ2h0OiA3OHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgLy8mOmJlZm9yZSB7IGxlZnQ6IDMwcHg7IH1cbiAgICB9XG4gIH1cbn1cblxuLmxpbmstYXJyb3csIC5saW5rLWFycm93LWJhY2ssIC5saW5rLWFycm93LXRhbGwsIC5saW5rLWJvb2ssIC5saW5rLXVuZGVybGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICBmb250LWZhbWlseTogJHNvbGVEaXNwbGF5O1xuICBmb250LXdlaWdodDogJHNvbGVEaXNCb2xkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgY29sb3I6ICRncmlnaW8gIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgaWNvbignYWZ0ZXInLCAnbGluay1leHQnKSB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgfVxuXG4gIC8vICY6Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7IH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAmOmhvdmVyOmJlZm9yZSB7IHdpZHRoOiBjYWxjKDEwMCUgLSAyN3B4KTsgfVxuICB9XG59XG4ubGluay1hcnJvdy1iYWNrIHtcbiAgQGluY2x1ZGUgaWNvbignYWZ0ZXInLCAnYXJyb3ctZm9yd2FyZCcpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMThweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAmOmhvdmVyOmJlZm9yZSB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cbi5saW5rLWFycm93LXRhbGwgeyBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDgpOyB9IC8vIFBvcnRvIGEgc3Rlc3NhIGFsdGV6emEgZGkgLmJ0bi1wcmltYXJ5XG4ubGluay1ib29rIHtcbiAgQGluY2x1ZGUgaWNvbignYWZ0ZXInLCAnYm9vaycpIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbi5saW5rLWF0dGFjaG1lbnQsIC5saW5rLXBkZiB7XG4gIEBleHRlbmQgLmJvZHlfeGw7XG5cbiAgbWFyZ2luOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICBjb2xvcjogJGJsYWNrO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG5cbiAgQGluY2x1ZGUgaWNvbignYWZ0ZXInLCAnZmlsZS1nZW5lcmljJykge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgY29sb3I6ICRncmlnaW87XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgJjpob3ZlciB7IGNvbG9yOiAkZ3JpZ2lvOyB9XG4gIH1cbn1cbi5saW5rLXBkZiB7IEBpbmNsdWRlIGljb24oJ2FmdGVyJywgJ2ZpbGUtcGRmJyk7IH1cblxuLmxpbmstdW5kZXJsaW5lIHtcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSk7XG4gIH1cbn1cbiIsIi8qKlxyXG4gKiBHZXN0aW9uZSBoYW1idXJnZXIgbWVudVxyXG4gKiBMaWJyZXJpYSBkaSByaWZlcmltZW50bzogaHR0cHM6Ly9naXRodWIuY29tL2thcG9rby9kZWxpY2lvdXMtaGFtYnVyZ2Vyc1xyXG4gKiBEZW1vIHN0aWxpOiBodHRwczovL2thcG9rby5naXRodWIuaW8vZGVsaWNpb3VzLWhhbWJ1cmdlcnMvXHJcbiAqL1xyXG5cclxuJGhhbWJ1cmdlci1zaXplOiA0MHB4OyAvLyBTZXQgYm90aCB3aWR0aCBhbmQgaGVpZ2h0XHJcbkBpbXBvcnQgXCJoYW1idXJnZXJzL2hhbWJ1cmdlcnNcIjtcclxuIiwiLyohXHJcbiAqIGRlbGljaW91cy1oYW1idXJnZXJzXHJcbiAqIEBkZXNjcmlwdGlvbiBCZWF1dGlmdWwgU0FTUyBwb3dlcmVkIGhhbWJ1cmdlciBtZW51IHRvZ2dsZSBidXR0b25zXHJcbiAqIEBhdXRob3IgS2FzcGVyIEtvbWFuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXBva28vZGVsaWNpb3VzLWhhbWJ1cmdlcnNcclxuICovXHJcblxyXG5AaW1wb3J0IFwiYmFzZVwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9kZWZhdWx0XCI7XHJcbi8vQGltcG9ydCBcImFuaW1hdGlvbnMvY3Jpc3MtY3Jvc3NcIjtcclxuLy9AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcHBsZVwiO1xyXG4vL0BpbXBvcnQgXCJhbmltYXRpb25zL2Fycm93XCI7XHJcbi8vQGltcG9ydCBcImFuaW1hdGlvbnMvYXJyb3ctcmlnaHRcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvc3BpblwiO1xyXG4vL0BpbXBvcnQgXCJhbmltYXRpb25zL2NvbGxhcHNlXCI7XHJcbi8vQGltcG9ydCBcImFuaW1hdGlvbnMvbWluaW1hbFwiO1xyXG4vL0BpbXBvcnQgXCJhbmltYXRpb25zL2RpdmVcIjtcclxuLy9AaW1wb3J0IFwiYW5pbWF0aW9ucy9zdGFja1wiO1xyXG4vL0BpbXBvcnQgXCJhbmltYXRpb25zL2NvbnZlcmdlXCI7XHJcbi8vQGltcG9ydCBcImFuaW1hdGlvbnMvdHdpc3RcIjtcclxuLy9AaW1wb3J0IFwiYW5pbWF0aW9ucy9tYWduZXRpY1wiO1xyXG4vL0BpbXBvcnQgXCJhbmltYXRpb25zL2Nob3BcIjtcclxuLy9AaW1wb3J0IFwiYW5pbWF0aW9ucy9wYXJhbGxlbFwiO1xyXG4vL0BpbXBvcnQgXCJhbmltYXRpb25zL3ZlcnRpY2FsXCI7XHJcbi8vQGltcG9ydCBcImFuaW1hdGlvbnMvcHVzaFwiO1xyXG4vL0BpbXBvcnQgXCJhbmltYXRpb25zL2ZsYXR0ZW5cIjtcclxuLy9AaW1wb3J0IFwiYW5pbWF0aW9ucy9zaW1wbGVcIjtcclxuLy9AaW1wb3J0IFwiYW5pbWF0aW9ucy9zaGVsZlwiO1xyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XHJcbkB1c2UgXCJzYXNzOmxpc3RcIjtcclxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5cclxuQG1peGluIGhhbWJ1cmdlci1iYXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1iYXItYm9yZGVyLXJhZGl1cztcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogJGhhbWJ1cmdlci10aGlja25lc3M7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuYnV0dG9uLiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfSB7XHJcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItc2l6ZTtcclxuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLXdpZHRoO1xyXG59XHJcblxyXG5kaXYuI3skaGFtYnVyZ2VyLWNsYXNzLW5hbWV9IHtcclxuICAgIGhlaWdodDogJGhhbWJ1cmdlci1zaXplIC0gKCRoYW1idXJnZXItYm9yZGVyLXdpZHRoICogMik7XHJcbiAgICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aCAtICgkaGFtYnVyZ2VyLWJvcmRlci13aWR0aCAqIDIpO1xyXG5cclxuICAgID4gLmlubmVyIHtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgIH1cclxufVxyXG5cclxuLiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfSB7XHJcbiAgICAkYmFzZS10cmFuc2l0aW9uczogb3BhY2l0eSAkaGFtYnVyZ2VyLW9wYWNpdHktdHJhbnNpdGlvbi1zcGVlZCAkaGFtYnVyZ2VyLWVhc2luZyxcclxuICAgICAgICBiYWNrZ3JvdW5kICRoYW1idXJnZXItYmFja2dyb3VuZC10cmFuc2l0aW9uLXNwZWVkICRoYW1idXJnZXItZWFzaW5nO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogJGhhbWJ1cmdlci1ib3JkZXItd2lkdGggJGhhbWJ1cmdlci1ib3JkZXItY29sb3Igc29saWQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWJvcmRlci1yYWRpdXM7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQ6IGluaGVyaXQ7XHJcbiAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLW9wYWNpdHk7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZztcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogbGlzdC5hcHBlbmQoJGJhc2UtdHJhbnNpdGlvbnMsICRoYW1idXJnZXItZXh0cmEtdHJhbnNpdGlvbi1ydWxlcyk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1iYWNrZ3JvdW5kLWhvdmVyO1xyXG4gICAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItb3BhY2l0eS1ob3ZlcjtcclxuXHJcbiAgICAgICAgc3Bhbi5iYXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAuaW5uZXIsXHJcbiAgICAgICAgc3Bhbi5iYXIge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuI3skaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lfSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1iYWNrZ3JvdW5kLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgc3Bhbi5iYXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLmlubmVyLFxyXG4gICAgICAgIHNwYW4uYmFyIHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiAuaW5uZXIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiBtYXRoLmRpdigtJGhhbWJ1cmdlci10aGlja25lc3MsIDIpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuLmJhciB7XHJcbiAgICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyLWJhcjtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICB0b3A6IC0kaGFtYnVyZ2VyLWJhci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICB0b3A6ICRoYW1idXJnZXItYmFyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiAwOyB9XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vLyBWYXJpYWJsZXNcbiRoYW1idXJnZXItY2xhc3MtbmFtZTogXCJoYW1idXJnZXJcIiAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWNsYXNzLW5hbWU6IFwiYWN0aXZlXCIgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXNpemU6IDUwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXdpZHRoOiAkaGFtYnVyZ2VyLXNpemUgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXRoaWNrbmVzczogMnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1jb2xvcjogI0ZGRiAhZGVmYXVsdDtcbiRoYW1idXJnZXItY29sb3ItaG92ZXI6ICRoYW1idXJnZXItY29sb3IgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWNvbG9yLWFjdGl2ZTogJGhhbWJ1cmdlci1jb2xvciAhZGVmYXVsdDtcbiRoYW1idXJnZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhY2tncm91bmQtYWN0aXZlOiAkaGFtYnVyZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhY2tncm91bmQtaG92ZXI6ICRoYW1idXJnZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRoYW1idXJnZXItYmFja2dyb3VuZC10cmFuc2l0aW9uLXNwZWVkOiAwLjJzICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLW9wYWNpdHktaG92ZXI6IDEgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLW9wYWNpdHktdHJhbnNpdGlvbi1zcGVlZDogMC4ycyAhZGVmYXVsdDtcbiRoYW1idXJnZXItcGFkZGluZzogbWF0aC5yb3VuZChtYXRoLmRpdigkaGFtYnVyZ2VyLXNpemUsIDEwKSkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYXItc3BhY2luZzogbWF0aC5yb3VuZChtYXRoLmRpdigkaGFtYnVyZ2VyLXNpemUsIDUpKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkOiAxICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1leHRyYS10cmFuc2l0aW9uLXJ1bGVzOiAmICFkZWZhdWx0O1xuXG4vLyBBbmltYXRpb24gdHlwZXMuIFVzZSB0aGlzIGFzIGEgdmFyaWFibGUgYW5kIHJlbW92ZSB0aGUgYW5pbWF0aW9uc1xuLy8geW91IGRvbid0IG5lZWQgc28gdGhleSB3b24ndCBnZXQgY29tcGlsZWQgaW4geW91ciBjc3MuXG4kaGFtYnVyZ2VyLWFuaW1hdGlvbnM6IChcbiAgICAvL1wiYXBwbGVcIixcbiAgICAvL1wiYXJyb3dcIixcbiAgICAvL1wiYXJyb3ctcmlnaHRcIixcbiAgICAvL1wiY29sbGFwc2VcIixcbiAgICAvL1wiY29udmVyZ2VcIixcbiAgICAvL1wiY3Jpc3MtY3Jvc3NcIixcbiAgICAvL1wiZGVmYXVsdFwiLFxuICAgIC8vXCJkaXZlXCIsXG4gICAgLy9cIm1pbmltYWxcIixcbiAgICBcInNwaW5cIixcbiAgICAvL1wic3RhY2tcIixcbiAgICAvL1widHdpc3RcIixcbiAgICAvL1wibWFnbmV0aWNcIixcbiAgICAvL1wiY2hvcFwiLFxuICAgIC8vXCJwYXJhbGxlbFwiLFxuICAgIC8vXCJ2ZXJ0aWNhbFwiLFxuICAgIC8vXCJwdXNoXCIsXG4gICAgLy9cImZsYXR0ZW5cIixcbiAgICAvL1wic2ltcGxlXCIsXG4gICAgLy9cInNoZWxmXCJcbikgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhci1zaXplOiAkaGFtYnVyZ2VyLXNpemUgLSAoJGhhbWJ1cmdlci1wYWRkaW5nICogMikgLSAoJGhhbWJ1cmdlci1ib3JkZXItd2lkdGggKiAyKTtcbiRoYW1idXJnZXItZWFzaW5nOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWVhc2luZy1pbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWVhc2luZy1vdXQ6IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpICFkZWZhdWx0O1xuXG4vLyBcIkNvbnN0YW50c1wiXG4kcm9vdC10d286IG1hdGguc3FydCgyKTtcbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xyXG5cclxuQGlmIGluZGV4KCRoYW1idXJnZXItYW5pbWF0aW9ucywgc3Bpbikge1xyXG4gICAgLiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfS0tc3BpbiB7XHJcbiAgICAgICAgJG9yaWdpbi1vZmZzZXQ6IDAuNDtcclxuICAgICAgICAkb2Zmc2V0LWZhY3RvcjogMSAtIDIgKiAkb3JpZ2luLW9mZnNldDtcclxuICAgICAgICAkb2Zmc2V0LXk6IG1hdGguZGl2KG1hdGguZGl2KCRoYW1idXJnZXItYmFyLXNpemUsIDIpLCAkcm9vdC10d28pICogJG9mZnNldC1mYWN0b3I7XHJcbiAgICAgICAgJG9mZnNldC14LWE6IG1hdGguZGl2KCRoYW1idXJnZXItYmFyLXNpemUsIDIpICogJG9mZnNldC1mYWN0b3IgKyAkb2Zmc2V0LXk7XHJcbiAgICAgICAgJG9mZnNldC14LWI6IG1hdGguZGl2KCRoYW1idXJnZXItYmFyLXNpemUsIDIpICogJG9mZnNldC1mYWN0b3IgLSAkb2Zmc2V0LXk7XHJcblxyXG4gICAgICAgID4gLmlubmVyIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIG1hdGguZGl2KDAuNXMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKSAkaGFtYnVyZ2VyLWVhc2luZztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4uYmFyIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjpcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSBtYXRoLmRpdigwLjRzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCkgJGhhbWJ1cmdlci1lYXNpbmcsXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5IG1hdGguZGl2KDAuMnMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKVxyXG4gICAgICAgICAgICAgICAgJGhhbWJ1cmdlci1lYXNpbmcgbWF0aC5kaXYoMC4ycywgJGhhbWJ1cmdlci1hbmltYXRpb24tc3BlZWQpO1xyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlM2QoMCwgLSRoYW1idXJnZXItYmFyLXNwYWNpbmcsIDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogKDEwMCUgKiAkb3JpZ2luLW9mZnNldCkgNTAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWJhci1zcGFjaW5nLCAwKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICgxMDAlICogJG9yaWdpbi1vZmZzZXQpIDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi4jeyRoYW1idXJnZXItYWN0aXZlLWNsYXNzLW5hbWV9IHtcclxuICAgICAgICAgICAgPiAuaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUzZCgwLCAtJGhhbWJ1cmdlci10aGlja25lc3MsIDApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuLmJhciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSBtYXRoLmRpdigwLjNzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCkgJGhhbWJ1cmdlci1lYXNpbmcgMC4xcyxcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IG1hdGguZGl2KDAuMnMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKSAkaGFtYnVyZ2VyLWVhc2luZztcclxuXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCgtJG9mZnNldC14LWEsIC0kb2Zmc2V0LXksIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKC0kb2Zmc2V0LXgtYiwgLSRvZmZzZXQteSwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIEdlc3Rpb25lIG91dGRhdGVkIGJyb3dzZXJcclxuICogTGlicmVyaWEgZGkgcmlmZXJpbWVudG86IGh0dHBzOi8vZ2l0aHViLmNvbS9taWtlbWFjY2FuYS9vdXRkYXRlZC1icm93c2VyLXJld29ya1xyXG4gKiBEZW1vOiBodHRwczovL21pa2VtYWNjYW5hLmdpdGh1Yi5pby9vdXRkYXRlZC1icm93c2VyLXJld29yay9cclxuICovXHJcblxyXG4gI291dGRhdGVkIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwIDI0cHggMjRweCAwO1xyXG5cdHotaW5kZXg6IDE1MDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcclxuXHJcblx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHQudmVydGljYWwtY2VudGVyIHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0aDYge1xyXG4gICAgbWFyZ2luOiAxMnB4IDA7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcblx0fVxyXG5cclxuXHRwIHtcclxuICAgIG1hcmdpbjogMDtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDEyKTtcclxuXHR9XHJcblxyXG5cdCNidXR0b25VcGRhdGVCcm93c2VyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDIzMHB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcclxuXHRcdHBhZGRpbmc6IDEwcHggMjBweDtcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubGFzdCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwcHg7XHJcblx0XHRyaWdodDogNzBweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG5cdH1cclxuXHJcblx0Lmxhc3RbZGlyPXJ0bF0ge1xyXG5cdFx0bGVmdDogMjVweCAhaW1wb3J0YW50O1xyXG5cdFx0cmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdCNidXR0b25DbG9zZVVwZGF0ZUJyb3dzZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuI291dGRhdGVkLmZ1bGxzY3JlZW4geyBoZWlnaHQ6IDEwMCU7IH1cclxuIiwiLyoqXHJcbiAqIEZhbmN5Ym94IGRlaSBtYW5hZ2VyXHJcbiAqIEluIF9tYW5hZ2VyLnNjc3MgdmllbmUgZWZmZXR0dWF0byBsJ292ZXJyaWRlIGRlbCBjb250ZW51dG8sIHF1aSBkZWxsbyBzdGlsZSBkZWxsYSBmYW5jeWJveFxyXG4gKi9cclxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIge1xyXG4gIC5mYW5jeWJveC1zbGlkZS0taHRtbCB7IHBhZGRpbmc6IDA7IH1cclxuXHJcbiAgLmZhbmN5Ym94LWNvbnRlbnQge1xyXG4gICAgbWF4LWhlaWdodDogODB2aDtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuXHJcbiAgICBAZXh0ZW5kIC5zY3JvbGxlcjtcclxuICB9XHJcblxyXG4gIC5mYW5jeWJveC10b29sYmFyIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuICAuZmFuY3lib3gtYnV0dG9uLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2UsXHJcbiAgLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgaGVpZ2h0OiA1NnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIHNwYW46YmVmb3JlIHtcclxuICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNTZweDtcclxuICAgIH1cclxuXHJcbiAgICBzdmcgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgfVxyXG4gIC5mYW5jeWJveC1idXR0b24uZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDM2cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgc3BhbjpiZWZvcmUge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLmZhbmN5Ym94LWNvbnRlbnQgeyBtYXgtaGVpZ2h0OiA5MHZoOyB9XHJcblxyXG4gICAgLmZhbmN5Ym94LWJ1dHRvbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XHJcbiAgICAgIHRvcDogMTBweDtcclxuICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogRmFuY3lib3ggZGVsbGEgcmljZXJjYVxyXG4gKiBBcGVydGEgdHJhbWl0ZSBidXR0b24gaW4gaGVhZGVyXHJcbiAqL1xyXG4uZmFuY3lib3gtY29udGFpbmVyLmZhbmN5U2VhcmNoIHtcclxuICAuZmFuY3lib3gtaW5mb2JhciwgLmZhbmN5Ym94LXRvb2xiYXIsIC5mYW5jeWJveC1uYXZpZ2F0aW9uLFxyXG4gIC5mYW5jeWJveC1idXR0b24sIC5mYW5jeWJveC1jYXB0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mYW5jeWJveC1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbn1cclxuXHJcbiIsIi5zd2lwZXJQYXJhZ3JhcGgsIC5wYXJhZ3JhcGgtLXR5cGUtLW1zZy1jLWhpZ2hsaWdodHMge1xuXG4gIC5zd2lwZXJXcmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICBjb2xvcjogJGdyaWdpbztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JpZ2lvO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLy8gJjpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuXG4gICAgJjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7fVxuICB9XG4gIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgaWNvbignYmVmb3JlJywgJ2Fycm93LXNpbXBsZS1sZWZ0Jyk7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgaWNvbignYmVmb3JlJywgJ2Fycm93LXNpbXBsZS1yaWdodCcpO1xuICB9XG5cblxuICAvLyBQb3NpemlvbmUgcGFnaW5hdGlvbiBpbiBiYXNlIGFsIHRpcG9cbiAgLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gIC8vIFBhZ2luYXRpb24gYnVsbGV0XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luOiAwIDZweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAmOm9ubHktY2hpbGQgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBtYXJnaW46IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB9XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmU6YmVmb3JlIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG4gIH1cbn1cblxuLy8gU3dpcGVyIGNvbiBlZmZldHRvIGZhZGUgLSBmaXggb3BhY2l0eSBzdWxsZSBzbGlkZSBwZXIgbW9iaWxlXG4uc3dpcGVyLnN3aXBlci1mYWRlLnN3aXBlci1pbml0aWFsaXplZCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5zd2lwZXItc2xpZGUgeyBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS1hY3RpdmUgeyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLnNlbGVjdDItY29udGFpbmVyICogeyBvdXRsaW5lOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCxcbi5zZWxlY3QyLWNvbnRhaW5lci0tYXJjaGl2ZU1lbnUge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgLy8gSWNvbmEgbGF0ZXJhbGVcbiAgLmRyb3Bkb3duLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHotaW5kZXg6IDA7IC8vIDAgPT4gdHV0dG8gY2xpY2NhYmlsZS4gMSA9PiBwcm9ibGVtYSBldmVudHVhbGUgY29uIHNmb25kb1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIEBpbmNsdWRlIGljb24oXCJiZWZvcmVcIiwgXCJ0cmlhbmdsZS11cFwiKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgZm9udC1zaXplOiA4cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNTJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk1ODtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzIHsgb3V0bGluZTogMnB4IHNvbGlkICRncmlnaW87IH1cbiAgc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIEBleHRlbmQgLmJvZHlfeGw7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA4MHB4IDAgMjBweCAhaW1wb3J0YW50O1xuXG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4ICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICBzcGFuLnNlbGVjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7fVxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgeyBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IH1cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LCAuZHJvcGRvd24td3JhcHBlciB7XG4gICAgICAmOmJlZm9yZSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgfVxuICB9XG59XG5cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDIwICFpbXBvcnRhbnQ7IC8vIFRlbmVyZSBzb3R0byBoZWFkZXJcblxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgIEBleHRlbmQgLmJvZHlfeGw7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDIwcHg7XG5cbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICYuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRncmlnaW87XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGdyaWdpbztcbiAgfVxuXG4gICYuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUgeyBib3gtc2hhZG93OiBub25lOyB9XG5cbiAgJi5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7IGJveC1zaGFkb3c6IG5vbmU7IH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzLC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLnNlbGVjdDItcmVzdWx0cywuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHsgbWF4LWhlaWdodDogMzAwcHggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFN0aWxlIHBlciBNZW51IEFyY2hpdmlvIChEcnVwYWwuYmVoYXZpb3JzLmFyY2hpdmVWaWV3QmVoYXZpb3IpXG4uc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogJGdyaWdpbztcblxuICAuZHJvcGRvd24td3JhcHBlcjpiZWZvcmUgeyBjb2xvcjogJHdoaXRlOyB9XG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzIHsgb3V0bGluZTogMnB4IHNvbGlkICRibGFjazsgfVxuICBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuICAmLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXgtd2lkdGg6IDM0MHB4OyB9XG59XG5cbi8vIE1vZGlmY2Egc29sbyBhbCB3ZWIgZm9ybVxuLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSB7XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XG4gICAgLy8gSWNvbmEgbGF0ZXJhbGVcbiAgICAuZHJvcGRvd24td3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBpY29uKFwiYmVmb3JlXCIsIFwidHJpYW5nbGUtdXBcIikge1xuICAgICAgICBjb2xvcjogJHJvc3NvO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpmb2N1cyB7IG91dGxpbmU6IDJweCBzb2xpZCAkcm9zc287IH1cbiAgICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgei1pbmRleDogMjAgIWltcG9ydGFudDsgLy8gVGVuZXJlIHNvdHRvIGhlYWRlclxuXG4gICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAmLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6ICRyb3NzbztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRyb3NzbztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59XG4iLCJoZWFkZXIucGFnZUhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRncmlnaW9tZW51O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgei1pbmRleDogNDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLy8gUGVyIG1tZW51XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAmLmhlYWRyb29tLS10b3AgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApICFpbXBvcnRhbnQ7IH1cblxuICAuaGVhZGVyTWFpbkdyaWQgeyB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuXG4gIGEubG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgLy8gdHJhbnNpdGlvbjogYWxsIC41cztcblxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgLy8gdHJhbnNpdGlvbjogYWxsIC41cztcblxuICAgICAgLy8gKiB7IHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgICB9XG5cbiAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgJjphY3RpdmUsICY6dmlzaXRlZCB7IGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbiAgYS5sb2dvV2hpdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLy8gUGVyIHV0ZW50ZSBsb2dnYXRvLCBwZXIgZXZlbnR1YWxlIGhlYWRyb29tXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApe1xuICAgIC50b29sYmFyLWZpeGVkLnRvb2xiYXItdmVydGljYWwudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICBsZWZ0OiAyMzlweDtcbiAgICB9XG4gICAgLnRvb2xiYXItdmVydGljYWwgJi5oZWFkcm9vbS0tdG9wIHtcbiAgICAgIHRvcDogMzlweDtcbiAgICB9XG4gICAgLm1tLW9wZW5pbmcgLnRvb2xiYXItdmVydGljYWwgJi5oZWFkcm9vbS0tdG9wIHsgdG9wOiAwOyB9XG4gICAgLnRvb2xiYXItZml4ZWQgJiwgLnRvb2xiYXItaG9yaXpvbnRhbCAmLCAudG9vbGJhci10cmF5LW9wZW4gJiB7IHRvcDogMzlweDsgfVxuICAgIC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gJiB7IHRvcDogODFweDsgfVxuICAgICYuaGVhZHJvb20tLW5vdC10b3B7XG4gICAgICAudG9vbGJhci1maXhlZCAmLCAudG9vbGJhci1ob3Jpem9udGFsICYsIC50b29sYmFyLXRyYXktb3BlbiAmIHsgdG9wOiAzOXB4OyB9XG4gICAgICAudG9vbGJhci1ob3Jpem9udGFsLnRvb2xiYXItdHJheS1vcGVuICYgeyB0b3A6IDgxcHg7IH1cbiAgICB9XG4gIH1cblxuICAuaGVhZGVyTWFpblJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAuaGVhZGVyTWFpblJpZ2h0VG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gIC5zZWFyY2hUb2dnbGVyIHtcbiAgICBtYXJnaW46IDEwcHggMTBweCAwIDA7XG5cbiAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvZ2dsZU1lbnVNb2JpIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLy8gJjpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuICB9XG5cbiAgLy8gTWVudSBpbiBhbHRvIGEgZGVzdHJhIGNvbiBmb3JuaXRvcmkgZSBjb250YXR0aVxuICAuYmxvY2stc3VwaGVhZGVyLW1lbnUtc3RhbmRhcmQge1xuICAgIHVsLm1lbnUgbGkgYSB7XG4gICAgICBAZXh0ZW5kIC5ib2R5X3M7XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC8vY29sb3I6ICRncmlnaW87XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuXG4gICAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGVyIG1tZW51XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYS5sb2dvIHtcbiAgICAgIG1hcmdpbjogMTVweCAwO1xuXG4gICAgICBzdmcgeyBtYXgtaGVpZ2h0OiA2MHB4OyB9XG4gICAgfVxuXG4gICAgLnNlYXJjaFRvZ2dsZXIgeyBtYXJnaW46IDI1cHggMTVweCAwIDA7IH1cblxuICAgIC50b2dnbGVNZW51TW9iaSB7IG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuc2VhcmNoVG9nZ2xlciB7IG1hcmdpbjogMDsgfVxuXG4gICAgYS5sb2dvIHtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuXG4gICAgICBzdmcgeyBtYXgtaGVpZ2h0OiA4MHB4OyB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCBkb3duXG4gKiAtIE5hc2NvbmRvIGxhIGJhcnJhIGluIGFsdG8gZGVpIGZvbGxvd1xuICogLSBSaWR1Y28gbGEgZGltZW5zaW9uZSBkZWwgbG9nbyBlIGxvIHNwYXppb1xuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyaWdpb21lbnU7XG5cbiAgLnNlYXJjaFRvZ2dsZXIgc3BhbiB7IGNvbG9yOiAkd2hpdGU7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYS5sb2dvIHsgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICBzdmcge1xuICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICN0ZXh0IHsgZmlsbDogJGJsYWNrICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBIZWFkcm9vbSAtIG1lbnUgbm9uIGF0dGFjY2F0byBpbiBwYWdpbmEgbWEgc2Nyb2xsIHVwXG4gKiBOb24gdmFyaW8gbnVsbGFcbiAqL1xuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVEb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyaWdpb21lbnU7XG5cbiAgLnNlYXJjaFRvZ2dsZXIgc3BhbiB7IGNvbG9yOiAkd2hpdGU7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYS5sb2dvIHsgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICBzdmcge1xuICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICN0ZXh0IHsgZmlsbDogJGJsYWNrICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSW4gaG9tZXBhZ2UgKGUgcXVhbmRvIG5lY2Vzc2FyaW8pIGNhbWJpbyBpIGNvbG9yaSBkZWdsaSBlbGVtZW50aVxuLy8gUXVlc3RvIHNlIG5vbiBobyBhcGVydG8gTU1lbnVcbmJvZHkucGF0aC1mcm9udHBhZ2U6bm90KC5vcGVuTW9iaU1lbnUpLFxuYm9keS5oZWFkZXJTbGlkZXI6bm90KC5vcGVuTW9iaU1lbnUpIHtcbiAgaGVhZGVyLnBhZ2VIZWFkZXI6bm90KC5oZWFkcm9vbS0tbm90LXRvcCk6bm90KDpob3Zlcik6bm90KDpoYXMoLnRibS1pdGVtLS1oYXMtZHJvcGRvd24ub3BlbikpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGEubG9nb0Jhc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHN2ZyAjdGV4dCB7IGZpbGw6ICR3aGl0ZTsgfVxuICAgIH1cbiAgICBhLmxvZ29XaGl0ZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4gICAgLnNlYXJjaFRvZ2dsZXIgc3BhbiB7IGNvbG9yOiAkd2hpdGU7IH1cblxuICAgIC50b2dnbGVNZW51TW9iaSBzcGFuLmJhciB7IGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgfVxuXG4gICAgLmJsb2NrLXN1cGhlYWRlci1tZW51LXN0YW5kYXJkIHVsLm1lbnUgbGkgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmhvdmVyIHsgY29sb3I6ICRncmlnaW87IH1cbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyBDbGFzc2kgY3VzdG9tIHBlciBpbnRlcnJvbXBlcmUgbCdvdmVyZmxvd1xyXG5ib2R5LnN0b3BPdmVyZmxvdyB7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuYm9keS5zdG9wT3ZlcmZsb3dYIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XHJcbmJvZHkuc3RvcE92ZXJmbG93WSB7IG92ZXJmbG93LXk6IGhpZGRlbjsgfVxyXG5cclxuLy8gU3BhemlvIGN1c3RvbSBzdSB0dXR0ZSBsZSBwYWdpbmUgZG92ZSBub24gw6ggYW5udWxsYXRvXHJcbiNtYWluLnBhZ2VNYWluIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXRvcDogNzBweDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogMTAwcHg7IH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBtYXJnaW4tdG9wOiAxNDFweDsgfVxyXG59XHJcblxyXG4vLyBDbGFzc2UgY3VzdG9tIG5lbCBib2R5IHBlciByaW11b3ZlcmUgbG8gc3BhemlvIGluIGFsdG9cclxuYm9keS5oZWFkZXJTbGlkZXIgI21haW4ucGFnZU1haW4ge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQZXIgb3ZlcmZsb3cgZGkgQU9TXHJcbiAqIE5vbiBsbyBnZXN0aWFtbyBzb2xvIHN1bGxhIEhQXHJcbiAqIC0gYyfDqCBsJ2VsZW1lbnRvIHN0aWNreVxyXG4gKiAtIG5vbiBjJ8OoIG5lc3N1biBBT1MgZGEgbGVmdCBlIHJpZ2h0XHJcbiAqL1xyXG5ib2R5Om5vdCgucGF0aC1mcm9udHBhZ2UpIHtcclxuICAuYmxvY2stdHQtZm91bmRhdGlvbi1jb250ZW50LmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XHJcbn1cclxuIiwiLy8gTmFzY29uZG8gbW1lbnUgZmluY2jDqCBub24gYXZ2aWF0b1xuI21vYmlsZS1tZW51IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG5cbiAgJi5tbS1tZW51IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCAtIDYwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAmLm1tLW1lbnUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gOTBweCk7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDAgLSA5MHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU3UgZGVza3RvcCBldml0byBjaGUgbW1lbnUgdmFkYSBzb3ByYSBhbCBtZW51IGFtbWluaXN0cmF0aXZvXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gIC5tbS1wYWdlLm1tLXNsaWRlb3V0IHsgei1pbmRleDogYXV0byAhaW1wb3J0YW50OyB9XG59XG5cbi8vIE92ZXJyaWRlIGRlbCBmaWxlIC5jc3MgcmljaGlhbWF0byBkYWwgcGFyZW50XG4ub2ZmLWNhbnZhcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vLyBPdmVybGF5IHNvcHJhIGEgcGFnaW5hXG4ubW0td3JhcHBlcl9fYmxvY2tlciB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi8vIFN0aWxpenphemlvbmUgbW1lbnVcbi5tbS1tZW51IHtcbiAgbWFyZ2luLXRvcDogNjBweDsgLy8gQWx0ZXp6YSBoZWFkZXJcbiAgei1pbmRleDogMTA7XG5cbiAgLy8gU2ZvbmRvIHBhbm5lbGxpXG4gIC5tbS1wYW5lbCB7IGJhY2tncm91bmQ6ICR3aGl0ZTsgfVxuXG4gIC8vIEFsdGV6emEgcGFubmVsbGkgcGVyIGxhIGZvb3RlciBuYXZiYXJcbiAgJi5tbS1tZW51X25hdmJhcl9ib3R0b20tMSAubW0tcGFuZWxzIHsgYm90dG9tOiAzMnB4OyB9XG5cbiAgLy8gRWxlbWVudG8gY29uIHRlc3RvIC8gbGlua1xuICAubW0tbGlzdGl0ZW1fX3RleHQge1xuICAgIHBhZGRpbmc6IDIwcHggMzBweCAyMHB4IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5RjQ7XG4gIH1cblxuICAvLyBMaW5rIGRpIG5hdmlnYXppb25lXG4gIGEsIGE6YWN0aXZlLCBhOmhvdmVyLCBhOmxpbmssIGE6dmlzaXRlZCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgYS5pdG0tbWVudS1tYWluLmxpbmstZ3J1cHBvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICRzb2xlRGlzcGxheTtcbiAgICBmb250LXdlaWdodDogJHNvbGVEaXNCb2xkO1xuICAgIGNvbG9yOiAkZ3JpZ2lvICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBpY29uKCdhZnRlcicsICdib29rJykge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gVm9jZSBjb3JyZW50ZVxuICBhLlNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkZ3JpZ2lvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBGcmVjY2lhIHBlciBzdWJtZW51XG4gIC5tbS1saXN0aXRlbTphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgYS5tbS1idG5fbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjphZnRlcnsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgQGluY2x1ZGUgaWNvbignYmVmb3JlJywgJ2Fycm93LWZvcndhcmQnKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgY29sb3I6ICRncmlnaW87XG4gICAgfVxuICB9XG5cbiAgLy8gRnJlY2NpYSBwZXIgbGl2ZWxsaVxuICAubW0tYnRuOmFmdGVyLCAubW0tYnRuOmJlZm9yZXsgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBIZWFkZXIgY29uIHRpdG9sbyBlIGJhY2tcbiAgLm1tLXBhbmVsLm1tLXBhbmVsX2hhcy1uYXZiYXIge1xuICAgIHBhZGRpbmctdG9wOiA2MnB4O1xuXG4gICAgLm1tLW5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgYmFja2dyb3VuZDogJHJvc2FjaGlhcm87XG5cbiAgICAgIGEubW0tYnRuX3ByZXYge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXG4gICAgICAgICY6YmVmb3JlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIEBpbmNsdWRlIGljb24oJ2FmdGVyJywgJ2Fycm93LWZvcndhcmQnKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDAsIDUwJSk7XG5cbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgY29sb3I6ICRncmlnaW87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYS5tbS1uYXZiYXJfX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcblxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGb290ZXIgY29uIGNhbWJpbyBsaW5ndWEgZSB0ZWxlYm9yc2FcbiAgLm1tLW5hdmJhcnNfYm90dG9tIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5RjQ7XG5cbiAgICAubW0tbmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgICAubW0tbmF2YmFyID4gKiB7IHBhZGRpbmc6IDA7IH1cblxuICAgIC5sYW5nQ2hhbmdlciB1bC5saW5rcyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBsaSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGxpOm5vdCguaXMtYWN0aXZlKTpub3QoLmRpdmlkZXIpIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgYS5sYW5ndWFnZS1saW5rIHtcbiAgICAgICAgQGV4dGVuZCAuYm9keV9tO1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgY29sb3I6ICRncmlnaW87XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgICAgYS5sYW5ndWFnZS1saW5rLmlzLWFjdGl2ZSB7fVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogOTBweDsgLy8gQWx0ZXp6YSBoZWFkZXJcbiAgfVxufVxuXG4vLyBDb2xvcmUgZGkgc2ZvbmRvIHNvcHJhIGFsIGNvbnRlbnV0b1xuLm1tLW1lbnVfb3BlbmVkLm1tLW1lbnVfcGFnZWRpbS1ibGFjayB+IC5tbS13cmFwcGVyX19ibG9ja2VyIHsgYmFja2dyb3VuZDogJHJvc2FjaGlhcm87IH1cblxuLy8gRGltZW5zaW9uZSBkaSBtbWVudSBpbiBwYWdpbmFcbi5tbS1tZW51X29mZmNhbnZhcyB7XG4gIHdpZHRoOiA5MCU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1heC13aWR0aDogNTUwcHg7IH1cbn1cbiIsImZvb3Rlci5wYWdlRm9vdGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICBhIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuICBmaWVsZC0tbmFtZS1ib2R5IHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG5cclxuICAvLyBCbG9jY28gaW50cm9kdXR0aXZvICsgZGF0aSBzb2NpZXRhcmkgKyBtZW51IE1haW4gbmF2IHNwZXp6YXRvXHJcbiAgLmZvb3RlclRvcCB7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDAgMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmlnaW9tZW51O1xyXG4gIH1cclxuICAuZm9vdGVyVG9wTGVmdEFyZWEge31cclxuICAuZm9vdGVyVG9wUmlnaHRBcmVhIHt9XHJcblxyXG4gIC8vIE1lbnUgU29jaWFsICsgbWVudSBQacOoIGRpIHBhZ2luYVxyXG4gIC5mb290ZXJNaWQge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2syNTtcclxuICB9XHJcbiAgLmZvb3Rlck1pZExlZnRBcmVhIHt9XHJcbiAgLmZvb3Rlck1pZFJpZ2h0QXJlYSB7fVxyXG5cclxuICAvLyBCbG9jY28gRGF0aSBzb2NpZXRhcmkgKyBsb2dvXHJcbiAgLmZvb3RlclN1YiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gIH1cclxuICAuZm9vdGVyU3ViTGVmdEFyZWEge31cclxuICAuZm9vdGVyU3ViUmlnaHRBcmVhIHtcclxuICAgIGEubG9nbyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAyMTBweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAgICAgKiB7IHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgLmZvb3RlclRvcExlZnRBcmVhIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgLmZvb3Rlck1pZCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuICAgIC5mb290ZXJTdWIge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBhOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cclxuXHJcbiAgICAuZm9vdGVyVG9wIHsgcGFkZGluZzogODBweCAwIDYwcHg7IH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBCbG9jY28gaW50cm9kdXR0aXZvICsgIERhdGkgc29jaWV0YXJpXHJcbi5ibG9jay10dC1mb3VuZGF0aW9uLWZvb3RlcmludHJvLCAuYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJjb250YXR0aSB7XHJcbiAgLmZpZWxkLS1uYW1lLWJvZHkgcCB7IEBleHRlbmQgLmJvZHlfbDsgfVxyXG59XHJcbi5ibG9jay10dC1mb3VuZGF0aW9uLWZvb3RlcmludHJvIHtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxufVxyXG4uYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJjb250YXR0aSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBwIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBEYXRpIHNvY2lldGFyaVxyXG4uYmxvY2stdHQtZm91bmRhdGlvbi1kYXRpc29jaWV0YXJpIC5maWVsZC0tbmFtZS1ib2R5IHtcclxuICBwIHsgQGV4dGVuZCAuYm9keV9zOyB9XHJcbn1cclxuXHJcblxyXG4uYmxvY2stdHQtZm91bmRhdGlvbi1mb290ZXJpbnRybyxcclxuLmJsb2NrLXR0LWZvdW5kYXRpb24tZm9vdGVyY29udGF0dGksXHJcbi5ibG9jay10dC1mb3VuZGF0aW9uLWRhdGlzb2NpZXRhcmkge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG4iLCIvKipcclxuICogR2VuZXJhemlvbmUgY2xhc3NpIGFkIGhvYyBwZXIgc3BhemlhdHVyZSB0b3AgZSBib3R0b21cclxuICogaXRlbS1tYXJnaW4tdG9wLSogKyBpdGVtLW1hcmdpbi1ib3R0b20tKlxyXG4gKiBMYSBzZWxlY3QgcHXDsiBlc3NlcmUgdnVvdGEgKG5vbmUpIG8gdmFsb3JpenphdGEgY29tZSBzbWFsbCwgbWVkaXVtIGUgbGFyZ2VcclxuICogTGF0byBUd2lnIHZpZW5lIGdlbmVyYXRhIGxhIGNsYXNzZSBkYSBhc3NvY2lhcmVcclxuICovXHJcblxyXG4vKipcclxuICogTWFwcGEgZGVsbGUgc3BhemlhdHVyZVxyXG4gKiBMYSBmdW56aW9uZSBzb3R0b3N0YW50ZSBsZWdnZSBxdWVzdGEgbWFwcGEgZSBnZW5lcmEgbGUgY2xhc3NpIGluIGJhc2UgYWwgYnJlYWtwb2ludCBkaSBGb3VuZGF0aW9uXHJcbiAqL1xyXG4kc3BhY2VzOiAoXHJcbiAgcGFkZGluZzogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgbm9uZTogMHB4LFxyXG4gICAgICBzbWFsbDogMjBweCxcclxuICAgICAgbWVkaXVtOiA1MHB4LFxyXG4gICAgICBsYXJnZTogMTAwcHhcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICBub25lOiAwcHgsXHJcbiAgICAgIHNtYWxsOiA0MHB4LFxyXG4gICAgICBtZWRpdW06IDEwMHB4LFxyXG4gICAgICBsYXJnZTogMjAwcHhcclxuICAgICksXHJcbiAgKSxcclxuICBtYXJnaW46IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgIG5vbmU6IDBweCxcclxuICAgICAgc21hbGw6IDIwcHgsXHJcbiAgICAgIG1lZGl1bTogNTBweCxcclxuICAgICAgbGFyZ2U6IDEwMHB4XHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgbm9uZTogMHB4LFxyXG4gICAgICBzbWFsbDogNDBweCxcclxuICAgICAgbWVkaXVtOiAxMDBweCxcclxuICAgICAgbGFyZ2U6IDIwMHB4XHJcbiAgICApLFxyXG4gIClcclxuKTtcclxuXHJcbi8qKlxyXG4gKiBGdW56aW9uZSBkaSBnZW5lcmF6aW9uZVxyXG4gKiAkdHlwZTogcGFkZGluZyAvIG1hcmdpblxyXG4gKiAkYnJlYWtwb2ludHM6IGFycmF5IGRlaSBicmVha3BvaW50ICh1c2FyZSBzdGVzc2kgbm9taSBkaSBGb3VuZGF0aW9uKVxyXG4gKiAkYnA6IDxzbWFsbCwgbWVkaXVtLCBsYXJnZT4sIHNpbmdvbG8gYnJlYWtwb2ludFxyXG4gKiAkc2l6ZTogPG5vbmUsIHNtYWxsLCBtZWRpdW0sIGxhcmdlPiwgcGVyIGlsIG5vbWUgY2xhc3NlXHJcbiAqICR2YWx1ZTogdmFsb3JlIGluIHBpeGVsIGRhIGFzc2VnbmFyZVxyXG4gKi9cclxuQGVhY2ggJHR5cGUsICRicmVha3BvaW50cyBpbiAkc3BhY2VzIHtcclxuICBAZWFjaCAkYnAsICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcblxyXG4gICAgICAvLyBHZXN0aXNjbyBpbCBzaW5nb2xvIGJyZWFrcG9pbnRcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcclxuICAgICAgICAuaXRlbS0jeyR0eXBlfS10b3AtI3skc2l6ZX0ge1xyXG4gICAgICAgICAgI3skdHlwZX0tdG9wOiAkdmFsdWUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLml0ZW0tI3skdHlwZX0tYm90dG9tLSN7JHNpemV9IHtcclxuICAgICAgICAgICN7JHR5cGV9LWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwiLy8gRm9ybSByaWNlcmNhIC0gY29tdW5pXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWV4cG9zZWRmb3Jtc2VhcmNoc2VhcmNoLXBhZ2UsXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2Uge1xuICBmb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIC8vZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmpzLWZvcm0tdHlwZS10ZXh0ZmllbGQsIC5qcy1mb3JtLXR5cGUtc2VhcmNoLWFwaS1hdXRvY29tcGxldGUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7IHBhZGRpbmc6IDA7IH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLnNlYXJjaC1idG4ge1xuICAgIEBleHRlbmQgLmJ0bi1wcmltYXJ5O1xuXG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkcm9zYTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHJvc2EyO1xuICAgIGNvbG9yOiAkZ3JpZ2lvICFpbXBvcnRhbnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgICB9XG5cbiAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gIH1cbn1cblxuLy8gRm9ybSBhIGNvbXBhcnNhIGluIGZhZGVcbi52aWV3cy1leHBvc2VkLWZvcm0uYmxvY2stZXhwb3NlZGZvcm1zZWFyY2hzZWFyY2gtcGFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLDAuNCk7XG4gIHotaW5kZXg6IDEwMDtcblxuICBsYWJlbCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5zZWFyY2hXcmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IH1cblxuICAuc2VhcmNoVG9nZ2xlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGb3JtIGluIHBhZ2luYVxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1wYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAuc2VhcmNoVG9nZ2xlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4vLyBSaXN1bHRhdGkgZGkgcmljZXJjYVxuLnNlYXJjaC5zZWFyY2hHbG9iYWwudmlld1BhZ2VkIHtcbiAgQGV4dGVuZCAuaXRlbS1tYXJnaW4tYm90dG9tLW1lZGl1bTtcblxuICAudmlld3Mtcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyaWdpbztcblxuICAgID4gKjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG4gIC52aWV3cy1yb3c6Zmlyc3Qtb2YtdHlwZSB7IHBhZGRpbmctdG9wOiAwOyB9XG59XG5cbi8vIFRlbmRpbmEgYSBkaXNjZXNhXG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JpZ2lvICFpbXBvcnRhbnQ7XG5cbiAgLy8gTGlua1xuICAudWktbWVudS1pdGVtLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuICAudWktbWVudS1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JpZ2lvO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICB9XG5cbiAgLy8gVm9jZSBhdHRpdmEsIGhvdmVyXG4gIC51aS1tZW51LWl0ZW0td3JhcHBlci51aS1zdGF0ZS1hY3RpdmUgLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLyoqXHJcbiAqIEJsb2NjaGkgRHJ1cGFsIEJhc2ljIGJsb2NrXHJcbiAqIEdlc3RpdGkgZGEgL2FkbWluL3N0cnVjdHVyZS9ibG9jay9ibG9jay1jb250ZW50XHJcbiAqL1xyXG5cclxuLmJsb2NrLXBhZ2UtdGl0bGUtYmxvY2suYmxvY2stdHQtZm91bmRhdGlvbi1wYWdlLXRpdGxlIHtcclxuICBoMSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxufVxyXG5cclxuYm9keS5wYXRoLWZyb250cGFnZSwgYm9keS5oaWRlSGVhZFRpdGxlIHtcclxuICAuYmxvY2stcGFnZS10aXRsZS1ibG9jay5ibG9jay10dC1mb3VuZGF0aW9uLXBhZ2UtdGl0bGUgeyBAZXh0ZW5kIC5zci1vbmx5OyB9XHJcbn1cclxuIiwiLyoqXG4gKiBCcmVhZGNydW1ic1xuICogQmxvY2NvIGRpIHNpc3RlbWFcbiAqL1xuLmJsb2NrLXN5c3RlbS5ibG9jay1zeXN0ZW0tYnJlYWRjcnVtYi1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICB1bC5icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGdyaWdpbyAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB1bC5icmVhZGNydW1icyB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIH1cbn1cbmJvZHkuaGlkZUhlYWRCcmVhZGNydW1iIC5ibG9jay1zeXN0ZW0uYmxvY2stc3lzdGVtLWJyZWFkY3J1bWItYmxvY2sgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8qKlxuICogQmxvY2NvIGRlbCBjYW1iaW8gbGluZ3VhXG4qL1xuLmJsb2NrLWxhbmd1YWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW4tbGVmdDogMTNweDtcblxuICB1bC5saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAzcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgLy9jb2xvcjogJGdyaWdpbztcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC8vY29sb3I6ICRncmlnaW87XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSW4gaG9tZXBhZ2UgKGUgcXVhbmRvIG5lY2Vzc2FyaW8pIGNhbWJpbyBpIGNvbG9yaSBkZWdsaSBlbGVtZW50aVxuYm9keS5wYXRoLWZyb250cGFnZSwgYm9keS5oZWFkZXJTbGlkZXIge1xuICBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKSB7XG4gICAgLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIGxpIHtcbiAgICAgICY6YWZ0ZXIgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgICAmLmRpdmlkZXIgeyBjb2xvcjogJHdoaXRlOyB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgLy9jb2xvcjogJGdyaWdpbztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmxvY2NoaSBIVE1MIEZ1bGxcblxuLy8gVXNhdGEgaW4gR292ZXJuYW5jZSAtICBDb25zaWdsaW8gZGkgYW1taW5pc3RyYXppb25lIGUgY29taXRhdGlcbi5jb25zQW1taW5pc3RyYXppb25lVGFibGUge1xuICB0YWJsZSB7IEBleHRlbmQgLmdyZWVuSGVhZGVyVGFibGU7IH1cbn1cblxuXG5cblxuLy8gVXNhdGEgaW4gQnVzaW5lc3MgT3ZlcnZpZXdcbi5pbnRyb0xpbmtlclN0cnVjdHVyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBSZWdvbGUgZ2VuZXJpY2hlIHRpdG9saVxuICAuaW50cm9MaW5rZXJUaXRsZSwgLmludHJvTGlua2VyU2VjdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyBUaXRvbG8gcHJpbmNpcGFsZSwgZmFjb2x0YXRpdm8sIHN1IHZlcmRlIHNjdXJvXG4gIC5pbnRyb0xpbmtlclRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJHZlcmRlO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLy8gVGl0b2xvIHNlY29uZGFyaW8sIHNlbXByZSBwcmVzZW50ZSwgc3UgdmVyZGUgY2hpYXJvXG4gIC5pbnRyb0xpbmtlclNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHZlcmRlY2hpYXJvO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuXG4gIC8vIFJlZ29sZSBnZW5lcmljaGUgd3JhcHBlcnNcbiAgLmludHJvTGlua2VySXRlbXMsIC5pbm5lcldyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcblxuICAgIC5pbnRyb0xpbmtlckl0ZW0sIC5pbm5lckl0ZW0ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdyYXBwZXIgcHJpbmNpcGFsZSBjaGUgY29udGllbmUgbGUgY29sb25uZSwgcHXDsiBhdmVyZSBlbGVtZW50aSBkaSBkaWZmZXJlbnRpIGRpbWVuc2lvbmlcbiAgLmludHJvTGlua2VySXRlbXMge31cblxuICAvLyBRdWkgaSBzaW5nb2xpIGVsZW1lbnRpIGhhbm5vIHR1dHRpIGxhIHN0ZXNzYSBsYXJnaGV6emFcbiAgLmlubmVyV3JhcHBlciB7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXlMaWdodDtcbiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXlMaWdodDtcbiAgfVxuXG4gIC8vIEVsZW1lbnRvIGludGVybm8gY29uIG1lZGlhIGUgbGlua1xuICAuaW5uZXJJdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleUxpZ2h0O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYXJ0aWNsZSBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gTGluayBjaGUgY29wcmUgbCdpbW1hZ2luZVxuICBhLmNvdmVyTGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAvLyBMaW5rIGNvbWUgKyBpbiBwYWxsaW5vXG4gIGEuaW50cm9MaW5rZXJMaW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xNXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDMwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXlMaWdodDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcblxuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBpY29uKCdiZWZvcmUnLCAnbW9yZScpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgY29sb3I6ICRncmlnaW87XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZ2lvO1xuICAgICAgJjpiZWZvcmUgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgfVxuXG4gICAgLy8gJjpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuaW50cm9MaW5rZXJJdGVtcywgLmlubmVyV3JhcHBlciB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAuaW50cm9MaW5rZXJJdGVtcyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5pbm5lcldyYXBwZXIgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG4gICAgLmludHJvTGlua2VyU2VjdGlvbiB7IGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTsgfVxuICAgIC5pbm5lckl0ZW0geyBib3JkZXItdG9wOiBub25lOyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYS5pbnRyb0xpbmtlckxpbmsgeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG5cbiAgLy8gU29wcmEgMTI4MHB4XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLmludHJvTGlua2VySXRlbXMsIC5pbm5lcldyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgICAuaW50cm9MaW5rZXJJdGVtcyAuaW50cm9MaW5rZXJJdGVtLmRvdWJsZVNpemUgeyBmbGV4LWdyb3c6IDI7IH1cbiAgfVxuXG4gIC8vIFNvcHJhIDE0NDBweFxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHt9XG59XG4uaW50cm9MaW5rZXJTdHJ1Y3R1cmUuYnVzaW5lc3NPdmVydmlld0ZpcnN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0gYW5kICN7YnJlYWtwb2ludChsYXJnZSBkb3duKX0ge1xuICAgIC5pbnRyb0xpbmtlckl0ZW1zIHtcbiAgICAgIC5tZWRpYVF1b3RpZGlhbm8geyBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgICAubWVkaWFSYWRpbywgLm1lZGlhU3RhbXBhIHsgZmxleC1iYXNpczogNTAlOyB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxufVxuLmJ1c2luZXNzT3ZlcnZpZXdTZWNvbmQge1xuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0gYW5kICN7YnJlYWtwb2ludChsYXJnZSBkb3duKX0ge1xuICAgIC5pbnRyb0xpbmtlckl0ZW1zIC5pbnRyb0xpbmtlckl0ZW0geyBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIC5pbnRyb0xpbmtlclNlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICAuaW5uZXJJdGVtIGFydGljbGUgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gVXNhdGEgaW4gdmFyaSBwdW50aVxuLndoaXRlQm94ZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLndoaXRlQm94IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC53aGl0ZUJveEZvb3RlciB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIHNwYW4uYm94TnVtYmVyIHtcbiAgICBAZXh0ZW5kIC5oZWFkaW5nX2w7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgZm9udC1mYW1pbHk6ICRzb2xlRGlzcGxheTtcbiAgICBmb250LXdlaWdodDogJHNvbGVEaXNCb2xkO1xuICAgIGNvbG9yOiAkZ3JpZ2lvO1xuICB9XG5cbiAgcC5ib3hUaXRsZSB7XG4gICAgQGV4dGVuZCAuaGVhZGluZ194cztcblxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBmb250LWZhbWlseTogJHNvbGVTYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiAkc29sZU1lZGl1bTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgcC5ib3hUZXh0IHtcbiAgICBAZXh0ZW5kIC5ib2R5X3hsO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC53aGl0ZUJveCB7IGZsZXg6IDAgMCAzMy4zMzMzJTsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge31cbn1cbi53aGl0ZUJveGVzLmJveGVzR292ZXJuYW5jZU92ZXJ2aWV3IHtcbiAgLy8gNCBwZXIgcmlnYSBjb24gc3BhemlvIHRyYSBpIGJveFxuXG4gIC53aGl0ZUJveCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cblxuICAuYm94SWNvbiBhcnRpY2xlLm1lZGlhIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgfVxuICB9XG5cbiAgcC5ib3hUaXRsZSB7XG4gICAgQGV4dGVuZCAuYm9keV94bDtcblxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcblxuICAgIC53aGl0ZUJveCB7XG4gICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICB9XG5cbiAgICAuYm94SWNvbiBhcnRpY2xlLm1lZGlhIHtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgIHAuYm94VGl0bGUgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLndoaXRlQm94IHtcbiAgICAgIGZsZXg6IDAgMCBjYWxjKDI1JSAtIDIwcHgpO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxuICB9XG59XG4ud2hpdGVCb3hlcy5ib3hlc0dvdmVybmFuY2VXaGlzdGxlYmxvd2luZyB7XG4gIC8vIDMgcGVyIHJpZ2EgY29uIGJvcmRlclxuXG4gIC53aGl0ZUJveCB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4IDMwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleUxpZ2h0O1xuICB9XG5cbiAgcC5ib3hUZXh0IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLndoaXRlQm94IHsgZmxleDogMCAwIDUwJTsgfVxuICAgIC53aGl0ZUJveDpsYXN0LW9mLXR5cGUgeyBmbGV4OiAwIDAgMTAwJTsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC53aGl0ZUJveCB7IGZsZXg6IDAgMCAzMy4zMzMzJSAhaW1wb3J0YW50OyB9XG4gICAgLndoaXRlQm94IHsgcGFkZGluZzogMzBweCA1MHB4IDUwcHggNTBweDsgfVxuICB9XG59XG5cblxuXG4vLyBTbGlkZXIgRVNHXG4uZXNnU2xpZGVyIHtcblxuICAuZXNnV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgLmVzZ0l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJvc2E7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIH1cblxuICAuZXNnU2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yMHB4O1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JpZ2lvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7IGxlZnQ6IDA7IH1cbiAgICAmOmFmdGVyIHsgcmlnaHQ6IDA7IH1cbiAgfVxuXG4gIC5lc2dMZXR0ZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgZm9udC1mYW1pbHk6ICRzb2xlRGlzcGxheTtcbiAgICBmb250LXdlaWdodDogJHNvbGVEaXNCb2xkO1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmVzZ1RleHQge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG5cbiAgLmVzZ0l0ZW0uYWN0aXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleUxpZ2h0O1xuICAgIGN1cnNvcjogYXV0bztcblxuICAgIC5lc2dMZXR0ZXIge1xuICAgICAgZm9udC1zaXplOiAxMDRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDRweDtcbiAgICAgIGNvbG9yOiAkZ3JpZ2lvO1xuICAgIH1cblxuICAgIC5lc2dUZXh0IHtcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5lc2dTZXBhcmF0b3IgeyBvcGFjaXR5OiAxOyB9XG4gIH1cblxuICAvLyA+IDY0MHB4XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7fVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTgwcHgpIHtcbiAgICAuZXNnV3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5lc2dJdGVtIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgaGVpZ2h0OiAzMDBweDsgLy8gMzgwIHF1YW5kbyBhcGVydG9cbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgICAgLy8gcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICAvLyBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICB9XG5cbiAgICAuZXNnU2VwYXJhdG9yIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC5lc2dMZXR0ZXIgeyBwYWRkaW5nOiAwIDQwcHg7IH1cblxuICAgIC5lc2dUZXh0IHsgcGFkZGluZzogMjBweCA2MHB4IDIwcHggMDsgfVxuXG4gICAgLmVzZ0l0ZW0uYWN0aXZlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAzODBweDtcblxuICAgICAgLmVzZ0xldHRlciB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICAgICAgfVxuXG4gICAgICAuZXNnVGV4dCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPiAxMDI0cHhcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge31cblxuICAvLyA+IDEyODBweFxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge31cblxufVxuIiwiLyoqXG4gKiBCbG9jY28gU3Rha2Vob2xkZXJFbmdhZ2VtZW50QmxvY2tcbiAqIFN0YW1wYXRvIGluIGdydXBwbzI0L3RlbXBsYXRlcy9zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrLmh0bWwudHdpZ1xuICogSW50ZXJhdHRpdml0w6AgaW4ganMvYmxvY2tzLmpzXG4gKi9cbi5ibG9jay1zdGFrZWhvbGRlci1lbmdhZ2VtZW50LWJsb2NrIHtcbiAgaDIuYmxvY2stdGl0bGUgeyBAZXh0ZW5kIC5zci1vbmx5OyB9XG5cbiAgLnN2Z1dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAuaW50ZXJhY3RpdmUtaXRlbSB7XG4gICAgICAjYXJlYSB7IG9wYWNpdHk6IDA7IH1cbiAgICAgICNvdmFsLCAjaWNvIHsgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICNvdmFsIHsgZmlsbDogJGdyaWdpbzsgfVxuICAgICAgICAjaWNvIHsgZmlsbDogJHdoaXRlOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN2Z1BvcHVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBoZWlnaHQ6IDIyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAmLm9wZW5lZCB7IG9wYWNpdHk6IDE7IH1cblxuICAgIHAge1xuICAgICAgQGV4dGVuZCAuYm9keV9tO1xuICAgICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuICB9XG5cbiAgLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuc3ZnV3JhcHBlciB7XG4gICAgICB3aWR0aDogOTcwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2FyZWEgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBzdmcgLmludGVyYWN0aXZlLWl0ZW06aG92ZXIge1xuICAgICAgI292YWwgeyBmaWxsOiAkZ3JpZ2lvOyB9XG4gICAgICAjaWNvIHsgZmlsbDogJHdoaXRlOyB9XG4gICAgfVxuICB9XG59XG5ib2R5LmxhbmctZW4gLmJsb2NrLXN0YWtlaG9sZGVyLWVuZ2FnZW1lbnQtYmxvY2sgc3ZnIC5pbnRlcmFjdGl2ZS1pdGVtICN0eHRfaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbmJvZHkubGFuZy1pdCAuYmxvY2stc3Rha2Vob2xkZXItZW5nYWdlbWVudC1ibG9jayBzdmcgLmludGVyYWN0aXZlLWl0ZW0gI3R4dF9lbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gUGxhY2Vob2xkZXJcbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGdyZXk2QyAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRncmV5NkMgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGdyZXk2QyAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlZ29sZSBnZW5lcmljaGUgZGVpIHdlYmZvcm1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSxcbmZvcm0udXNlci1sb2dpbi1mb3JtLFxuLnZpZXdzLWV4cG9zZWQtZm9ybS5ibG9jay1leHBvc2VkZm9ybXNlYXJjaHNlYXJjaC1wYWdlIGZvcm0sXG4udmlld3MtZXhwb3NlZC1mb3JtLmJsb2NrLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLXBhZ2UgZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuanMtZm9ybS1pdGVtIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jZWxsIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4gIGxhYmVsIHtcbiAgICBAZXh0ZW5kIC5ib2R5X3hsO1xuICAgIG1hcmdpbjogNXB4O1xuICB9XG4gIGxhYmVsLmZvcm0tcmVxdWlyZWQ6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0W3R5cGU9J3RleHQnXSwgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgaW5wdXRbdHlwZT0nZGF0ZSddLCBpbnB1dFt0eXBlPSdudW1iZXInXSxcbiAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgaW5wdXRbdHlwZT0ndGVsJ10sIHRleHRhcmVhIHtcbiAgICBAZXh0ZW5kIC5ib2R5X3hsO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTU4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICAgIGNvbG9yOiAkYmxhY2syNTtcblxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiAycHggc29saWQgJGdyaWdpbzsgfVxuICAgICYuZXJyb3IgeyBib3JkZXItY29sb3I6ICRncmlnaW87IH1cbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMDRweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gIH1cblxuICBwLmRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgfVxuXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAvLyBjaGVja2JveCBnZW5lcmljYVxuICAuanMtZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgLmJvZHlfcztcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAvLyBRdWFkcmF0byBjaGVja2JveFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXlMaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cblxuICAgICAgLy8gSWNvbmEgY2hlY2tib3hcbiAgICAgIEBpbmNsdWRlIGljb24oJ2FmdGVyJywgJ2NoZWNrJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgICBjb2xvcjogJGdyaWdpbztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmZvY3VzICsgbGFiZWwge1xuICAgICAgJjpiZWZvcmUgeyBvdXRsaW5lOiAycHggc29saWQgJGdyaWdpbzsgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAmOmJlZm9yZSB7IGJhY2tncm91bmQ6ICR3aGl0ZTsgfVxuICAgICAgJjphZnRlcnsgb3BhY2l0eTogMTsgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLmVycm9yICsgbGFiZWwgeyBjb2xvcjogJGdyaWdpbzsgfVxuXG4gICAgYSB7XG4gICAgICAmOmhvdmVyIHt9XG4gICAgfVxuICB9XG5cbiAgLy8gQm90dG9uZSBpbnZpb1xuICAud2ViZm9ybS1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIC8vIERlbnRybyBhbCB3cmFwcGVyIHBlciBub24gc292cmFzY3JpdmVyZSBhbHRyaSBib3R0b25pXG4gICAgLmpzLWZvcm0tc3VibWl0IHtcbiAgICAgIEBleHRlbmQgLmJ0bi1wcmltYXJ5O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFyZWEgZXJyb3JpXG4gICNzdGF0dXMtbWVzc2FnZXMge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7fVxuICAgIC5jYWxsb3V0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrMjUsIDAuOCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1lc3NhZ2dpbyBlc2l0b1xuICAud2ViZm9ybS1jb25maXJtYXRpb24ge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2Uge1xuICAgICAgQGV4dGVuZCAuaGVhZGluZ19tO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1jYW5kaWRhdHVyYS1zcG9udGFuZWEtZm9ybSB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAuY2VsbC5zbWFsbC0xMjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgLmF0dGFjaG1lbnRzV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgID4gZGl2OmZpcnN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbiAgICAvLyBCb3R0b25lIHBlciBzZWxlemlvbmFyZSBpbCBmaWxlIChjb24gY2xhc3NlIC5saW5rLWFycm93KVxuICAgIGlucHV0W3R5cGU9J2ZpbGUnXTpmb2N1cyB+IGxhYmVsIHsgb3V0bGluZTogMnB4IHNvbGlkICRncmlnaW87IH1cblxuICAgIC8vIE5vbWUgZGVsIGZpbGUgY2FyaWNhdGlcbiAgICBzcGFuLmZpbGUge1xuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuXG4gICAgICAvLyBJY29uYSBwZXIgZmlsZVxuICAgICAgQGluY2x1ZGUgaWNvbignYmVmb3JlJywgJ2ZpbGUtZ2VuZXJpYycpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgfVxuICAgICAgJi5maWxlLS1hcHBsaWNhdGlvbi1wZGYgeyBAaW5jbHVkZSBpY29uKCdiZWZvcmUnLCAnZmlsZS1wZGYnKTsgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG9wbyB1cGxvYWQsIGxpbmsgcGVyIGNhbmNlbGxhcmUgaWwgZmlsZVxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuYXR0YWNobWVudHNXcmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgPiBkaXYgeyBmbGV4OiAxIDEgMHB4OyB9XG4gICAgICA+IGRpdjpmaXJzdC1vZi10eXBlIHsgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gICAgICA+IGRpdjpsYXN0LW9mLXR5cGUgeyBtYXJnaW46IDAgMCAwIDEwcHg7IH1cbiAgICB9XG4gIH1cbn1cbiIsImZvcm0udXNlci1sb2dpbi1mb3JtLFxyXG5mb3JtLnVzZXItcGFzcyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuXHJcbiAgLmZvcm0taXRlbSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuICAuZm9ybS1hY3Rpb25zIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cclxufVxyXG4iLCIubXNnLWRpc2NsYWltZXItZm9ybSB7XHJcbiAgQGV4dGVuZCAuaXRlbS1tYXJnaW4tYm90dG9tLWxhcmdlO1xyXG5cclxuICAuZm9ybS13cmFwcGVyLmZvcm0tYWN0aW9ucyB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG5cclxuICAuZm9ybS1zdWJtaXQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbn1cclxuIiwiXG4uaGVhZGVyTWFpbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gID4gLmdyaWQtY29udGFpbmVyIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuICAuaGVhZGVyTWVudSwgLmhlYWRlclJpZ2h0IHsgcG9zaXRpb246IHN0YXRpYzsgfVxufVxuXG4uYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuXG5cblxuICAvLyBSZWdvbGUgcGVyIHBvc2l6aW9uYW1lbnRvXG4gIC50Ym0udGJtLW1haW4ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgPiAudGJtLWNvbGxhcHNlIHsgcG9zaXRpb246IHN0YXRpYzsgfVxuICB9XG5cbiAgLy8gQXp6ZXJhbWVudGkgZSBnZW5lcmljaGVcbiAgLnRibS1saW5rLWNvbnRhaW5lciwgLnRibS1saW5rLWNvbnRhaW5lcjphZnRlciwgYSwgc3Bhbi5uby1saW5rIHsgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICBhLnRibS1saW5rIHtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcblxuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vY29sb3I6ICRncmlnaW8gIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8vICY6Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7IH1cbiAgfVxuICAudGJtLXN1Ym1lbnUge1xuICAgIC8vIFF1ZXN0byDDqCBpbCB3cmFwcGVyIHByaW5jaXBhbGUgY2hlIHNpIGFwcmUgc290dG9cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRibS1ncm91cC1jb250YWluZXIgeyBib3JkZXI6IG5vbmU7IH1cblxuICAvLyBGb3J6byBsZSBjb2xvbm5lIGdlc3RpdGUgY29uIEZvdW5kYXRpb24sIGFiYmFuZG9uYW5kbyBjb3NpIGxlIGltcG9zdGF6aW9uaSBjaGUgc2kgZGFubm8gZGEgVEJNZWdhbWVudSBwZXIgbGUgZGltZW5zaW9uaSBkZWxsZSBzaW5nb2xlIGNvbG9ubmVcbiAgLy8gRm9yem8gcXVpbmRpIHBhZGRpbmcsIG1hcmdpbiwgZGltZW5zaW9uaSBlIGxhcmdoZXp6YSBkZWxsZSBjb2xvbm5lLiBBYmJhbmRvbm8gZ2VzdGlvbmUgdHJhbWl0ZSBncmlkXG4gIC50Ym0tcm93IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKCdob3Jpem9udGFsJywgdHJ1ZSk7XG4gICAgY29sdW1uLWdhcDogMDtcbiAgfVxuICAudGJtLWNvbHVtbiB7IEBpbmNsdWRlIHh5LWNlbGwoMTIsICRndXR0ZXItdHlwZTogJ3BhZGRpbmcnLCAkYnJlYWtwb2ludDogJ2xhcmdlJyk7IH1cbiAgLnRibS1ncm91cC1jb250YWluZXIge1xuICAgICAudGJtLXJvdyB7fVxuICAgICAudGJtLWNvbHVtbiB7XG4gICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMiwgJGd1dHRlci10eXBlOiAnbm9uZScpO1xuICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgfVxuICAgfVxuXG4gIC8vIEN1c3RvbSBjbGFzcyAtIG5hc2NvbmRvIGxlIHZvY2kgZGVsIHN1Ymdyb3VwICh1dGlsaXp6YXRhIHBlciBhcmNoaXZpbylcbiAgLnRibS1pdGVtLmhpZGVTdWJHcm91cCA+IC50Ym0tZ3JvdXAtY29udGFpbmVyLnRibS1pdGVtLWNoaWxkIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLnRibS1ncm91cC10aXRsZSB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbiAgLy8gUHJpbW8gbGl2ZWxsb1xuICB1bC50Ym0tbmF2LmxldmVsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgbGkudGJtLWl0ZW0ubGV2ZWwtMSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICYubGVhdmluZyB7XG4gICAgICA+IC50Ym0tc3VibWVudSB7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC50Ym0tbGluay1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBQZXIgZ2VzdGlyZSBpbCBjbGljayBwZXIgYXBlcnR1cmEgLyBjaGl1c3VyYVxuICAgICAgPiBidXR0b24udGJtLXN1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC8vICY6Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyID4gLnRibS1saW5rLWNvbnRhaW5lciBhLnRibS1saW5rLFxuICAgID4gLnRibS1saW5rLWNvbnRhaW5lciBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgLy9jb2xvcjogJGdyaWdpbyAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgPiAudGJtLXN1Ym1lbnUge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXlGNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmlnaW9tZW51O1xuICAgIH1cbiAgfVxuICBhLnRibS1saW5rLmxldmVsLTEsXG4gIGJ1dHRvbi50Ym0tbGluay5sZXZlbC0xIHtcbiAgICBwYWRkaW5nOiAzMHB4IDhweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAvL2NvbG9yOiAkZ3JpZ2lvICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDNweDtcbiAgICB9XG4gIH1cbiAgbGkudGJtLWl0ZW0ubGV2ZWwtMS5hY3RpdmUtdHJhaWwgPiAudGJtLWxpbmstY29udGFpbmVyLCBsaS50Ym0taXRlbS5sZXZlbC0xID4gLnRibS1saW5rLWNvbnRhaW5lcjpob3ZlciB7fVxuICBhLnRibS1saW5rLmxldmVsLTEuYWN0aXZlLXRyYWlsLCBidXR0b24udGJtLWxpbmsubGV2ZWwtMS5hY3RpdmUtdHJhaWwge1xuICAgIC8vY29sb3I6ICRncmlnaW8gIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENsYXNzZSBjaGUgbWV0dGUgc3UgMiByaWdoZSBzZSBzb25vIGFsbWVubyAzIGVsZWVtZW50aSBsaVxuICAucm93c18zIHtcbiAgICB1bC50Ym0tc3VibmF2LmxldmVsLTEge1xuICAgICAgJjpoYXMobGk6bnRoLWNoaWxkKDMpKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIGF1dG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlY29uZG8gbGl2ZWxsb1xuICB1bC50Ym0tc3VibmF2LmxldmVsLTEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBjb2x1bW4tZ2FwOiAuNXJlbTtcblxuICAgIC5yb3dzXzMgJjpoYXMobGk6bnRoLWNoaWxkKDMpKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCBhdXRvKTtcbiAgICB9XG5cbiAgICAvKiA+PTUg4oaSIDIgcmlnaGUgKi9cbiAgICAmOmhhcyhsaTpudGgtY2hpbGQoNSkpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIGF1dG8pO1xuICAgIH1cblxuICAgIC8qID49MTAg4oaSIDQgcmlnaGUgKi9cbiAgICAmOmhhcyhsaTpudGgtY2hpbGQoMTApKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCBhdXRvKTtcbiAgICB9XG5cbiAgICAvKiA+PTEzIOKGkiA1IHJpZ2hlICovXG4gICAgJjpoYXMobGk6bnRoLWNoaWxkKDEzKSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNSwgYXV0byk7XG4gICAgfVxuXG4gICAgLyogPj0xNiDihpIgNiByaWdoZSAqL1xuICAgICY6aGFzKGxpOm50aC1jaGlsZCgxNikpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDYsIGF1dG8pO1xuICAgIH1cblxuICAgIC8qID49MTkg4oaSIDcgcmlnaGUgKi9cbiAgICAmOmhhcyhsaTpudGgtY2hpbGQoMTkpKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg3LCBhdXRvKTtcbiAgICB9XG5cbiAgICAvKiA+PTIyIOKGkiA4IHJpZ2hlICovXG4gICAgJjpoYXMobGk6bnRoLWNoaWxkKDIyKSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOCwgYXV0byk7XG4gICAgfVxuXG4gICAgLyogPj0yNSDihpIgOSByaWdoZSAqL1xuICAgICY6aGFzKGxpOm50aC1jaGlsZCgyNSkpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDksIGF1dG8pO1xuICAgIH1cblxuICAgIC8qID49Mjgg4oaSIDEwIHJpZ2hlICovXG4gICAgJjpoYXMobGk6bnRoLWNoaWxkKDI4KSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAsIGF1dG8pO1xuICAgIH1cbiAgfVxuXG4gIGxpLnRibS1pdGVtLmxldmVsLTIge1xuICAgIG1hcmdpbjogNDBweCAwIDAgMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBhLnRibS1saW5rLmxldmVsLTIge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgfVxuICBhLnRibS1saW5rLmxldmVsLTIuYWN0aXZlLXRyYWlsIHtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICBhLnRibS1saW5rLmxldmVsLTIubGluay1ncnVwcG8ge1xuICAgIGZvbnQtZmFtaWx5OiAkc29sZURpc3BsYXk7XG4gICAgZm9udC13ZWlnaHQ6ICRzb2xlRGlzQm9sZDtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBpY29uKCdhZnRlcicsICdib29rJykge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gVGVyem8gbGl2ZWxsb1xuICB1bC50Ym0tc3VibmF2LmxldmVsLTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBsaS50Ym0taXRlbS5sZXZlbC0zIHtcbiAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgYS50Ym0tbGluay5sZXZlbC0zIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICB9XG4gIGEudGJtLWxpbmsubGV2ZWwtMy5hY3RpdmUtdHJhaWwgeyBjb2xvcjogJGdyaWdpbyAhaW1wb3J0YW50OyB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHt9XG5cbiAgLy8gMTAyNHB4IC0gMThweCBlIHBhZGRpbmcgNXB4XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBhLnRibS1saW5rLmxldmVsLTEge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAgNXB4O1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgfVxuICB9XG5cbiAgLy8gMTI4MHB4IC0gMjFweCBlIHBhZGRpbmcgMTBweFxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGEudGJtLWxpbmsubGV2ZWwtMSxcbiAgICBidXR0b24udGJtLWxpbmsubGV2ZWwtMSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICB9XG4gIH1cblxuICAvLyAxNDQwcHggLSAyMnB4IGUgcGFkZGluZyAxOHB4XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIGEudGJtLWxpbmsubGV2ZWwtMSxcbiAgICBidXR0b24udGJtLWxpbmsubGV2ZWwtMSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAgMThweDtcblxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgfVxuICB9XG5cbiAgLy8gMTY4MHB4IC0gMjJweCBlIHBhZGRpbmcgMjBweFxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XG4gICAgYS50Ym0tbGluay5sZXZlbC0xLFxuICAgIGJ1dHRvbi50Ym0tbGluay5sZXZlbC0xIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICAyMHB4O1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gUmVnb2xlIGFkIGhvYyBwZXIgZ2VzdGlyZSBzY2hlcm1pIGJhc3NpXG4gIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfSBhbmQgKG1heC1oZWlnaHQ6IDc4MHB4KSB7fVxuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0gYW5kIChtYXgtaGVpZ2h0OiA2MjBweCkge31cbiAgQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9IGFuZCAobWF4LWhlaWdodDogNTIwcHgpIHt9XG59XG5cbi8vIFBvc3Qgc2Nyb2xsXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCAuYmxvY2stdGItbWVnYW1lbnUtbWVudS1ibG9ja21haW4ge1xuICBhLnRibS1saW5rLmxldmVsLTEsXG4gIGJ1dHRvbi50Ym0tbGluay5sZXZlbC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4vLyBJbiBob21lcGFnZSAoZSBxdWFuZG8gbmVjZXNzYXJpbykgY2FtYmlvIGkgY29sb3JpIGRlZ2xpIGVsZW1lbnRpXG4vL2JvZHkucGF0aC1mcm9udHBhZ2UsIGJvZHkuaGVhZGVyU2xpZGVyIHtcbi8vICBoZWFkZXIucGFnZUhlYWRlcjpub3QoLmhlYWRyb29tLS1ub3QtdG9wKTpub3QoOmhvdmVyKTpub3QoOmhhcygudGJtLWl0ZW0tLWhhcy1kcm9wZG93bi5vcGVuKSkgLmJsb2NrLXRiLW1lZ2FtZW51LW1lbnUtYmxvY2ttYWluIHtcbi8vICAgIGxpLnRibS1pdGVtLmxldmVsLTEgPiAudGJtLXN1Ym1lbnUgeyBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlOyB9XG4vLyAgICBhLnRibS1saW5rLmxldmVsLTEsIGJ1dHRvbi50Ym0tbGluay5sZXZlbC0xIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG4vLyAgfVxuLy99XG4iLCIvLyBNYWluIG1lbnUgc3BlenphdG8gaW4gc2luZ29saSBibG9jY2hpXG4uYmxvY2stZm9vdGVyLW1haW5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuXG4gIGgzLmJsb2NrVGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBmb250LWZhbWlseTogJHNvbGVTYW5zO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICB1bC5tZW51IHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAuYm9keV9tO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMDtcblxuICAgICAgICAmLmlzLWFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC8vJjpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgYSB7IHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1lbnUgc29jaWFsXG4uYmxvY2stbWVudS1ibG9ja3NvY2lhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgbGFiZWwge1xuICAgIEBleHRlbmQgLmJvZHlfeGw7XG5cbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAvL2xpIGEgc3BhbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi8vIE1lbnUgcGnDqCBkaSBwYWdpbmFcbi5ibG9jay10dC1mb3VuZGF0aW9uLXBpZWRpcGFnaW5hIHtcbiAgdWwubWVudSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAuYm9keV9tO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCBhIHsgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgIHVsLm1lbnUgbGkgYSB7IHBhZGRpbmc6IDEwcHg7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB1bC5tZW51IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICB9XG59XG4iLCIvKipcbiAqIE1lbnUgaW4gcGFnaW5hIC0gQXJjaGl2aW9cbiAqIFN0aWxpenphdG8gY29tZSBTZWxlY3QyXG4gKiBHZW5lcmF0byB0cmFtaXRlIEpTIChhcmNoaXZlVmlld0JlaGF2aW9yKVxuICovXG4uYmxvY2stc3VwaGVhZGVyLWFyY2hpdmUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gIC5hcmNoaXZlTWVudVdyYXBwZXIge1xuICAgIHVsLm1lbnUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHNlbGVjdC5hcmNoaXZlLXNlbG1lbnV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZ2lvO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTJweDtcbiAgICAgIHBhZGRpbmc6IDAgNTBweCAwIDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMzVweCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHggNnB4O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNTAnIGhlaWdodD0nNzAuOCclM0UlM0Nwb2x5Z29uIHBvaW50cz0nNzUlMkM3MC44IDAlMkMwIDE1MCUyQzAnIGZpbGw9JyUyM0ZGRkZGRicgLyUzRSUzQy9zdmclM0VcIik7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICBvcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7IC8vIFNmb25kbyBiaWFuY29cbiAgICAgICAgY29sb3I6ICRibGFjazsgLy8gVGVzdG8gbmVybyBwZXIgbGEgbGVnZ2liaWxpdMOgXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG5cbiIsIi5wYXJhZ3JhcGgge1xyXG4gIC8vIFN0aWxlIHBlciBwYXJhZ3JhcGggbm9uIHB1YmJsaWNhdGlcclxuICAmLnBhcmFncmFwaC11bnB1Ymxpc2hlZCB7IGJhY2tncm91bmQ6IHJlZDsgfVxyXG5cclxuICAvLyBDbGFzc2kgcGVyIGFubnVsbGFyZSBsZSBzcGF6aWF0dXJlIGxhdGVyYWxpXHJcbiAgJi5yZW1vdmVMZWZ0U3BhY2Uge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG4gICYucmVtb3ZlUmlnaHRTcGFjZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb3VuZGF0aW9uIEdyaWQgcGFyYWdyYXBocyArIEZvdW5kYXRpb24gQ2VsbFxyXG4gKiBCYXNpYyBjbGFzcyB0byBtYW5hZ2UgdGhlIGJhY2tncm91bmRcclxuICogUGxlYXNlIG5vdGUgdGhhdCBmb3Igc2VuZGluZyB0aGUgYmFja2dyb3VuZCBpbWFnZSBvbiBmdWxsd2lkdGggb2YgdGhlIHNjcmVlbiB5b3UgbmVlZCB0byBtb2RpZnkgeW91ciBwYWdlLmh0bWwudHdpZy5cclxuICogUGxlYXNlIHJlbW92ZSBhbGwgdGhlIGdyaWQtc3lzdGVtIGFuZCBsZWF2ZSB0aGUgbWFuYWdlIG9uIHRoZSBwYXJhZ3JhcGggRm91bmRhdGlvbiBHcmlkIHN5c3RlbS5cclxuICovXHJcbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tZ3JpZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWNlbGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuLmdyaWQtY29udGFpbmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcbi5iYWNrZ3JvdW5kRGl2IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDA7XHJcblxyXG4gICYgKyBkaXYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gICYuZXhwZW5kZWRCZyB7fVxyXG4gICYuaW50ZXJuYWxCZyB7fVxyXG5cclxuICAmLmNvbG9yQmcge31cclxuICAmLmNvbG9yQmctbm9uZSB7fVxyXG4gICYuY29sb3JCZy1saWdodCB7fVxyXG4gICYuY29sb3JCZy1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrOyB9XHJcblxyXG4gICYuaW1hZ2VCZyB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcbn1cclxuIiwiLnBhcmFncmFwaC1hY2NvcmRpb25zLXRhYnMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIE92ZXJyaWRlIGRlbCB0aXRvbG8gZGVsIHRhYlxuICB1bC50YWJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTUwdnc7XG4gICAgICB3aWR0aDogMTUwdnc7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG4gICAgfVxuXG4gICAgLy8gT3ZlcnJpZGUgZGVpIHRpdG9saSBzb3ByYVxuICAgIC50YWJzLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgIC8vIFN0aWxlIGRlbCB0aXRvbG9cbiAgICAgID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICBmb250LWZhbWlseTogJHNvbGVTYW5zO1xuICAgICAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG5cbiAgICAgIC8vIEVsZW1lbnRvIHNlbGV6aW9uYXRvXG4gICAgICA+IGE6aG92ZXIsID4gYTpmb2N1cywgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyaWdpbztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIC8vID4gYTpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGRlbCBjb250ZW51dG8gZGVsIHRhYlxuICAudGFicy1jb250ZW50IHtcbiAgICBtYXJnaW46IDQwcHggMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC50YWJzLXBhbmVsIHtcbiAgICAvLyBBbmRpYW1vIGEgcmlhZ2dpdW5nZXJlIGxvIHNwYXppbyBjaGUgc2kgcGVyZGUgcXVhbmRvIGRlbnRybyBhYmJpYW1vIGRlaSBwYXJhZ3JhcGggY29uIGdyaWQteFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgLyAyKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuXG5cbiAgLy8gT3ZlcnJpZGUgZGVsIGJhY2tncm91bmQgZGVsbCdhY2NvcmRpb25cbiAgdWwuYWNjb3JkaW9ueyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4gIC8vIE92ZXJyaWRlIGRlbGwnYWNjb3JkaW9uXG4gIGxpLmFjY29yZGlvbi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMTApO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGRlbCB0aXRvbG8gZGVsbCdhY2NvcmRpb25cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAzMHB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgIGZvbnQtZmFtaWx5OiAkc29sZURpc3BsYXk7XG4gICAgZm9udC13ZWlnaHQ6ICRzb2xlRGlzQm9sZDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgY29sb3I6ICRibGFjaztcblxuICAgICY6YmVmb3JlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICBAaW5jbHVkZSBpY29uKCdhZnRlcicsICd0cmlhbmdsZS11cCcpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBTdGlsZSBwZXIgaG92ZXIgZSBmb2N1c1xuICAgICY6Zm9jdXMsICY6aG92ZXJ7IGNvbG9yOiAkZ3JpZ2lvOyB9XG4gICAgLy8gJjpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuICB9XG4gIGxpLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMCk7IH1cblxuICAvLyBPdmVycmlkZSBwZXIgaWwgY29ycG8gZGVsbCdhY2NvcmRpb25cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAvLyBBbmRpYW1vIGEgcmlhZ2dpdW5nZXJlIGxvIHNwYXppbyBjaGUgc2kgcGVyZGUgcXVhbmRvIGRlbnRybyBhYmJpYW1vIGRlaSBwYXJhZ3JhcGggY29uIGdyaWQteFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgLyAyKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAuZmllbGQtLXBhcmFncmFwaC1maWVsZC1jbnQtZG9jdW1lbnRzIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyhtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpIC8gMik7XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC50YWJzLXBhbmVsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pIC8gMik7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggNjBweCAyMHB4IDQwcHg7XG4gICAgICAmOmFmdGVyIHsgcmlnaHQ6IDM1cHg7IH1cbiAgICB9XG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pIC8gMik7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTtcbiAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC50YWJzLXBhbmVsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgLyAyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpIC8gMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgLyAyKTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgLyAyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSAvIDIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFyYWdyYXBoIFdyYXBwZXJcbi5iYXNpYy1wYXJhZ3JhcGgtd3JhcHBlciB7XG5cbiAgLy8gR2VzdGlvbmUgc2ZvbmRpXG4gICYuYmctcGlua19saWdodCB7IGJhY2tncm91bmQ6ICRyb3NhY2hpYXJvOyB9XG4gICYuYmctYmFja2dyb3VuZF9waW5rX2RhcmsgeyBiYWNrZ3JvdW5kOiAkcm9zYTsgfVxuICAmLmJnLWJsdV9saWdodCB7IGJhY2tncm91bmQ6ICRhenp1cnJvOyB9XG4gICYuYmctZ3JlZW4geyBiYWNrZ3JvdW5kOiAkdmVyZGVjaGlhcm87IH1cbiAgJi5iZy13YXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iYWNrZ3JvdW5kLXdhdmUuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuXG4gICAgLy8gVE9ETyAtIHNmdW1hdHVyYVxuICB9XG59XG5cbi8vIFBhcmFncmFwaCBNYW5hZ2VtZW50XG4ucGFyYWdyYXBoLS10eXBlLS1tYW5hZ2VtZW50IHtcbiAgLm5vZGUtdHlwZS1tYW5hZ2VyIHt9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAubm9kZS10eXBlLW1hbmFnZXIgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIH1cbn1cblxuLy8gUGFyYWdyYXBoIExpbmtlcnNcbi5wYXJhZ3JhcGgtLXR5cGUtLWxpbmtlcnMge1xuXG4gIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8ge1xuICAgIEBleHRlbmQgLmhlYWRpbmdfbTtcblxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YS1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcblxuICAgIC5maWVsZF9faXRlbSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmlnaW87XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAZXh0ZW5kIC5ib2R5X2w7XG5cbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgfVxuICAgIGFbdGFyZ2V0PSdfYmxhbmsnXSB7XG4gICAgICBAaW5jbHVkZSBpY29uKCdhZnRlcicsICdsaW5rLWV4dCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY3RhLWxpbmtzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG5cbiAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jdGEtbGlua3Mge1xuICAgICAgLmZpZWxkX19pdGVtIHsgZmxleDogMCAwIGNhbGMoMzMuMzMzMyUgLSAyMHB4KTsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBQYXJhZ3JhcGggSWNvbiBib3hlcyArIEljb24gYm94XG4ucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveGVzIHtcbiAgLml0ZW1XcmFwcGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3gge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSk7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyhtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgLyAyKTtcblxuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtc3ZnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogNzVweDtcbiAgICB9XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtdGV4dCB7XG4gICAgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5pdGVtV3JhcHBlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKSk7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTtcbiAgICB9XG4gICAgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyhtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pIC8gMik7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1zdmcgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiAgICAmLmlwcF8zIC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94IHsgZmxleC1iYXNpczogY2FsYygzMy4zMzMzJSAtIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkpOyB9XG4gICAgJi5pcHBfNCAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveCB7IGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKSk7IH1cbiAgICAmLmlwcF81IC5wYXJhZ3JhcGgtLXR5cGUtLWljb24tYm94IHsgZmxleC1iYXNpczogY2FsYyg1MCUgLSBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pKTsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5pdGVtV3JhcHBlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpIC8gMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgLyAyKTtcbiAgICB9XG4gICAgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpIC8gMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpIC8gMik7XG4gICAgfVxuXG4gICAgJi5pcHBfMyAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveCB7IGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMyUgLSBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkpOyB9XG4gICAgJi5pcHBfNCAucGFyYWdyYXBoLS10eXBlLS1pY29uLWJveCB7IGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpKTsgfVxuICAgICYuaXBwXzUgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3ggeyBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSk7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLnBhcmFncmFwaC0tdHlwZS0taWNvbi1ib3ggeyBwYWRkaW5nOiA0MHB4IDIwcHg7IH1cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtc3ZnIHsgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICB9XG59XG4iLCIvLyBDb211bmkgYWkgcGFyYWdyYXBoIHRlc3R1YWxpXG4ucGFyYWdyYXBoLXR5cGUtdGV4dHVhbCB7XG4gIC5maWVsZC0tdHlwZS10ZXh0LWxvbmcgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG59XG5cbi8vIFBhcmFncmFwaCBDb3Jwb1xuLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtYm9keSB7fVxuXG4vLyBQYXJhZ3JhcGggVGVzdG8gKyB0ZXN0b1xuLmZpZWxkX3RleHQge31cblxuLy8gUGFyYWdyYXBoIFRlc3RvICsgaW1tYWdpbmlcbi5wYXJhZ3JhcGgtLXR5cGUtLXRlc3RvLWltbWFnaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIC5jZWxsSW1hZ2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGRpdi5zaW5nbGVJbWFnZSwgZGl2LmRvdWJsZUZpcnN0LCBkaXYuZG91YmxlTGFzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmlnaW87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cbiAgZGl2LnNpbmdsZUltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICB9XG4gIGRpdi5kb3VibGVGaXJzdCwgZGl2LmRvdWJsZUxhc3QgeyB3aWR0aDogYXV0bzsgfVxuICBkaXYuZG91YmxlRmlyc3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMDtcbiAgfVxuICBkaXYuZG91YmxlTGFzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxNDBweDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLy8gQ3VzdG9taXp6YXppb25pIHBlciBpbW1hZ2luaSBhIHNpbmlzdHJhXG4gIC8qJi5pbWdQb3MtbGVmdCB7XG4gICAgZGl2LnNpbmdsZUltYWdlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgJjpiZWZvcmUgeyBsZWZ0OiAtMjBweDsgfVxuICAgIH1cblxuICAgIGRpdi5kb3VibGVGaXJzdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgICAgJjpiZWZvcmUgeyBsZWZ0OiAyMHB4OyB9XG4gICAgfVxuICAgIGRpdi5kb3VibGVMYXN0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgICAgJjpiZWZvcmUgeyBsZWZ0OiAtMjBweDsgfVxuICAgIH1cbiAgfSovXG5cbiAgLy8gQ3VzdG9taXp6YXppb25pIHBlciBpbW1hZ2luaSBhIGRlc3RyYVxuICAmLmltZ1Bvcy1yaWdodCwgJi5pbWdQb3MtbGVmdCB7XG4gICAgZGl2LnNpbmdsZUltYWdlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICY6YmVmb3JlIHsgbGVmdDogMjBweDsgfVxuICAgIH1cblxuICAgIGRpdi5kb3VibGVGaXJzdCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgICAgJjpiZWZvcmUgeyBsZWZ0OiAtMjBweDsgfVxuICAgIH1cbiAgICBkaXYuZG91YmxlTGFzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgICAmOmJlZm9yZSB7IGxlZnQ6IDIwcHg7IH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuY2VsbFRleHQgeyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGRpdi5kb3VibGVMYXN0IHsgbWFyZ2luLXRvcDogMTQwcHg7IH1cblxuICAgIC8qJi5pbWdQb3MtbGVmdCB7XG4gICAgICBkaXYuZG91YmxlRmlyc3QgeyBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgICAgIGRpdi5kb3VibGVMYXN0IHsgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgICB9Ki9cblxuICAgICYuaW1nUG9zLXJpZ2h0LCAmLmltZ1Bvcy1sZWZ0IHtcbiAgICAgIGRpdi5kb3VibGVGaXJzdCB7IG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gICAgICBkaXYuZG91YmxlTGFzdCB7IG1hcmdpbi1yaWdodDogNDBweDsgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXYuZG91YmxlTGFzdCB7IG1hcmdpbi10b3A6IDI1MHB4OyB9XG5cbiAgICAvKiYuaW1nUG9zLWxlZnQge1xuICAgICAgZGl2LmRvdWJsZUZpcnN0IHsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICBkaXYuZG91YmxlTGFzdCB7IG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgfSovXG5cbiAgICAmLmltZ1Bvcy1yaWdodCwgJi5pbWdQb3MtbGVmdCB7XG4gICAgICBkaXYuZG91YmxlRmlyc3QgeyBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICAgZGl2LmRvdWJsZUxhc3QgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUGFyYWdyYXBoIFRlc3RvICsgaW1tYWdpbmUgZnVsbFxuLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8taW1tYWdpbmUtZnVsbCB7XG4gIGJhY2tncm91bmQ6ICRhenp1cnJvO1xuXG4gIC5jZWxsVGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuY2VsbEltYWdlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgLmNlbGxUZXh0IHsgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4gICAgLmNlbGxJbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5jZWxsVGV4dCB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC5iZ0NvdmVyQWJzIHsgd2lkdGg6IGNhbGMoNTB2dyAtIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKTsgfVxuXG4gICAgJi5pbWdQb3MtbGVmdCB7XG4gICAgICAuYmdDb3ZlckFicyB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuY2VsbFRleHQge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgIC5iZ0NvdmVyQWJzIHsgd2lkdGg6IGNhbGMoNTB2dyAtIG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSAvIDIpOyB9XG4gIH1cbn1cblxuLy8gUGFyYWdyYXBoIFRlc3RvICsgdmlkZW8gc2ZvbmRvXG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by12aWRlb2JnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpdi5jZWxsVmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIH1cblxuICAudmlkV3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JpZ2lvO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG4gIH1cblxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgLy8gQ3VzdG9taXp6YXppb25pIHBlciB2aWRlbyBhIHNpbmlzdHJhXG4gIC8qJi5pbWdQb3MtbGVmdCBkaXYudmlkV3JhcHBlciB7XG4gICAgLy8gbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgJjpiZWZvcmUgeyBsZWZ0OiAtMjBweDsgfVxuICB9Ki9cblxuICAvLyBDdXN0b21penphemlvbmkgcGVyIHZpZGVvIGEgZGVzdHJhXG4gICYuaW1nUG9zLXJpZ2h0IGRpdi52aWRXcmFwcGVyLCAmLmltZ1Bvcy1sZWZ0IGRpdi52aWRXcmFwcGVyIHtcbiAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgJjpiZWZvcmUgeyBsZWZ0OiAyMHB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuY2VsbFRleHQgeyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbiAgICAmLmltZ1Bvcy1sZWZ0IGRpdi5jZWxsVmlkZW8geyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIH1cbn1cblxuLy8gU3BhemlhdHVyZSBhZ2dpdW50aXZlIHRyYSBsZSBjb2xvbm5lXG4ucGFyYWdyYXBoLS10eXBlLS10ZXN0by1pbW1hZ2luZSwgLnBhcmFncmFwaC0tdHlwZS0tdGVzdG8tdmlkZW9iZyB7XG4gICYuaW1nUG9zLXJpZ2h0IHt9XG4gICYuaW1nUG9zLWxlZnQge31cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgJi5pbWdQb3MtcmlnaHQge1xuICAgICAgLmNlbGxUZXh0IHsgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgLmNlbGxJbWFnZXMgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICB9XG4gICAgJi5pbWdQb3MtbGVmdCB7XG4gICAgICAuY2VsbFRleHQgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5jZWxsSW1hZ2VzIHsgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBQYXJhZ3JhcGggTXVsdGl0ZXh0XG4ucGFyYWdyYXBoLS10eXBlLS1tdWx0aXRleHQge1xuICAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvIHtcbiAgICBAZXh0ZW5kIC5oZWFkaW5nX3hsO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIGZvbnQtZmFtaWx5OiAkc29sZURpc3BsYXk7XG4gICAgZm9udC13ZWlnaHQ6ICRzb2xlRGlzQm9sZDtcbiAgfVxuXG4gIC5maWVsZF9faXRlbS5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cblxuLy8gUGFyYWdyYXBoIEN0YSB0ZXN0dWFsZSBjb24gaW50cm9cbi5wYXJhZ3JhcGgtLXR5cGUtLWN0YS10ZXN0dWFsZS1jb24taW50cm8ge1xuXG4gIC5ncmlkLXgge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCAwIHJnYmEoJGJsYWNrLCAwLjEpO1xuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvbXBhbnkge1xuICAgIEBleHRlbmQgLmJvZHlfeHhsO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvIHtcbiAgICBAZXh0ZW5kIC5ib2R5X3h4bDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzb2xlTWVkaXVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIHAge1xuICAgICAgQGV4dGVuZCAuYm9keV94eGw7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1jdGEgYSB7IEBleHRlbmQgLmxpbmstYXJyb3c7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55IHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIvLyBQYXJhZ3JhcGggSGlnaGxpZ2h0c1xuLnBhcmFncmFwaC0tdHlwZS0tbXNnLWMtaGlnaGxpZ2h0cyB7fVxuXG4vKipcbiAqIFBhcmFncmFwaCBIaWdobGlnaHRcbiAqIEFkIG9yYSBuYXNjb3N0aSB2aWEgQmFja2VuZCBpIHNlZ3VlbnRpIGNhbXBpXG4gKiBJbWFnZSwgUHJldGl0bGUsIEFic3RyYWN0LCBBbGlnbiwgTnVtYmVyIGFuaW1hdGlvbiBkdXJhdGlvblxuICovXG4ucGFyYWdyYXBoLS10eXBlLS1tc2ctYy1oaWdobGlnaHQge1xuICAvLyBTdGlsZSBkZWwgdGl0b2xvIHByaW5jaXBhbGUsIGFuaW1hdG8gbyBub1xuICAuaGlnaGxpZ2h0LXRpdGxlIHtcbiAgICBAZXh0ZW5kIC5oZWFkaW5nX2w7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5oaWdobGlnaHQtbnVtYmVyLXN0YXRpYywgLmhpZ2hsaWdodC1udW1iZXIsXG4gICAgLmhpZ2hsaWdodC10aXRsZS1wcmVmaXgsIC5oaWdobGlnaHQtdGl0bGUtc3VmZml4IHtcbiAgICAgIEBleHRlbmQgLmhlYWRpbmdfbDtcblxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgZm9udC1mYW1pbHk6ICRzb2xlRGlzcGxheTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc29sZURpc0JvbGQ7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICB9XG4gIH1cblxuICAvLyBTdGlsZSBzb3R0b3RpdG9sbyBlIHRlc3RvXG4gIC5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1oaWdobGlnaHQtc3VidGl0bGUsXG4gIC5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1oaWdobGlnaHQtdGV4dCB7XG4gICAgcCB7XG4gICAgICBAZXh0ZW5kIC5ib2R5X3h4bDtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLW1zZy1jLWhpZ2hsaWdodC1zdWJ0aXRsZSB7XG4gICAgcCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAvLyBDYW1waSBuYXNjb3N0aSB2aWEgYmFja2VuZFxuICAuZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtaGlnaGxpZ2h0LXByZXRpdGxlLCAuZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtaGlnaGxpZ2h0LWFic3RyYWN0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFBhcmFncmFwaCBDYXJvc2VsbG8gaW1tYWdpbmlcbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcm9zZWxsby1pbW1hZ2luaSB7XG4gIC5zd2lwZXJXcmFwcGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tcHJldiB7IGxlZnQ6IDIwcHg7IH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCB7IHJpZ2h0OiAyMHB4OyB9XG5cbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICBtYXJnaW46IDAgMTBweDtcblxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFyYWdyYXBoIERpdmlkZXJcbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zaW1wbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gU2UgZnVsbHdpZHRoIHZpZW5lIHN0YW1wYXRhIGwnaW1tbWFnaW5lIG9yaWdpbmFsZSBjb24gYWx0ZXp6YSBmaXNzYVxuICAmLmJhbm5lci1mdWxsd2lkdGggeyBoZWlnaHQ6IDM4MHB4OyB9XG5cbiAgLy8gU2Ugbm9uIGZ1bGx3aWR0aCB2aWVuZSBzdGFtcGF0YSBsJ2ltbW1hZ2luZSBpbiAxNjo5IGNvbiBhbHRlenphIGluIHByb3Bvcnppb25lXG4gICYuYmFubmVyLWluLWdyaWQgLmNlbGwgeyBhc3BlY3QtcmF0aW86IDE2IC8gOTsgfVxuXG4gIC5idG5BY3Rpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyaWdpbztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICBjb2xvcjogJGdyaWdpbztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICB9XG4gICAgLy8gJjpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuXG4gICAgJi5pc1BhdXNlZCB7IEBpbmNsdWRlIGljb24oJ2JlZm9yZScsICdwbGF5Jyk7IH1cbiAgICAmLmlzUGxheWluZyB7IEBpbmNsdWRlIGljb24oJ2JlZm9yZScsICdwYXVzZS1zaW1wbGUnKTsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAmLmJhbm5lci1mdWxsd2lkdGggeyBoZWlnaHQ6IDQ4MHB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgJi5iYW5uZXItZnVsbHdpZHRoIHsgaGVpZ2h0OiA2ODBweDsgfVxuICB9XG59XG5cbi8vIFBhcmFncmFwaCBCYW5uZXIgc2xpZGVyXG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItc2xpZGVyIHtcbiAgLnN3aXBlcldyYXBwZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnN3aXBlci1zbGlkZSB7IGhlaWdodDogYXV0bzsgfVxuXG4gIC5zd2lwZXItYnV0dG9uLXByZXYsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLXByZXYgeyByaWdodDogNzBweDsgfVxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsgcmlnaHQ6IDIwcHg7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuc3dpcGVyV3JhcHBlciB7IHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gICAgLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlci1idXR0b24tbmV4dCB7IGJvdHRvbTogMDsgfVxuICB9XG59XG5cbi8vIFBhcmFncmFwaCBCYW5uZXIgc2xpZGVcbi5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSB7XG4gIC8vIEFsdGV6emEgZmlzc2FcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5zbGlkZU1lZGlhcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzgwcHg7XG4gIH1cblxuICAuZ3JpZFRleHRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC50ZXh0V3JhcHBlciB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAkcm9zYWNoaWFybztcbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8gaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBmb250LWZhbWlseTogJHNvbGVEaXNwbGF5O1xuICAgIGZvbnQtd2VpZ2h0OiAkc29sZURpc0JvbGQ7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtYm9keSB7XG4gICAgcCB7fVxuICB9XG5cbiAgLnNsaWRlRm9vdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1jdGEge1xuICAgIGEgeyBAZXh0ZW5kIC5idG4tcHJpbWFyeTsgfVxuICB9XG5cbiAgLnNsaWRlTWFuYWdlbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLnNsaWRlSW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgLmluZGljYXRvciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYmFja2dyb3VuZDogJGdyaWdpbztcbiAgICB9XG4gIH1cbiAgLnNsaWRlTWFuYWdlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG5cbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgICYuaXNQYXVzZWQgeyBAaW5jbHVkZSBpY29uKCdiZWZvcmUnLCAncGxheScpIHsgcGFkZGluZy1sZWZ0OiAycHg7IH07IH1cbiAgICAmLmlzUGxheWluZyB7IEBpbmNsdWRlIGljb24oJ2JlZm9yZScsICdwYXVzZS1zaW1wbGUnKTsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcblxuICAgIC5zbGlkZU1lZGlhcyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmdyaWRUZXh0cyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIH1cblxuICAgIC50ZXh0V3JhcHBlciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgfVxuICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8gaDIgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWluLWhlaWdodDogNjgwcHg7XG5cbiAgICAudGV4dFdyYXBwZXIgeyBwYWRkaW5nOiA2MHB4IDUwcHg7IH1cblxuICAgIC5zbGlkZUZvb3Qge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNsaWRlTWFuYWdlbWVudCB7XG4gICAgICB3aWR0aDogMjEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIFBhcmFncmFwaCBCYW5uZXIgaGVhZGVyXG4ucGFyYWdyYXBoLS10eXBlLS1iYW5uZXItaGVhZGVyIHtcbiAgLy8gQWx0ZXp6YSBmaXNzYVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnNsaWRlTWVkaWFzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiKDAsMCwwKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLDAsMCwxKSAwJSwgcmdiYSgwLDAsMCwuMikgMTAwJSk7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkVGV4dHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDc1dmg7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogNzUpO1xuICAgIG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgZm9udC1mYW1pbHk6ICRzb2xlRGlzcGxheTtcbiAgICBmb250LXdlaWdodDogJHNvbGVEaXNCb2xkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtYm9keSB7XG4gICAgcCB7IGNvbG9yOiAkd2hpdGU7IH1cbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1jdGEge1xuICAgIGEge1xuICAgICAgQGV4dGVuZCAuYnRuLXNlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuICAuc2xpZGVNYW5hZ2VtZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAuaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblxuICAgIC8vIEJvcmRvIHJvc3NvIGNvbG9yYXRvIHBhcnppYWxtZW50ZVxuICAgIC8vIGh0dHBzOi8vd3d3LnZpZ2V0LmNvbS9hcnRpY2xlcy9jb2xvci1vdXRzaWRlLXRoZS1saW5lcy13aXRoLXBhcnRpYWwtY2lyY3VsYXItZ3JhZGllbnQtaW1hZ2UtYm9yZGVycy9cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgbGVmdDogLTJweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIHdpZHRoOiA0NHB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChcbiAgICAgICAgICBmcm9tIDBkZWcsXG4gICAgICAgICAgJGdyaWdpbyxcbiAgICAgICAgICAkZ3JpZ2lvIHZhcigtLWRhdGEtaW5kaWNhdG9yKSxcbiAgICAgICAgICB0cmFuc3BhcmVudCB2YXIoLS1kYXRhLWluZGljYXRvcilcbiAgICAgICk7XG5cbiAgICAgIG1hc2s6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICBmYXJ0aGVzdC1zaWRlLFxuICAgICAgICAgIHRyYW5zcGFyZW50IGNhbGMoMTAwJSAtIDNweCksXG4gICAgICAgICAgI2ZmZiBjYWxjKDEwMCUgLSAycHgpXG4gICAgICApO1xuICAgIH1cbiAgfVxuICAuc2xpZGVNYW5hZ2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgbGVmdDogMXB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcblxuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgJi5pc1BhdXNlZCB7IEBpbmNsdWRlIGljb24oJ2JlZm9yZScsICdwbGF5JykgeyBwYWRkaW5nLWxlZnQ6IDRweDsgfTsgfVxuICAgICYuaXNQbGF5aW5nIHsgQGluY2x1ZGUgaWNvbignYmVmb3JlJywgJ3BhdXNlLXNpbXBsZScpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5ncmlkVGV4dHMge1xuICAgICAgaGVpZ2h0OiA3NXZoO1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogNzUpO1xuICAgICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8gaDIgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbiAgICAuc2xpZGVNYW5hZ2VtZW50IHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgYm90dG9tOiA4MHB4O1xuICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuZ3JpZFRleHRzIHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDApO1xuICAgICAgcGFkZGluZy10b3A6IDI1MHB4O1xuICAgIH1cblxuICAgIC5zbGlkZU1hbmFnZW1lbnQgeyBib3R0b206IDEyMHB4OyB9XG4gIH1cbn1cblxuLy8gUmVnb2xlIGFnZ2l1bnRpdmUgcGVyIFBhcmFncmFwaCBCYW5uZXIgc2xpZGVyIGNvbiBjb250ZW51dGkgYSBzaW5pc3RyYVxuLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlci5pdGVtc09uTGVmdCB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAuY2VsbFRleHRzIHsgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoMCwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRndXR0ZXItdHlwZTogJ21hcmdpbicsICRicmVha3BvaW50OiAnc21hbGwnKTsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLnBhcmFncmFwaC0tdHlwZS0tYmFubmVyLXNsaWRlIC5jZWxsVGV4dHMgeyBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgwLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGd1dHRlci10eXBlOiAnbWFyZ2luJywgJGJyZWFrcG9pbnQ6ICdtZWRpdW0nKTsgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLWJhbm5lci1zbGlkZSAuY2VsbFRleHRzIHsgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoMCwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRndXR0ZXItdHlwZTogJ21hcmdpbicsICRicmVha3BvaW50OiAnbGFyZ2UnKTsgfVxuICB9XG59XG4iLCIvLyBQYXJhZ3JhcGggQnJpZ2h0Y292ZSBWaWRlb1xyXG4ucGFyYWdyYXBoLS10eXBlLS1icmlnaHRjb3ZlLXZpZGVvIHtcclxuICAvLyBMYSB2aXN1YWxpenphemlvbmUgw6ggZGVmaW5pdGEgaW4gX2JyaWdodGNvdmVfdmlkZW8uc2Nzc1xyXG59XHJcblxyXG4vLyBQYXJhZ3JhcGggRG9jdW1lbnRzIHdyYXBwZXJcclxuLnBhcmFncmFwaC0tdHlwZS0tZG9jdW1lbnRzLXdyYXBwZXIge1xyXG4gIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8ge1xyXG4gICAgQGV4dGVuZCAuaGVhZGluZ19tO1xyXG5cclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEJsb2NrIFBvc2l6aW9uaSBhcGVydGUgKyBQYXJhZ3JhcGggUG9zaXppb25lIGFwZXJ0YVxuLmJsb2NrLWJsb2NrLWNvbnRlbnQuYmxvY2stcG9zaXppb25pLWFwZXJ0ZSB7XG4gIHAuYmxvY2tUaXRsZSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcC5ibG9ja1RpdGxlIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICB9XG59XG4ucGFyYWdyYXBoLS10eXBlLS1wb3NpemlvbmUtYXBlcnRhIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAuZmxleC1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgkYmxhY2ssIDAuMSk7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtcGxhY2UsIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8sIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55IHtcbiAgICBAZXh0ZW5kIC5ib2R5X3hsO1xuXG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXBsYWNlIHsgZmxleC1zaHJpbms6IDA7IH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtdGl0b2xvIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtY29tcGFueSB7IGZsZXgtc2hyaW5rOiAwOyB9XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWN0YSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMDtcblxuICAgIGEge1xuICAgICAgQGV4dGVuZCAuYm9keV9sO1xuXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBmb250LWZhbWlseTogJHNvbGVEaXNwbGF5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRzb2xlRGlzQm9sZDtcblxuICAgICAgLy8gJjpmb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICRibGFjazsgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDRweCA4cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICBjb2xvcjogJGdyaWdpbztcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmZsZXgtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMzVweCAzMHB4IDM1cHggNDBweDtcbiAgICB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtcGxhY2UsIC5maWVsZC0tbmFtZS1maWVsZC10aXRvbG8geyB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55LCAuZmllbGQtLW5hbWUtZmllbGQtY3RhIHsgd2lkdGg6IDUwJTsgfVxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jdGEgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY29tcGFueSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jdGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGEgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBzcGFuIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuZmxleC1jb250YWluZXIgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXBsYWNlIHtcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXRpdG9sbyB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1jb21wYW55IHsgd2lkdGg6IDIyMHB4OyB9XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtY3RhIHsgd2lkdGg6IDEyMHB4OyB9XG4gIH1cbn1cbiIsIi8qKlxuICogRGVmaW5pemlvbmkgY29tdW5pIGEgdHV0dGUgbGUgdmlzdGVcbiAqIExlIHZpc3RlIGNoZSByaWd1YXJkYW5vIHVuIGNlcnRvIHRpcG8gZGkgY29udGVudXRvIHZhbm5vIHN0aWxpenphdGUgbmVsIHJlbGF0aXZvIGZpbGUgY29udGVudF90eXBlcy9fKi5zY3NzXG4gKi9cblxuXG4vLyBQYWdpbmF6aW9uZSBuZWxsZSB2aXN0ZVxuLnZpZXdQYWdlZCB7XG4gIG5hdi5wYWdlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4gIHVsLnBhZ2VyX19pdGVtcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogNDBweCBhdXRvIDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgZm9udC1zaXplOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIEdlbmVyaWNvIGVsZW1lbnRvIGRlbCBwYWdpbmF0b3JlXG4gICAgbGkucGFnZXJfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWluLXdpZHRoOiAzNnB4O1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICY6YmVmb3JlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5ib2R5X3h4bDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDs7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyaWdpbztcbiAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZyZWNjZSBhdmFudGkgZWQgaW5kaWV0cm9cbiAgICBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tcHJldmlvdXMsIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1uZXh0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBQcmltbyBlZCB1bHRpbW8gZWxlbWVudG9cbiAgICBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tZmlyc3QsIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1sYXN0IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JpZ2lvO1xuICAgICAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAmOmhvdmVyIGEgeyBjb2xvcjogJHdoaXRlOyB9XG5cbiAgICAgIHNwYW4uaWNuLWFycm93LWZvcndhcmQ6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgIH1cbiAgICB9XG4gICAgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLWZpcnN0IHNwYW4uaWNuLWFycm93LWZvcndhcmQ6YmVmb3JlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1sYXN0IHt9XG5cbiAgICBsaS5wYWdlcl9faXRlbS0tZWxsaXBzaXMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIFZvY2UgY29ycmVudGVcbiAgICBsaS5wYWdlcl9faXRlbS5jdXJyZW50IGEge1xuICAgICAgYmFja2dyb3VuZDogJGdyaWdpbztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0geyBtYXJnaW46IDAgOHB4OyB9XG4gIH1cbn1cblxuLy8gSW5maW5pdGUgbG9hZGVyIHBhZ2VyXG4udmlld0luZmluaXRlUGFnZWQge1xuICAuanMtcGFnZXJfX2l0ZW1zLmluZmluaXRlLXBhZ2VyIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBsaTpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLy8gYSB7IEBleHRlbmQgYS5sb2FkZXI7IH1cbiAgfVxufVxuXG4vLyBCZXR0ZXIgRXhwb3NlZCBGaWx0ZXJcbi5iZWZGaWx0ZXJzIHtcbiAgLmJlZi1leHBvc2VkLWZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgIGxlZ2VuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIGxhYmVse1xuICAgICAgQGV4dGVuZCAuaGVhZGluZ194cztcbiAgICB9XG5cbiAgICA+IC5qcy1mb3JtLWl0ZW0geyBtYXJnaW46IDAgMTVweDsgfVxuXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIEBleHRlbmQgLmJvZHlfeGw7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5NTg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgICAgIGNvbG9yOiAkYmxhY2syNTtcblxuICAgICAgLy8gJjpmb2N1cyB7IGJvcmRlci1jb2xvcjogJGJsYWNrOyB9XG4gICAgfVxuXG4gICAgLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIC5iZWYtY2hlY2tib3hlcyB7XG4gICAgICAuanMtZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwIDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBsYWJlbC5vcHRpb24ge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmlnaW82MDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbC5vcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JpZ2lvO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcblxuICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHggMCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMzVweCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTFweCA2cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTUwJyBoZWlnaHQ9JzcwLjgnJTNFJTNDcG9seWdvbiBwb2ludHM9Jzc1JTJDNzAuOCAwJTJDMCAxNTAlMkMwJyBmaWxsPSclMjMzRDNEM0QnIC8lM0UlM0Mvc3ZnJTNFXCIpO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRncmlnaW87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LFxuICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1hcmNoaXZlTWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgLmpzLWZvcm0taXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAxNXB4IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgaW5wdXRbdHlwZT0ndGV4dCddIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgICAgLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmJlZi1jaGVja2JveGVzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LCAuc2VsZWN0Mi1jb250YWluZXItLWFyY2hpdmVNZW51IHsgbWF4LXdpZHRoOiAzNjBweDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHt9XG4gIH1cbn1cbi5iZWZGaWx0ZXJzLmJlZkZpbHRlcnNDZW50ZXIge1xuICAuYmVmLWV4cG9zZWQtZm9ybSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG59XG5cbi52aWV3Q2VsbEVtcHR5IHtcbiAgcGFkZGluZzogMTVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAuYm9keV94bDtcblxuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJGdyaWdpbztcbiAgfVxufVxuXG4uZHJhZ2dhYmxlVmlldyB7XG4gIC52aWV3SXRlbXMge1xuXG4gICAgLnRhYmxlZHJhZy10b2dnbGUtd2VpZ2h0LXdyYXBwZXIsXG4gICAgLnRhYmxlZHJhZy1jaGFuZ2VkLXdhcm5pbmcge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICAudGFibGVkcmFnLWNoYW5nZWQtd2FybmluZyB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZlcmRlY2hpYXJvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgLmRyYWdnYWJsZSB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggNnB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAudmlld3MtZmllbGQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgYS50YWJsZWRyYWctaGFuZGxlIHtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuXG4gICAgICAgICAgLmhhbmRsZSB7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRyYWdnYWJsZS5kcmFnIHRkIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZXlMaWdodDsgfVxuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wcmVzc1ZpZXcuZzI0TGlzdCB7XG4gIC5iZWYtZXhwb3NlZC1mb3JtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxhYmVsLCBsZWdlbmQge1xuICAgICAgQGV4dGVuZCAuaGVhZGluZ194cztcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgIGZsZXgtYmFzaXM6IDE4MHB4O1xuXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIC5qcy1mb3JtLXR5cGUtdGV4dGZpZWxkIHsgZmxleC1ncm93OiAxOyB9XG5cbiAgICAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSB7IGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG4gIH1cblxuICAudmlld3Mtcm93IHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmJlZi1leHBvc2VkLWZvcm0ge1xuICAgICAgLmZvcm0tY29tcG9zaXRlLmZpZWxkc2V0LWZha2UgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgfVxuICB9XG59XG5cbi5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXMsXG4ucHJlc3NWaWV3LmNvbXVuaWNhdGlJbnZlc3RvcnMge1xuICAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxhYmVsLCBsZWdlbmQge1xuICAgICAgQGV4dGVuZCAuaGVhZGluZ194cztcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5qcy1mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgIGZsZXgtYmFzaXM6IDMzMHB4O1xuXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIC5qcy1mb3JtLXR5cGUtdGV4dGZpZWxkIHsgZmxleC1ncm93OiAxOyB9XG4gIH1cbn1cbi5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXMge1xuICAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gICAgLmZvcm0taXRlbS1wci10eXBlLCAuZm9ybS1pdGVtLWFydC10eXBlIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG5cbiAgLnZpZXdzLXJvdyB7IG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbn1cbi5wcmVzc1ZpZXcuY29tdW5pY2F0aUludmVzdG9ycyAudmlld3Mtcm93IHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG5cbi5wcmVzc1ZpZXcubmV3c1ByZXNzUmVsZWFzZXNIcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubmV3c1ByZXNzV3JhcHBlciB7XG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgaGVhZGVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICBhOmZpcnN0LW9mLXR5cGUgeyBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgICB9XG5cbiAgICAvLyBHZXN0aXNjbyB0cmFtaXRlIE11dXJpXG4gICAgLml0ZW1zV3JhcHBlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5uZXdzUHJlc3NTdGlja3kge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMTAwcHg7XG4gICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLm5ld3NQcmVzc1dyYXBwZXIge1xuICAgICAgLml0ZW1zV3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgLyAyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgLyAyKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpIC8gMik7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpIC8gMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyhtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyBOZWxsZSBwYWdpbmUgZGkgYXJjaGl2aW8gZ2VzdGlzY28gaWwgbWFyZ2luIGJvdHRvbVxuLmFyY2hpdmVQYWdlIC5kb2N1bWVudHNWaWV3cyB7IEBleHRlbmQgLml0ZW0tbWFyZ2luLWJvdHRvbS1tZWRpdW07IH1cblxuXG4uZG9jdW1lbnRzVmlld3Mudmlld1Jpc3VsdGF0aVByZXNlbnRhemlvbmkge1xuICBoMi5oZWFkaW5nX20ud3JhcHBlclRpdGxlIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4gIC52aWV3SXRlbXMgLndyYXBwZXJJdGVtcyB7XG4gICAgQGV4dGVuZCAuaXRlbS1tYXJnaW4tYm90dG9tLW1lZGl1bTtcblxuICAgICY6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLndyYXBwZXJOb3RlcyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGgyLmhlYWRpbmdfbS53cmFwcGVyVGl0bGUgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIH1cbn1cbiIsIi52aWV3TWFuYWdlci52aWV3Q29uc2lnbGlvQW1taW5pc3RyYXppb25lQ29taXRhdGkge1xuICAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIHtcbiAgICAgIC5maWVsZHNldC13cmFwcGVyIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgICAgLmZvcm0tcmFkaW9zIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICAuanMtZm9ybS1pdGVtIHsgbWFyZ2luOiAwOyB9XG5cbiAgICAgICAgLmpzLWZvcm0tdHlwZS1yYWRpbyB7XG4gICAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcm9zYTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JpZ2lvO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLXZpc2libGUgKyBsYWJlbCB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgIzAwN0FDQztcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1jb21wb3NpdGUuZmllbGRzZXQtZmFrZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQoJ2hvcml6b250YWwnLCBmYWxzZSk7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIsICRndXR0ZXItdHlwZTogJ21hcmdpbicpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXJhZGlvcyB7XG4gICAgICAgIHVsIHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4gICAgICAgIGxpIHsgbWFyZ2luOiAwIDEwcHggMTBweCAxMHB4OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLWNvbXBvc2l0ZS5maWVsZHNldC1mYWtlIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQoJ2hvcml6b250YWwnLCB0cnVlKTtcblxuICAgICAgLmZpZWxkc2V0LXdyYXBwZXIgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwLCAkZ3V0dGVyLXR5cGU6ICdub25lJyk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6ICdtYXJnaW4nLCAkYnJlYWtwb2ludDogJ2xhcmdlJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3TWFuYWdlci52aWV3Tm90ZSB7XG4gIC52aWV3cy1maWVsZC1maWVsZC1ub3RlIHtcbiAgIEBleHRlbmQgLmJvZHlfbTtcblxuICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLy8gLS0tIFNUSUxJIENPTlRFTlVUSSBDT01VTkkgLS0tXG5cbi8vIEhlYWRlciAocGVyIG9yYSBzb2xvIEJhc2ljIFBhZ2UpXG4ubm9kZUhlYWRlciB7XG5cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWhlYWRlci10ZXh0IHAge1xuICAgIEBleHRlbmQgLmhlYWRpbmdfbTtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1oZWFkZXItY3RhIGEgeyBAZXh0ZW5kIC5idG4tcHJpbWFyeTsgfVxuXG4gIC8vIFRyYSBpIDIgZWxlbWVudGkgNDBweCwgbWEgdHJhIHF1ZXN0byBlIGlsIGNvbnRlbnV0byBwYWdpbmEgNTBweFxuICAuY2VsbC5zbWFsbC0xMiB7XG4gICAgPiBkaXY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgfVxufVxuXG4vLyBVc2F0byBuZWxsZSB2aXN0ZSwgbW9zdHJhIGRhdGEgcHViYmxpY2F6aW9uZSwgdGl0b2xvIGUgbGluayBhbCBmaWxlXG4vLyBVc2F0byBwZXIgc3RhbXBhcmUgaWwgbWVkaWFcbi5ub2RlLWNvbnRlbnQubm9kZS1kb3dubG9hZC1maWxlcyxcbi5tZWRpYS5tZWRpYS0tdHlwZS1kb2N1bWVudC5tZWRpYS0tdmlldy1tb2RlLWRvd25sb2FkLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmRvY3VtZW50V3JhcHBlciwgLm1lZGlhV3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyaWdpbztcbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1lZGlhTGluayBhLCAubWVkaWFTaXplIHtcbiAgICAvLyBAZXh0ZW5kIC5ib2R5X3hsO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gIH1cblxuICAubWVkaWFMaW5rIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICBhIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICBmb250LXdlaWdodDogJHNvbGVCb2xkO1xuXG4gICAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgcCB7XG4gICAgICAgIEBleHRlbmQgLmJvZHlfbTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWFJbmZvcyB7fVxuICAubWVkaWFTaXplIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5tZWRpYUljbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkZ3JpZ2lvO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuZG9jdW1lbnRXcmFwcGVyLCAubWVkaWFXcmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSB7IGZsZXgtYmFzaXM6IDE5MHB4OyB9XG5cbiAgICAubWVkaWFJbmZvcyB7XG4gICAgICBmbGV4LWJhc2lzOiAxNzRweDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5tZWRpYUxpbmsge1xuICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1lZGlhU2l6ZSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMjBweDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5tZWRpYUxpbmsgYTpob3ZlciB7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuIiwiXHJcbi5tZWRpYS5hbGlnbi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuXHJcbi5tZWRpYS5tZWRpYS0tdHlwZS1kb2N1bWVudC5tZWRpYS0tdmlldy1tb2RlLWRvd25sb2FkLWl0ZW0ge1xyXG5cclxuICAubWVkaWFXcmFwcGVyIHsgZmxleC13cmFwOiB3cmFwOyB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAubWVkaWFXcmFwcGVyIHsgZmxleC13cmFwOiBub3dyYXA7IH1cclxuICB9XHJcbn1cclxuXHJcbmFydGljbGUubWVkaWEge1xyXG4gIC5maWVsZC0tbmFtZS1maWVsZC1tZWRpYS1zdmcgc3ZnIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuIiwiLy8gLS0tIFNUSUxJIENPTlRFTlVUTyBCQVNJQyBQQUdFUyAtLS1cblxuLy8gU3RpbGUgcGVyIDQwMyBlIDQwNFxuLnBhZ2Utbm9kZS10eXBlLXBhZ2UucGFnZUVycm9yIHtcbiAgLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDE4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjAwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNjBweCk7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAZXh0ZW5kIC5oZWFkaW5nX3hsO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVnb2xlIGNvbXVuaSBhZCBBcnRpY2xlLCBQcmVzcyBSZWxlYXNlIEcyNCBSYWNjb250byAtIHBhZ2luYSBkZXR0YWdsaW9cbi5wcmVzc0NvbnRlbnQubm9kZS12aWV3LW1vZGUtZnVsbCB7XG4gIC5ncmlkSGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiA2NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHtcbiAgICAgIEBleHRlbmQgLmJvZHlfeHhsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgQGV4dGVuZCAuaGVhZGluZ194bDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNlbGxCYWNrIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICBhLmxpbmstYXJyb3ctYmFjayB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuXG4gICAgICAgICY6YWZ0ZXIgeyBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jZWxsRG9jdW1lbnRzIHsgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxufVxuLm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtZnVsbCB7fVxuXG4vLyBHMjQgUmFjY29udG8gdGVhc2VyIGJpZywgdmlzdGEgUHJlc3MsIGRpc3BsYXkgRzI0IHJhY2NvbnRhXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyLWJpZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gIC5jZWxsQ292ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhc3BlY3QtcmF0aW86IDkgLyA1O1xuICB9XG4gIC5iZ0NvdmVyQWJzIHt9XG5cbiAgLmNlbGxUZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweCBjYWxjKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiA1OHB4O1xuICB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC1wdWJsaXNoaW5nLWRhdGUge1xuICAgIEBleHRlbmQgLmJvZHlfeHhsO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgYS5jbnRUaXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gIH1cbiAgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgIEBleHRlbmQgLmJvZHlfeHhsO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBwIHtcbiAgICAgIEBleHRlbmQgLmJvZHlfeHhsO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB9XG4gIH1cblxuICBhLmJ0bi1zcXVhcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgYS5mdWxsTGluayB7fVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmNlbGxUZXh0IHtcbiAgICAgIHBhZGRpbmc6IDQwcHggY2FsYyhtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pIC8gMik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjhweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLmNlbGxDb3ZlciB7IGFzcGVjdC1yYXRpbzogYXV0bzsgfVxuXG4gICAgLmNlbGxUZXh0IHsgcGFkZGluZzogODBweCAwOyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmlnaW87XG5cbiAgICAgIC5jZWxsVGV4dCwgYS5jbnRUaXRsZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC8vIFNpbXVsbyBzdGF0byBob3ZlclxuICAgICAgYS5idG4tc3F1YXJlIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAmOmJlZm9yZSB7IGxlZnQ6IDMwcHg7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRzI0IFJhY2NvbnRvICsgQXJ0aWNsZSwgZGlzcGxheSBFbnRpdHlRdWV1ZSBIUCwgdmlzdGEgUHJlc3MsIGRpc3BsYXkgRzI0IEhQXG4ubm9kZS1jb250ZW50LnByZXNzSHAtZXZpZGVuemEge1xuICAuY250SGVhZGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGEubGlua0NvdmVyIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvdmVyIHt9XG5cbiAgc3Bhbi5pY24tcGxheSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JpZ2lvO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgfVxuICB9XG4gIC5jbnRUZXh0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCA1OHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB9XG5cbiAgbGFiZWwubGJsVHlwZSwgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSB7XG4gICAgQGV4dGVuZCAuYm9keV9tO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbiAgbGFiZWwubGJsVHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbiAgLmNudFRpdGxlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbiAgLmJ0bi1zcXVhcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5jZWxsVGV4dCB7IHBhZGRpbmctYm90dG9tOiA2OHB4OyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLmNudFRleHRzIHsgcGFkZGluZzogMzBweCAzMHB4IDgwcHggMzBweDsgfVxuXG4gICAgc3Bhbi5pY24tcGxheTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICB9XG5cbiAgICAmOm5vdCgubm9kZS10eXBlLWcyNC1yYWNjb250bykgYS5jbnRMaW5rOmhvdmVyIHtcbiAgICAgIC5jbnRUaXRsZSB7XG4gICAgICAgIGNvbG9yOiAkZ3JpZ2lvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLmNudFRleHRzIHsgcGFkZGluZzogNDBweCA0MHB4IDgwcHggNDBweDsgfVxuICB9XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtZW50aXR5cXVldWUtaHAge1xuICAuY250VGV4dHMgeyBiYWNrZ3JvdW5kOiAkYmxhY2s7IH1cblxuICBsYWJlbC5sYmxUeXBlLCAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHsgY29sb3I6ICR3aGl0ZTsgfVxuICAuY250VGl0bGUgeyBjb2xvcjogJHdoaXRlOyB9XG59XG5cblxuXG4vLyBBcnRpY2xlLCBQcmVzcyBSZWxlYXNlIGUgR3J1cHBvMjQsIERpc3BsYXkgdGVhc2VyXG4vLyBSaWNoaWFtYXRpIGRhIHZpc3RhIFByZXNzLCBkaXNwbGF5IE5ld3MgQ29tdW5pY2F0aVxuLnByZXNzQXJ0UHIubm9kZS12aWV3LW1vZGUtdGVhc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAycHggMTBweCAwIHJnYmEoJGJsYWNrICwwLjEpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmNudEhlYWRlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBhLmxpbmtDb3ZlciB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC1jb3ZlciB7fVxuXG4gIC5jbnRUZXh0cyB7IHBhZGRpbmc6IDIwcHggMjBweCAzMHB4IDIwcHg7IH1cbiAgbGFiZWwubGJsVHlwZSwgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSB7XG4gICAgQGV4dGVuZCAuYm9keV9tO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICBsYWJlbC5sYmxUeXBlIHtcbiAgICBmb250LXdlaWdodDogJHNvbGVNZWRpdW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHt9XG5cbiAgYS5jbnRUaXRsZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc29sZVJlZztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gIH1cblxuICAuY250Rm9vdGVyIHsgcGFkZGluZzogMCAyMHB4IDIwcHggMjBweDsgfVxuICAuZmllbGQtLW5hbWUtZmllbGQtbWVkaWEtZG9jdW1lbnRzIHtcbiAgICAubWVkaWFMaW5rIGEge1xuICAgICAgQGV4dGVuZCAuYm9keV9sO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBmb250LWZhbWlseTogJHNvbGVEaXNwbGF5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRzb2xlRGlzQm9sZDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYS5jbnRUaXRsZTpob3ZlciB7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWFydGljbGUubm9kZS12aWV3LW1vZGUtdGVhc2VyIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1nMjQtcmFjY29udG8ubm9kZS12aWV3LW1vZGUtdGVhc2VyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cbiAgbGFiZWwubGJsVHlwZSwgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSB7IGNvbG9yOiAkd2hpdGU7IH1cblxuICBhLmNudFRpdGxlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIC8vICY6Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBhLmNudFRpdGxlOmhvdmVyIHsgY29sb3I6ICRyb3NhMjsgfVxuICB9XG59XG5cblxuLy8gUHJlc3MgUmVsZWFzZSBUZWFzZXIgYWx0ZXJuYXRlXG4vLyBSaWNoaWFtYXRpIGRhIHZpc3RhIFByZXNzLCBkaXNwbGF5IENvbXVuaWNhdGkgU3RhbXBhIEludmVzdG9yc1xuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtcHJlc3MtcmVsZWFzZS5ub2RlLXZpZXctbW9kZS10ZWFzZXItYWx0ZXJuYXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKCRibGFjayAsMC4xKTtcblxuICAuZG9jdW1lbnRXcmFwcGVyIHsgcGFkZGluZzogMjBweDsgfVxuXG4gIC53cnBUb3AgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC10eXBlLCAuZmllbGQtLW5hbWUtZmllbGQtcHVibGlzaGluZy1kYXRlIHtcbiAgICBAZXh0ZW5kIC5ib2R5X207XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JpZ2lvO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzb2xlTWVkaXVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXB1Ymxpc2hpbmctZGF0ZSB7fVxuXG4gIC53cnBCb3QgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpYUxpbmsgYSB7XG4gICAgQGV4dGVuZCAuaGVhZGluZ19tO1xuXG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbiAgLm1lZGlhSW5mbyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xuXG4gICAgQGV4dGVuZCAuYm9keV9sO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkc29sZURpc3BsYXk7XG4gICAgZm9udC13ZWlnaHQ6ICRzb2xlQm9sZDtcbiAgICBjb2xvcjogJGdyaWdpbztcbiAgfVxuICBzcGFuW2NsYXNzXj1cImljbi1cIl0ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5tZWRpYUluZm8ge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLndycFRvcCB7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuZmllbGQtLW5hbWUtZmllbGQtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC53cnBCb3Qge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gICAgLm1lZGlhTGluayB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5tZWRpYUxpbmsgYTpob3ZlciB7IGNvbG9yOiAkZ3JpZ2lvOyB9XG4gIH1cbn1cblxuXG5cbi8vIEljb25lIHBlciBsYSB0aXBvbG9naWFcbi5ub2RlVHlwZUljb25zLmZsZXhJY29ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcblxuICAuZmxleEljb24ge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGJhY2tncm91bmQ6ICRyb3NhMjtcblxuICAgIC8vY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmljaGlhbWF0byBkYSBQYXJhZ3JhcGggTWFuYWdlbWVudFxyXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYW5hZ2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwsXHJcbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hbmFnZXIubm9kZS12aWV3LW1vZGUtdGVhc2VyIHtcclxuXHJcbiAgLnRlYXNlcldyYXBwZXIge1xyXG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLWNvdmVyIGltZyB7IHdpZHRoOiAxMDAlOyB9XHJcblxyXG4gICAgLnRleHRXcmFwcGVyIHsgcGFkZGluZzogMjBweCAyMHB4IDYwcHggMjBweDsgfVxyXG5cclxuICAgIGgyLCBwIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gICAgLm1hbmFnZXJOYW1lIHt9XHJcbiAgICBwLm1hbmFnZXJSb2xlIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4gIH1cclxuXHJcbiAgLm1hbmFnZXJQb3B1cCB7IGRpc3BsYXk6IG5vbmU7IH1cclxufVxyXG5cclxuLy8gRmFuY3lib3ggZGVpIG1hbmFnZXJcclxuLmZhbmN5Ym94LWNvbnRhaW5lci5mYW5jeU1hbmFnZXIge1xyXG4gIC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG4gIC5tYW5hZ2VyUG9wdXAgeyBiYWNrZ3JvdW5kOiAkd2hpdGU7IH1cclxuXHJcbiAgLm1hbmFnZXJOYW1lIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gIHAubWFuYWdlclJvbGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcblxyXG4gIC5tYW5hZ2VyUG9wdXBCb3R0b20geyBtYXJnaW4tdG9wOiA0MHB4OyB9XHJcbiAgLmZpZWxkLS1uYW1lLWJvZHkgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcblxyXG4gIC5maWVsZC0tbmFtZS1maWVsZC1hdHRhY2htZW50IHsgbWFyZ2luLXRvcDogMjBweDsgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyBEYSB0YWJsZXQgaW4gZ2nDuSBub24gdXNvIGxvIHN0aWxlIGhlYWRpbmdfeGwsIG1hIGhlYWRpbmdfbFxyXG4gICAgLm1hbmFnZXJOYW1lIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Mik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAuZ3JpZC1jb250YWluZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZy10b3A6IDkwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1hdHRhY2htZW50IHsgbWFyZ2luLXRvcDogNDBweDsgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiXG4vLyBSZWdvbGUgQWRkVG9DYWxlbmRhclxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtZXZlbnQge1xuICAuZXZlbnRJY24ge1xuICAgIEBleHRlbmQgLmJvZHlfbDtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc29sZUJvbGQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG5cbiAgICBzcGFuLmFkZGV2ZW50YXRjX2ljb24geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICBzcGFuLmljbi1jYWxlbmRhcjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBjb2xvcjogJGdyaWdpbztcbiAgICB9XG5cbiAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gIH1cbiAgLmV2ZW50UGFzdCB7IG9wYWNpdHk6IDAuNTsgfVxufVxuXG4vLyBFdmVudG8gY29uIEFkZFRvQ2FsZW5kYXJcbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWV2ZW50Lm5vZGUtdmlldy1tb2RlLXRlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuZXZlbnRXcmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyaWdpbztcbiAgfVxuXG4gIC5ldmVudERhdGUge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNFRkJDQTkgMCUsICNGNUU1RDUgMTAwJSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCA2MHB4IDgzcHggMCByZ2JhKDAsMCwwLDAuMDUpO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmVkRGF5LCAuZWRNb250aCwgLmVkWWVhciB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiAgICAuZWREYXkge1xuICAgICAgQGV4dGVuZCAuaGVhZGluZ19sO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5lZE1vbnRoLCAuZWRZZWFyIHtcbiAgICAgIEBleHRlbmQgLmJvZHlfeHhsO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5ldmVudFNpZGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7IC8vIERpbWVuc2lvbmUgZSBtYXJnaW4gLmV2ZW50RGF0ZVxuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmV2ZW50VGl0bGUge1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZvbnQtZmFtaWx5OiAkc29sZURpc3BsYXk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgfVxuXG4gIC5ldmVudENhbGVuZGFyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIC5ldkxibCB7XG4gICAgICBAZXh0ZW5kIC5ib2R5X2w7XG5cbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgZm9udC13ZWlnaHQ6ICRzb2xlQm9sZDtcbiAgICAgIGNvbG9yOiAkZ3JpZ2lvO1xuICAgIH1cblxuICAgIC5ldmVudEljbiB7fVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAuZXZlbnRXcmFwcGVyIHsgcGFkZGluZzogMDsgfVxuICAgIC5ldmVudFNpZGUgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgICAuZXZlbnRUaXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5ldmVudFNpZGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5ldmVudFRpdGxlIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gICAgLmV2ZW50Q2FsZW5kYXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmlnaHRjb3ZlLXZpZGVvLmJyaWdodGNvdmUtdmlkZW8tdmlldy1tb2RlLWRlZmF1bHQge1xuICAudmlkZW9QbGF5ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG5cbiAgICAudmpzLWJpZy1wbGF5LWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZ2lvO1xuXG4gICAgICAvLyAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrOyB9XG4gICAgfVxuICB9XG59XG4iXX0= */
