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

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

body {
  margin: 0; }

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

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

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

a {
  background-color: transparent; }

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

b,
strong {
  font-weight: bolder; }

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

small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

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

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

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

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

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

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

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

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

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

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

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

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

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #2C3843;
  -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: 32px; }

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

.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: 32px;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

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

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 9px;
  background-color: #ffffff;
  -webkit-box-shadow: inset 0 1px 2px rgba(44, 56, 67, 0.1);
          box-shadow: inset 0 1px 2px rgba(44, 56, 67, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #2C3843;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #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: 32px; }

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

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

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

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

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

::placeholder {
  color: #cacaca; }

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #2C3843; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.5;
    padding: 0.5625rem 0; }

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

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

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

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

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

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

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 9px;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #2C3843;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #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: #E13429;
  background-color: #fcebea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #E13429; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #E13429; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #E13429; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #E13429; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #E13429; }

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: #102F51;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

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

a {
  line-height: inherit;
  color: #102F51;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #0e2846; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

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

figure {
  margin: 0; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #2C3843;
  border-radius: 32px; }

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

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

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

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

.cite-block, cite {
  display: block;
  color: #8a8a8a;
  font-size: 0.8125rem; }
  .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: #2C3843;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem; }

.code-block {
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #2C3843;
  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: 75em) {
  .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; } }

.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.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 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.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

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

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

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

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

@media print, screen and (min-width: 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.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 1.25rem / 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.875rem / 2); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.875rem / 2); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.875rem / 2); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.875rem / 2); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.875rem / 2); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.875rem / 2); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.875rem / 2); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.875rem / 2); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.875rem / 2); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.875rem / 2); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.875rem / 2); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.875rem / 2); } }

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

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

@media screen and (min-width: 90em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 1.875rem / 2); }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.33333% + 1.875rem / 2); }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.66667% + 1.875rem / 2); }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 1.875rem / 2); }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.33333% + 1.875rem / 2); }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.66667% + 1.875rem / 2); }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 1.875rem / 2); }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.33333% + 1.875rem / 2); }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.66667% + 1.875rem / 2); }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 1.875rem / 2); }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.33333% + 1.875rem / 2); }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.66667% + 1.875rem / 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: 75em) {
    .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; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 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: 75em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

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

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

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

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

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

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

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

.button, .form-container button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 32px;
  -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, [data-whatinput='mouse'] .form-container button, .form-container [data-whatinput='mouse'] button {
    outline: 0; }
  .button.tiny, .form-container button.tiny {
    font-size: 0.6rem; }
  .button.small, .form-container button.small {
    font-size: 0.75rem; }
  .button.large, .form-container button.large {
    font-size: 1.25rem; }
  .button.expanded, .form-container button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .form-container button, .button.disabled, .form-container button.disabled, .button[disabled], .form-container button[disabled], .button.disabled:hover, .form-container button.disabled:hover, .button[disabled]:hover, .form-container button[disabled]:hover, .button.disabled:focus, .form-container button.disabled:focus, .button[disabled]:focus, .form-container button[disabled]:focus {
    background-color: #102F51;
    color: #ffffff; }
  .button:hover, .form-container button:hover, .button:focus, .form-container button:focus {
    background-color: #0e2845;
    color: #ffffff; }
  .button.primary, .form-container button.primary, .button.primary.disabled, .form-container button.primary.disabled, .button.primary[disabled], .form-container button.primary[disabled], .button.primary.disabled:hover, .form-container button.primary.disabled:hover, .button.primary[disabled]:hover, .form-container button.primary[disabled]:hover, .button.primary.disabled:focus, .form-container button.primary.disabled:focus, .button.primary[disabled]:focus, .form-container button.primary[disabled]:focus {
    background-color: #102F51;
    color: #ffffff; }
  .button.primary:hover, .form-container button.primary:hover, .button.primary:focus, .form-container button.primary:focus {
    background-color: #0d2641;
    color: #ffffff; }
  .button.secondary, .form-container button, .button.secondary.disabled, .form-container button.disabled, .button.secondary[disabled], .form-container button[disabled], .button.secondary.disabled:hover, .form-container button.disabled:hover, .button.secondary[disabled]:hover, .form-container button[disabled]:hover, .button.secondary.disabled:focus, .form-container button.disabled:focus, .button.secondary[disabled]:focus, .form-container button[disabled]:focus {
    background-color: #E13429;
    color: #ffffff; }
  .button.secondary:hover, .form-container button:hover, .button.secondary:focus, .form-container button:focus {
    background-color: #bb241a;
    color: #ffffff; }
  .button.success, .form-container button.success, .button.success.disabled, .form-container button.success.disabled, .button.success[disabled], .form-container button.success[disabled], .button.success.disabled:hover, .form-container button.success.disabled:hover, .button.success[disabled]:hover, .form-container button.success[disabled]:hover, .button.success.disabled:focus, .form-container button.success.disabled:focus, .button.success[disabled]:focus, .form-container button.success[disabled]:focus {
    background-color: #3adb76;
    color: #2C3843; }
  .button.success:hover, .form-container button.success:hover, .button.success:focus, .form-container button.success:focus {
    background-color: #22bb5b;
    color: #2C3843; }
  .button.warning, .form-container button.warning, .button.warning.disabled, .form-container button.warning.disabled, .button.warning[disabled], .form-container button.warning[disabled], .button.warning.disabled:hover, .form-container button.warning.disabled:hover, .button.warning[disabled]:hover, .form-container button.warning[disabled]:hover, .button.warning.disabled:focus, .form-container button.warning.disabled:focus, .button.warning[disabled]:focus, .form-container button.warning[disabled]:focus {
    background-color: #ffae00;
    color: #2C3843; }
  .button.warning:hover, .form-container button.warning:hover, .button.warning:focus, .form-container button.warning:focus {
    background-color: #cc8b00;
    color: #2C3843; }
  .button.alert, .form-container button.alert, .button.alert.disabled, .form-container button.alert.disabled, .button.alert[disabled], .form-container button.alert[disabled], .button.alert.disabled:hover, .form-container button.alert.disabled:hover, .button.alert[disabled]:hover, .form-container button.alert[disabled]:hover, .button.alert.disabled:focus, .form-container button.alert.disabled:focus, .button.alert[disabled]:focus, .form-container button.alert[disabled]:focus {
    background-color: #E13429;
    color: #ffffff; }
  .button.alert:hover, .form-container button.alert:hover, .button.alert:focus, .form-container button.alert:focus {
    background-color: #bb241a;
    color: #ffffff; }
  .button.hollow, .form-container button.hollow, .button.hollow:hover, .form-container button.hollow:hover, .button.hollow:focus, .form-container button.hollow:focus, .button.hollow.disabled, .form-container button.hollow.disabled, .button.hollow.disabled:hover, .form-container button.hollow.disabled:hover, .button.hollow.disabled:focus, .form-container button.hollow.disabled:focus, .button.hollow[disabled], .form-container button.hollow[disabled], .button.hollow[disabled]:hover, .form-container button.hollow[disabled]:hover, .button.hollow[disabled]:focus, .form-container button.hollow[disabled]:focus {
    background-color: transparent; }
  .button.hollow, .form-container button.hollow, .button.hollow.disabled, .form-container button.hollow.disabled, .button.hollow[disabled], .form-container button.hollow[disabled], .button.hollow.disabled:hover, .form-container button.hollow.disabled:hover, .button.hollow[disabled]:hover, .form-container button.hollow[disabled]:hover, .button.hollow.disabled:focus, .form-container button.hollow.disabled:focus, .button.hollow[disabled]:focus, .form-container button.hollow[disabled]:focus {
    border: 1px solid #102F51;
    color: #102F51; }
  .button.hollow:hover, .form-container button.hollow:hover, .button.hollow:focus, .form-container button.hollow:focus {
    border-color: #081829;
    color: #081829; }
  .button.hollow.primary, .form-container button.hollow.primary, .button.hollow.primary.disabled, .form-container button.hollow.primary.disabled, .button.hollow.primary[disabled], .form-container button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .form-container button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .form-container button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .form-container button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus, .form-container button.hollow.primary[disabled]:focus {
    border: 1px solid #102F51;
    color: #102F51; }
  .button.hollow.primary:hover, .form-container button.hollow.primary:hover, .button.hollow.primary:focus, .form-container button.hollow.primary:focus {
    border-color: #081829;
    color: #081829; }
  .button.hollow.secondary, .form-container button.hollow, .button.hollow.secondary.disabled, .form-container button.hollow.disabled, .button.hollow.secondary[disabled], .form-container button.hollow[disabled], .button.hollow.secondary.disabled:hover, .form-container button.hollow.disabled:hover, .button.hollow.secondary[disabled]:hover, .form-container button.hollow[disabled]:hover, .button.hollow.secondary.disabled:focus, .form-container button.hollow.disabled:focus, .button.hollow.secondary[disabled]:focus, .form-container button.hollow[disabled]:focus {
    border: 1px solid #E13429;
    color: #E13429; }
  .button.hollow.secondary:hover, .form-container button.hollow:hover, .button.hollow.secondary:focus, .form-container button.hollow:focus {
    border-color: #751610;
    color: #751610; }
  .button.hollow.success, .form-container button.hollow.success, .button.hollow.success.disabled, .form-container button.hollow.success.disabled, .button.hollow.success[disabled], .form-container button.hollow.success[disabled], .button.hollow.success.disabled:hover, .form-container button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .form-container button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .form-container button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus, .form-container button.hollow.success[disabled]:focus {
    border: 1px solid #3adb76;
    color: #3adb76; }
  .button.hollow.success:hover, .form-container button.hollow.success:hover, .button.hollow.success:focus, .form-container button.hollow.success:focus {
    border-color: #157539;
    color: #157539; }
  .button.hollow.warning, .form-container button.hollow.warning, .button.hollow.warning.disabled, .form-container button.hollow.warning.disabled, .button.hollow.warning[disabled], .form-container button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .form-container button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .form-container button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .form-container button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus, .form-container button.hollow.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .form-container button.hollow.warning:hover, .button.hollow.warning:focus, .form-container button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert, .form-container button.hollow.alert, .button.hollow.alert.disabled, .form-container button.hollow.alert.disabled, .button.hollow.alert[disabled], .form-container button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .form-container button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .form-container button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .form-container button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus, .form-container button.hollow.alert[disabled]:focus {
    border: 1px solid #E13429;
    color: #E13429; }
  .button.hollow.alert:hover, .form-container button.hollow.alert:hover, .button.hollow.alert:focus, .form-container button.hollow.alert:focus {
    border-color: #751610;
    color: #751610; }
  .button.clear, .form-container button.clear, .button.clear:hover, .form-container button.clear:hover, .button.clear:focus, .form-container button.clear:focus, .button.clear.disabled, .form-container button.clear.disabled, .button.clear.disabled:hover, .form-container button.clear.disabled:hover, .button.clear.disabled:focus, .form-container button.clear.disabled:focus, .button.clear[disabled], .form-container button.clear[disabled], .button.clear[disabled]:hover, .form-container button.clear[disabled]:hover, .button.clear[disabled]:focus, .form-container button.clear[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear, .form-container button.clear, .button.clear.disabled, .form-container button.clear.disabled, .button.clear[disabled], .form-container button.clear[disabled], .button.clear.disabled:hover, .form-container button.clear.disabled:hover, .button.clear[disabled]:hover, .form-container button.clear[disabled]:hover, .button.clear.disabled:focus, .form-container button.clear.disabled:focus, .button.clear[disabled]:focus, .form-container button.clear[disabled]:focus {
    color: #102F51; }
  .button.clear:hover, .form-container button.clear:hover, .button.clear:focus, .form-container button.clear:focus {
    color: #081829; }
  .button.clear.primary, .form-container button.clear.primary, .button.clear.primary.disabled, .form-container button.clear.primary.disabled, .button.clear.primary[disabled], .form-container button.clear.primary[disabled], .button.clear.primary.disabled:hover, .form-container button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .form-container button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .form-container button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus, .form-container button.clear.primary[disabled]:focus {
    color: #102F51; }
  .button.clear.primary:hover, .form-container button.clear.primary:hover, .button.clear.primary:focus, .form-container button.clear.primary:focus {
    color: #081829; }
  .button.clear.secondary, .form-container button.clear, .button.clear.secondary.disabled, .form-container button.clear.disabled, .button.clear.secondary[disabled], .form-container button.clear[disabled], .button.clear.secondary.disabled:hover, .form-container button.clear.disabled:hover, .button.clear.secondary[disabled]:hover, .form-container button.clear[disabled]:hover, .button.clear.secondary.disabled:focus, .form-container button.clear.disabled:focus, .button.clear.secondary[disabled]:focus, .form-container button.clear[disabled]:focus {
    color: #E13429; }
  .button.clear.secondary:hover, .form-container button.clear:hover, .button.clear.secondary:focus, .form-container button.clear:focus {
    color: #751610; }
  .button.clear.success, .form-container button.clear.success, .button.clear.success.disabled, .form-container button.clear.success.disabled, .button.clear.success[disabled], .form-container button.clear.success[disabled], .button.clear.success.disabled:hover, .form-container button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .form-container button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .form-container button.clear.success.disabled:focus, .button.clear.success[disabled]:focus, .form-container button.clear.success[disabled]:focus {
    color: #3adb76; }
  .button.clear.success:hover, .form-container button.clear.success:hover, .button.clear.success:focus, .form-container button.clear.success:focus {
    color: #157539; }
  .button.clear.warning, .form-container button.clear.warning, .button.clear.warning.disabled, .form-container button.clear.warning.disabled, .button.clear.warning[disabled], .form-container button.clear.warning[disabled], .button.clear.warning.disabled:hover, .form-container button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .form-container button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .form-container button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus, .form-container button.clear.warning[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover, .form-container button.clear.warning:hover, .button.clear.warning:focus, .form-container button.clear.warning:focus {
    color: #805700; }
  .button.clear.alert, .form-container button.clear.alert, .button.clear.alert.disabled, .form-container button.clear.alert.disabled, .button.clear.alert[disabled], .form-container button.clear.alert[disabled], .button.clear.alert.disabled:hover, .form-container button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .form-container button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .form-container button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus, .form-container button.clear.alert[disabled]:focus {
    color: #E13429; }
  .button.clear.alert:hover, .form-container button.clear.alert:hover, .button.clear.alert:focus, .form-container button.clear.alert:focus {
    color: #751610; }
  .button.disabled, .form-container button.disabled, .button[disabled], .form-container button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after, .form-container 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, .form-container button.dropdown.hollow::after, .button.dropdown.clear::after, .form-container button.dropdown.clear::after {
    border-top-color: #102F51; }
  .button.dropdown.hollow.primary::after, .form-container button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after, .form-container button.dropdown.clear.primary::after {
    border-top-color: #102F51; }
  .button.dropdown.hollow.secondary::after, .form-container button.dropdown.hollow::after, .button.dropdown.clear.secondary::after, .form-container button.dropdown.clear::after {
    border-top-color: #E13429; }
  .button.dropdown.hollow.success::after, .form-container button.dropdown.hollow.success::after, .button.dropdown.clear.success::after, .form-container button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .form-container button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after, .form-container button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .form-container button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after, .form-container button.dropdown.clear.alert::after {
    border-top-color: #E13429; }
  .button.arrow-only::after, .form-container 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, .button-group .form-container button, .form-container .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, .button-group .form-container button:last-child, .form-container .button-group button:last-child {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny .form-container button, .form-container .button-group.tiny button {
    font-size: 0.6rem; }
  .button-group.small .button, .button-group.small .form-container button, .form-container .button-group.small button {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large .form-container button, .form-container .button-group.large button {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded .form-container button, .form-container .button-group.expanded button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .form-container button, .form-container .button-group.primary button, .button-group.primary .button.disabled, .button-group.primary .form-container button.disabled, .form-container .button-group.primary button.disabled, .button-group.primary .button[disabled], .button-group.primary .form-container button[disabled], .form-container .button-group.primary button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .form-container button.disabled:hover, .form-container .button-group.primary button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .form-container button[disabled]:hover, .form-container .button-group.primary button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .form-container button.disabled:focus, .form-container .button-group.primary button.disabled:focus, .button-group.primary .button[disabled]:focus, .button-group.primary .form-container button[disabled]:focus, .form-container .button-group.primary button[disabled]:focus {
    background-color: #102F51;
    color: #ffffff; }
  .button-group.primary .button:hover, .button-group.primary .form-container button:hover, .form-container .button-group.primary button:hover, .button-group.primary .button:focus, .button-group.primary .form-container button:focus, .form-container .button-group.primary button:focus {
    background-color: #0d2641;
    color: #ffffff; }
  .button-group.secondary .button, .form-container button.button-group .button, .button-group.secondary .form-container button, .form-container .button-group.secondary button, .form-container button.button-group button, .button-group.secondary .button.disabled, .form-container button.button-group .button.disabled, .button-group.secondary .form-container button.disabled, .form-container .button-group.secondary button.disabled, .form-container button.button-group button.disabled, .button-group.secondary .button[disabled], .form-container button.button-group .button[disabled], .button-group.secondary .form-container button[disabled], .form-container .button-group.secondary button[disabled], .form-container button.button-group button[disabled], .button-group.secondary .button.disabled:hover, .form-container button.button-group .button.disabled:hover, .button-group.secondary .form-container button.disabled:hover, .form-container .button-group.secondary button.disabled:hover, .form-container button.button-group button.disabled:hover, .button-group.secondary .button[disabled]:hover, .form-container button.button-group .button[disabled]:hover, .button-group.secondary .form-container button[disabled]:hover, .form-container .button-group.secondary button[disabled]:hover, .form-container button.button-group button[disabled]:hover, .button-group.secondary .button.disabled:focus, .form-container button.button-group .button.disabled:focus, .button-group.secondary .form-container button.disabled:focus, .form-container .button-group.secondary button.disabled:focus, .form-container button.button-group button.disabled:focus, .button-group.secondary .button[disabled]:focus, .form-container button.button-group .button[disabled]:focus, .button-group.secondary .form-container button[disabled]:focus, .form-container .button-group.secondary button[disabled]:focus, .form-container button.button-group button[disabled]:focus {
    background-color: #E13429;
    color: #ffffff; }
  .button-group.secondary .button:hover, .form-container button.button-group .button:hover, .button-group.secondary .form-container button:hover, .form-container .button-group.secondary button:hover, .form-container button.button-group button:hover, .button-group.secondary .button:focus, .form-container button.button-group .button:focus, .button-group.secondary .form-container button:focus, .form-container .button-group.secondary button:focus, .form-container button.button-group button:focus {
    background-color: #bb241a;
    color: #ffffff; }
  .button-group.success .button, .button-group.success .form-container button, .form-container .button-group.success button, .button-group.success .button.disabled, .button-group.success .form-container button.disabled, .form-container .button-group.success button.disabled, .button-group.success .button[disabled], .button-group.success .form-container button[disabled], .form-container .button-group.success button[disabled], .button-group.success .button.disabled:hover, .button-group.success .form-container button.disabled:hover, .form-container .button-group.success button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .form-container button[disabled]:hover, .form-container .button-group.success button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .form-container button.disabled:focus, .form-container .button-group.success button.disabled:focus, .button-group.success .button[disabled]:focus, .button-group.success .form-container button[disabled]:focus, .form-container .button-group.success button[disabled]:focus {
    background-color: #3adb76;
    color: #2C3843; }
  .button-group.success .button:hover, .button-group.success .form-container button:hover, .form-container .button-group.success button:hover, .button-group.success .button:focus, .button-group.success .form-container button:focus, .form-container .button-group.success button:focus {
    background-color: #22bb5b;
    color: #2C3843; }
  .button-group.warning .button, .button-group.warning .form-container button, .form-container .button-group.warning button, .button-group.warning .button.disabled, .button-group.warning .form-container button.disabled, .form-container .button-group.warning button.disabled, .button-group.warning .button[disabled], .button-group.warning .form-container button[disabled], .form-container .button-group.warning button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .form-container button.disabled:hover, .form-container .button-group.warning button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .form-container button[disabled]:hover, .form-container .button-group.warning button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .form-container button.disabled:focus, .form-container .button-group.warning button.disabled:focus, .button-group.warning .button[disabled]:focus, .button-group.warning .form-container button[disabled]:focus, .form-container .button-group.warning button[disabled]:focus {
    background-color: #ffae00;
    color: #2C3843; }
  .button-group.warning .button:hover, .button-group.warning .form-container button:hover, .form-container .button-group.warning button:hover, .button-group.warning .button:focus, .button-group.warning .form-container button:focus, .form-container .button-group.warning button:focus {
    background-color: #cc8b00;
    color: #2C3843; }
  .button-group.alert .button, .button-group.alert .form-container button, .form-container .button-group.alert button, .button-group.alert .button.disabled, .button-group.alert .form-container button.disabled, .form-container .button-group.alert button.disabled, .button-group.alert .button[disabled], .button-group.alert .form-container button[disabled], .form-container .button-group.alert button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .form-container button.disabled:hover, .form-container .button-group.alert button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .form-container button[disabled]:hover, .form-container .button-group.alert button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .form-container button.disabled:focus, .form-container .button-group.alert button.disabled:focus, .button-group.alert .button[disabled]:focus, .button-group.alert .form-container button[disabled]:focus, .form-container .button-group.alert button[disabled]:focus {
    background-color: #E13429;
    color: #ffffff; }
  .button-group.alert .button:hover, .button-group.alert .form-container button:hover, .form-container .button-group.alert button:hover, .button-group.alert .button:focus, .button-group.alert .form-container button:focus, .form-container .button-group.alert button:focus {
    background-color: #bb241a;
    color: #ffffff; }
  .button-group.hollow .button, .button-group.hollow .form-container button, .form-container .button-group.hollow button, .button-group.hollow .button:hover, .button-group.hollow .form-container button:hover, .form-container .button-group.hollow button:hover, .button-group.hollow .button:focus, .button-group.hollow .form-container button:focus, .form-container .button-group.hollow button:focus, .button-group.hollow .button.disabled, .button-group.hollow .form-container button.disabled, .form-container .button-group.hollow button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .form-container button.disabled:hover, .form-container .button-group.hollow button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .form-container button.disabled:focus, .form-container .button-group.hollow button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .form-container button[disabled], .form-container .button-group.hollow button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .form-container button[disabled]:hover, .form-container .button-group.hollow button[disabled]:hover, .button-group.hollow .button[disabled]:focus, .button-group.hollow .form-container button[disabled]:focus, .form-container .button-group.hollow button[disabled]:focus {
    background-color: transparent; }
  .button-group.hollow .button, .button-group.hollow .form-container button, .form-container .button-group.hollow button, .button-group.hollow .button.disabled, .button-group.hollow .form-container button.disabled, .form-container .button-group.hollow button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .form-container button[disabled], .form-container .button-group.hollow button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .form-container button.disabled:hover, .form-container .button-group.hollow button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .form-container button[disabled]:hover, .form-container .button-group.hollow button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .form-container button.disabled:focus, .form-container .button-group.hollow button.disabled:focus, .button-group.hollow .button[disabled]:focus, .button-group.hollow .form-container button[disabled]:focus, .form-container .button-group.hollow button[disabled]:focus {
    border: 1px solid #102F51;
    color: #102F51; }
  .button-group.hollow .button:hover, .button-group.hollow .form-container button:hover, .form-container .button-group.hollow button:hover, .button-group.hollow .button:focus, .button-group.hollow .form-container button:focus, .form-container .button-group.hollow button:focus {
    border-color: #081829;
    color: #081829; }
  .button-group.hollow.primary .button, .button-group.hollow.primary .form-container button, .form-container .button-group.hollow.primary button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .form-container button.disabled, .form-container .button-group.hollow.primary button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .form-container button[disabled], .form-container .button-group.hollow.primary button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .form-container button.disabled:hover, .form-container .button-group.hollow.primary button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .form-container button[disabled]:hover, .form-container .button-group.hollow.primary button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .form-container button.disabled:focus, .form-container .button-group.hollow.primary button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow.primary .form-container button[disabled]:focus, .form-container .button-group.hollow.primary button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .form-container button.primary, .form-container .button-group.hollow button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .form-container button.primary.disabled, .form-container .button-group.hollow button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .form-container button.primary[disabled], .form-container .button-group.hollow button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .form-container button.primary.disabled:hover, .form-container .button-group.hollow button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .form-container button.primary[disabled]:hover, .form-container .button-group.hollow button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .form-container button.primary.disabled:focus, .form-container .button-group.hollow button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus, .button-group.hollow .form-container button.primary[disabled]:focus, .form-container .button-group.hollow button.primary[disabled]:focus {
    border: 1px solid #102F51;
    color: #102F51; }
  .button-group.hollow.primary .button:hover, .button-group.hollow.primary .form-container button:hover, .form-container .button-group.hollow.primary button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow.primary .form-container button:focus, .form-container .button-group.hollow.primary button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .form-container button.primary:hover, .form-container .button-group.hollow button.primary:hover, .button-group.hollow .button.primary:focus, .button-group.hollow .form-container button.primary:focus, .form-container .button-group.hollow button.primary:focus {
    border-color: #081829;
    color: #081829; }
  .button-group.hollow.secondary .button, .form-container button.button-group.hollow .button, .button-group.hollow.secondary .form-container button, .form-container .button-group.hollow.secondary button, .form-container button.button-group.hollow button, .button-group.hollow.secondary .button.disabled, .form-container button.button-group.hollow .button.disabled, .button-group.hollow.secondary .form-container button.disabled, .form-container .button-group.hollow.secondary button.disabled, .form-container button.button-group.hollow button.disabled, .button-group.hollow.secondary .button[disabled], .form-container button.button-group.hollow .button[disabled], .button-group.hollow.secondary .form-container button[disabled], .form-container .button-group.hollow.secondary button[disabled], .form-container button.button-group.hollow button[disabled], .button-group.hollow.secondary .button.disabled:hover, .form-container button.button-group.hollow .button.disabled:hover, .button-group.hollow.secondary .form-container button.disabled:hover, .form-container .button-group.hollow.secondary button.disabled:hover, .form-container button.button-group.hollow button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .form-container button.button-group.hollow .button[disabled]:hover, .button-group.hollow.secondary .form-container button[disabled]:hover, .form-container .button-group.hollow.secondary button[disabled]:hover, .form-container button.button-group.hollow button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .form-container button.button-group.hollow .button.disabled:focus, .button-group.hollow.secondary .form-container button.disabled:focus, .form-container .button-group.hollow.secondary button.disabled:focus, .form-container button.button-group.hollow button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .form-container button.button-group.hollow .button[disabled]:focus, .button-group.hollow.secondary .form-container button[disabled]:focus, .form-container .button-group.hollow.secondary button[disabled]:focus, .form-container button.button-group.hollow button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .form-container button, .form-container .button-group.hollow button, .button-group.hollow .button.secondary.disabled, .button-group.hollow .form-container button.disabled, .form-container .button-group.hollow button.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .form-container button[disabled], .form-container .button-group.hollow button[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .form-container button.disabled:hover, .form-container .button-group.hollow button.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .form-container button[disabled]:hover, .form-container .button-group.hollow button[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .form-container button.disabled:focus, .form-container .button-group.hollow button.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus, .button-group.hollow .form-container button[disabled]:focus, .form-container .button-group.hollow button[disabled]:focus {
    border: 1px solid #E13429;
    color: #E13429; }
  .button-group.hollow.secondary .button:hover, .form-container button.button-group.hollow .button:hover, .button-group.hollow.secondary .form-container button:hover, .form-container .button-group.hollow.secondary button:hover, .form-container button.button-group.hollow button:hover, .button-group.hollow.secondary .button:focus, .form-container button.button-group.hollow .button:focus, .button-group.hollow.secondary .form-container button:focus, .form-container .button-group.hollow.secondary button:focus, .form-container button.button-group.hollow button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .form-container button:hover, .form-container .button-group.hollow button:hover, .button-group.hollow .button.secondary:focus, .button-group.hollow .form-container button:focus, .form-container .button-group.hollow button:focus {
    border-color: #751610;
    color: #751610; }
  .button-group.hollow.success .button, .button-group.hollow.success .form-container button, .form-container .button-group.hollow.success button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .form-container button.disabled, .form-container .button-group.hollow.success button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .form-container button[disabled], .form-container .button-group.hollow.success button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .form-container button.disabled:hover, .form-container .button-group.hollow.success button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .form-container button[disabled]:hover, .form-container .button-group.hollow.success button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .form-container button.disabled:focus, .form-container .button-group.hollow.success button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow.success .form-container button[disabled]:focus, .form-container .button-group.hollow.success button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .form-container button.success, .form-container .button-group.hollow button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .form-container button.success.disabled, .form-container .button-group.hollow button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .form-container button.success[disabled], .form-container .button-group.hollow button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .form-container button.success.disabled:hover, .form-container .button-group.hollow button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .form-container button.success[disabled]:hover, .form-container .button-group.hollow button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .form-container button.success.disabled:focus, .form-container .button-group.hollow button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus, .button-group.hollow .form-container button.success[disabled]:focus, .form-container .button-group.hollow button.success[disabled]:focus {
    border: 1px solid #3adb76;
    color: #3adb76; }
  .button-group.hollow.success .button:hover, .button-group.hollow.success .form-container button:hover, .form-container .button-group.hollow.success button:hover, .button-group.hollow.success .button:focus, .button-group.hollow.success .form-container button:focus, .form-container .button-group.hollow.success button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .form-container button.success:hover, .form-container .button-group.hollow button.success:hover, .button-group.hollow .button.success:focus, .button-group.hollow .form-container button.success:focus, .form-container .button-group.hollow button.success:focus {
    border-color: #157539;
    color: #157539; }
  .button-group.hollow.warning .button, .button-group.hollow.warning .form-container button, .form-container .button-group.hollow.warning button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .form-container button.disabled, .form-container .button-group.hollow.warning button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .form-container button[disabled], .form-container .button-group.hollow.warning button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .form-container button.disabled:hover, .form-container .button-group.hollow.warning button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .form-container button[disabled]:hover, .form-container .button-group.hollow.warning button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .form-container button.disabled:focus, .form-container .button-group.hollow.warning button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow.warning .form-container button[disabled]:focus, .form-container .button-group.hollow.warning button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .form-container button.warning, .form-container .button-group.hollow button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .form-container button.warning.disabled, .form-container .button-group.hollow button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .form-container button.warning[disabled], .form-container .button-group.hollow button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .form-container button.warning.disabled:hover, .form-container .button-group.hollow button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .form-container button.warning[disabled]:hover, .form-container .button-group.hollow button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .form-container button.warning.disabled:focus, .form-container .button-group.hollow button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus, .button-group.hollow .form-container button.warning[disabled]:focus, .form-container .button-group.hollow button.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button-group.hollow.warning .button:hover, .button-group.hollow.warning .form-container button:hover, .form-container .button-group.hollow.warning button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow.warning .form-container button:focus, .form-container .button-group.hollow.warning button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .form-container button.warning:hover, .form-container .button-group.hollow button.warning:hover, .button-group.hollow .button.warning:focus, .button-group.hollow .form-container button.warning:focus, .form-container .button-group.hollow button.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button-group.hollow.alert .button, .button-group.hollow.alert .form-container button, .form-container .button-group.hollow.alert button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .form-container button.disabled, .form-container .button-group.hollow.alert button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .form-container button[disabled], .form-container .button-group.hollow.alert button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .form-container button.disabled:hover, .form-container .button-group.hollow.alert button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .form-container button[disabled]:hover, .form-container .button-group.hollow.alert button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .form-container button.disabled:focus, .form-container .button-group.hollow.alert button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow.alert .form-container button[disabled]:focus, .form-container .button-group.hollow.alert button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .form-container button.alert, .form-container .button-group.hollow button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .form-container button.alert.disabled, .form-container .button-group.hollow button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .form-container button.alert[disabled], .form-container .button-group.hollow button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .form-container button.alert.disabled:hover, .form-container .button-group.hollow button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .form-container button.alert[disabled]:hover, .form-container .button-group.hollow button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .form-container button.alert.disabled:focus, .form-container .button-group.hollow button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus, .button-group.hollow .form-container button.alert[disabled]:focus, .form-container .button-group.hollow button.alert[disabled]:focus {
    border: 1px solid #E13429;
    color: #E13429; }
  .button-group.hollow.alert .button:hover, .button-group.hollow.alert .form-container button:hover, .form-container .button-group.hollow.alert button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow.alert .form-container button:focus, .form-container .button-group.hollow.alert button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .form-container button.alert:hover, .form-container .button-group.hollow button.alert:hover, .button-group.hollow .button.alert:focus, .button-group.hollow .form-container button.alert:focus, .form-container .button-group.hollow button.alert:focus {
    border-color: #751610;
    color: #751610; }
  .button-group.clear .button, .button-group.clear .form-container button, .form-container .button-group.clear button, .button-group.clear .button:hover, .button-group.clear .form-container button:hover, .form-container .button-group.clear button:hover, .button-group.clear .button:focus, .button-group.clear .form-container button:focus, .form-container .button-group.clear button:focus, .button-group.clear .button.disabled, .button-group.clear .form-container button.disabled, .form-container .button-group.clear button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .form-container button.disabled:hover, .form-container .button-group.clear button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .form-container button.disabled:focus, .form-container .button-group.clear button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .form-container button[disabled], .form-container .button-group.clear button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .form-container button[disabled]:hover, .form-container .button-group.clear button[disabled]:hover, .button-group.clear .button[disabled]:focus, .button-group.clear .form-container button[disabled]:focus, .form-container .button-group.clear button[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button-group.clear .button, .button-group.clear .form-container button, .form-container .button-group.clear button, .button-group.clear .button.disabled, .button-group.clear .form-container button.disabled, .form-container .button-group.clear button.disabled, .button-group.clear .button[disabled], .button-group.clear .form-container button[disabled], .form-container .button-group.clear button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .form-container button.disabled:hover, .form-container .button-group.clear button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .form-container button[disabled]:hover, .form-container .button-group.clear button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .form-container button.disabled:focus, .form-container .button-group.clear button.disabled:focus, .button-group.clear .button[disabled]:focus, .button-group.clear .form-container button[disabled]:focus, .form-container .button-group.clear button[disabled]:focus {
    color: #102F51; }
  .button-group.clear .button:hover, .button-group.clear .form-container button:hover, .form-container .button-group.clear button:hover, .button-group.clear .button:focus, .button-group.clear .form-container button:focus, .form-container .button-group.clear button:focus {
    color: #081829; }
  .button-group.clear.primary .button, .button-group.clear.primary .form-container button, .form-container .button-group.clear.primary button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .form-container button.disabled, .form-container .button-group.clear.primary button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .form-container button[disabled], .form-container .button-group.clear.primary button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .form-container button.disabled:hover, .form-container .button-group.clear.primary button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .form-container button[disabled]:hover, .form-container .button-group.clear.primary button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .form-container button.disabled:focus, .form-container .button-group.clear.primary button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear.primary .form-container button[disabled]:focus, .form-container .button-group.clear.primary button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .form-container button.primary, .form-container .button-group.clear button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .form-container button.primary.disabled, .form-container .button-group.clear button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .form-container button.primary[disabled], .form-container .button-group.clear button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .form-container button.primary.disabled:hover, .form-container .button-group.clear button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .form-container button.primary[disabled]:hover, .form-container .button-group.clear button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .form-container button.primary.disabled:focus, .form-container .button-group.clear button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus, .button-group.clear .form-container button.primary[disabled]:focus, .form-container .button-group.clear button.primary[disabled]:focus {
    color: #102F51; }
  .button-group.clear.primary .button:hover, .button-group.clear.primary .form-container button:hover, .form-container .button-group.clear.primary button:hover, .button-group.clear.primary .button:focus, .button-group.clear.primary .form-container button:focus, .form-container .button-group.clear.primary button:focus, .button-group.clear .button.primary:hover, .button-group.clear .form-container button.primary:hover, .form-container .button-group.clear button.primary:hover, .button-group.clear .button.primary:focus, .button-group.clear .form-container button.primary:focus, .form-container .button-group.clear button.primary:focus {
    color: #081829; }
  .button-group.clear.secondary .button, .form-container button.button-group.clear .button, .button-group.clear.secondary .form-container button, .form-container .button-group.clear.secondary button, .form-container button.button-group.clear button, .button-group.clear.secondary .button.disabled, .form-container button.button-group.clear .button.disabled, .button-group.clear.secondary .form-container button.disabled, .form-container .button-group.clear.secondary button.disabled, .form-container button.button-group.clear button.disabled, .button-group.clear.secondary .button[disabled], .form-container button.button-group.clear .button[disabled], .button-group.clear.secondary .form-container button[disabled], .form-container .button-group.clear.secondary button[disabled], .form-container button.button-group.clear button[disabled], .button-group.clear.secondary .button.disabled:hover, .form-container button.button-group.clear .button.disabled:hover, .button-group.clear.secondary .form-container button.disabled:hover, .form-container .button-group.clear.secondary button.disabled:hover, .form-container button.button-group.clear button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .form-container button.button-group.clear .button[disabled]:hover, .button-group.clear.secondary .form-container button[disabled]:hover, .form-container .button-group.clear.secondary button[disabled]:hover, .form-container button.button-group.clear button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .form-container button.button-group.clear .button.disabled:focus, .button-group.clear.secondary .form-container button.disabled:focus, .form-container .button-group.clear.secondary button.disabled:focus, .form-container button.button-group.clear button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .form-container button.button-group.clear .button[disabled]:focus, .button-group.clear.secondary .form-container button[disabled]:focus, .form-container .button-group.clear.secondary button[disabled]:focus, .form-container button.button-group.clear button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .form-container button, .form-container .button-group.clear button, .button-group.clear .button.secondary.disabled, .button-group.clear .form-container button.disabled, .form-container .button-group.clear button.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .form-container button[disabled], .form-container .button-group.clear button[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .form-container button.disabled:hover, .form-container .button-group.clear button.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .form-container button[disabled]:hover, .form-container .button-group.clear button[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .form-container button.disabled:focus, .form-container .button-group.clear button.disabled:focus, .button-group.clear .button.secondary[disabled]:focus, .button-group.clear .form-container button[disabled]:focus, .form-container .button-group.clear button[disabled]:focus {
    color: #E13429; }
  .button-group.clear.secondary .button:hover, .form-container button.button-group.clear .button:hover, .button-group.clear.secondary .form-container button:hover, .form-container .button-group.clear.secondary button:hover, .form-container button.button-group.clear button:hover, .button-group.clear.secondary .button:focus, .form-container button.button-group.clear .button:focus, .button-group.clear.secondary .form-container button:focus, .form-container .button-group.clear.secondary button:focus, .form-container button.button-group.clear button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .form-container button:hover, .form-container .button-group.clear button:hover, .button-group.clear .button.secondary:focus, .button-group.clear .form-container button:focus, .form-container .button-group.clear button:focus {
    color: #751610; }
  .button-group.clear.success .button, .button-group.clear.success .form-container button, .form-container .button-group.clear.success button, .button-group.clear.success .button.disabled, .button-group.clear.success .form-container button.disabled, .form-container .button-group.clear.success button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .form-container button[disabled], .form-container .button-group.clear.success button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .form-container button.disabled:hover, .form-container .button-group.clear.success button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .form-container button[disabled]:hover, .form-container .button-group.clear.success button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .form-container button.disabled:focus, .form-container .button-group.clear.success button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear.success .form-container button[disabled]:focus, .form-container .button-group.clear.success button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .form-container button.success, .form-container .button-group.clear button.success, .button-group.clear .button.success.disabled, .button-group.clear .form-container button.success.disabled, .form-container .button-group.clear button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .form-container button.success[disabled], .form-container .button-group.clear button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .form-container button.success.disabled:hover, .form-container .button-group.clear button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .form-container button.success[disabled]:hover, .form-container .button-group.clear button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .form-container button.success.disabled:focus, .form-container .button-group.clear button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus, .button-group.clear .form-container button.success[disabled]:focus, .form-container .button-group.clear button.success[disabled]:focus {
    color: #3adb76; }
  .button-group.clear.success .button:hover, .button-group.clear.success .form-container button:hover, .form-container .button-group.clear.success button:hover, .button-group.clear.success .button:focus, .button-group.clear.success .form-container button:focus, .form-container .button-group.clear.success button:focus, .button-group.clear .button.success:hover, .button-group.clear .form-container button.success:hover, .form-container .button-group.clear button.success:hover, .button-group.clear .button.success:focus, .button-group.clear .form-container button.success:focus, .form-container .button-group.clear button.success:focus {
    color: #157539; }
  .button-group.clear.warning .button, .button-group.clear.warning .form-container button, .form-container .button-group.clear.warning button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .form-container button.disabled, .form-container .button-group.clear.warning button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .form-container button[disabled], .form-container .button-group.clear.warning button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .form-container button.disabled:hover, .form-container .button-group.clear.warning button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .form-container button[disabled]:hover, .form-container .button-group.clear.warning button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .form-container button.disabled:focus, .form-container .button-group.clear.warning button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear.warning .form-container button[disabled]:focus, .form-container .button-group.clear.warning button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .form-container button.warning, .form-container .button-group.clear button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .form-container button.warning.disabled, .form-container .button-group.clear button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .form-container button.warning[disabled], .form-container .button-group.clear button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .form-container button.warning.disabled:hover, .form-container .button-group.clear button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .form-container button.warning[disabled]:hover, .form-container .button-group.clear button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .form-container button.warning.disabled:focus, .form-container .button-group.clear button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus, .button-group.clear .form-container button.warning[disabled]:focus, .form-container .button-group.clear button.warning[disabled]:focus {
    color: #ffae00; }
  .button-group.clear.warning .button:hover, .button-group.clear.warning .form-container button:hover, .form-container .button-group.clear.warning button:hover, .button-group.clear.warning .button:focus, .button-group.clear.warning .form-container button:focus, .form-container .button-group.clear.warning button:focus, .button-group.clear .button.warning:hover, .button-group.clear .form-container button.warning:hover, .form-container .button-group.clear button.warning:hover, .button-group.clear .button.warning:focus, .button-group.clear .form-container button.warning:focus, .form-container .button-group.clear button.warning:focus {
    color: #805700; }
  .button-group.clear.alert .button, .button-group.clear.alert .form-container button, .form-container .button-group.clear.alert button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .form-container button.disabled, .form-container .button-group.clear.alert button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .form-container button[disabled], .form-container .button-group.clear.alert button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .form-container button.disabled:hover, .form-container .button-group.clear.alert button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .form-container button[disabled]:hover, .form-container .button-group.clear.alert button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .form-container button.disabled:focus, .form-container .button-group.clear.alert button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear.alert .form-container button[disabled]:focus, .form-container .button-group.clear.alert button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .form-container button.alert, .form-container .button-group.clear button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .form-container button.alert.disabled, .form-container .button-group.clear button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .form-container button.alert[disabled], .form-container .button-group.clear button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .form-container button.alert.disabled:hover, .form-container .button-group.clear button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .form-container button.alert[disabled]:hover, .form-container .button-group.clear button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .form-container button.alert.disabled:focus, .form-container .button-group.clear button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus, .button-group.clear .form-container button.alert[disabled]:focus, .form-container .button-group.clear button.alert[disabled]:focus {
    color: #E13429; }
  .button-group.clear.alert .button:hover, .button-group.clear.alert .form-container button:hover, .form-container .button-group.clear.alert button:hover, .button-group.clear.alert .button:focus, .button-group.clear.alert .form-container button:focus, .form-container .button-group.clear.alert button:focus, .button-group.clear .button.alert:hover, .button-group.clear .form-container button.alert:hover, .form-container .button-group.clear button.alert:hover, .button-group.clear .button.alert:focus, .button-group.clear .form-container button.alert:focus, .form-container .button-group.clear button.alert:focus {
    color: #751610; }
  .button-group.no-gaps .button, .button-group.no-gaps .form-container button, .form-container .button-group.no-gaps button {
    margin-right: -0.0625rem; }
    .button-group.no-gaps .button + .button, .button-group.no-gaps .form-container button + .button, .form-container .button-group.no-gaps button + .button, .button-group.no-gaps .form-container .button + button, .form-container .button-group.no-gaps .button + button, .button-group.no-gaps .form-container button + button, .form-container .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 .form-container button, .form-container .button-group.stacked button, .button-group.stacked-for-small .button, .button-group.stacked-for-small .form-container button, .form-container .button-group.stacked-for-small button, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .form-container button, .form-container .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 .form-container button:last-child, .form-container .button-group.stacked button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .form-container button:last-child, .form-container .button-group.stacked-for-small button:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .form-container button:last-child, .form-container .button-group.stacked-for-medium button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked.expanded .form-container button, .form-container .button-group.stacked.expanded button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .form-container button, .form-container .button-group.stacked-for-small.expanded button, .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded .form-container button, .form-container .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, .button-group.stacked-for-small .form-container button, .form-container .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, .button-group.stacked-for-medium .form-container button, .form-container .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, .button-group.stacked-for-small.expanded .form-container button, .form-container .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, .button-group.stacked-for-medium.expanded .form-container button, .form-container .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: #2C3843; }
  .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; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: none;
  border-radius: 32px;
  background-color: #f8f8f8;
  color: #2C3843; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #102f51;
    color: #ffffff; }
  .callout.secondary, .form-container button.callout {
    background-color: #e13429;
    color: #ffffff; }
  .callout.success {
    background-color: #3adb76;
    color: #2C3843; }
  .callout.warning {
    background-color: #ffae00;
    color: #2C3843; }
  .callout.alert {
    background-color: #e13429;
    color: #ffffff; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: none;
  border-radius: 0;
  background: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #2C3843; }
  .card > :last-child {
    margin-bottom: 0; }

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

.card-section {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

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

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

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 32px;
    font-size: 0.875rem;
    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.1875rem 0.625rem;
    border-radius: 32px;
    color: #2C3843; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #102F51;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #2C3843; }

.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: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 32px;
  background-color: #2C3843;
  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 #2C3843;
    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: #2C3843 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 #2C3843;
    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 #2C3843 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: 32px 32px 0 0; }

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 1rem;
  line-height: 1;
  color: #102F51; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 32px 32px; }
  .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: #2C3843; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.tabs {
  margin: 0;
  border: 1px solid transparent;
  background: transparent;
  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: #102F51; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #133962; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    line-height: 1;
    color: #102F51; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: transparent;
      color: #0e2846; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #102F51; }

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

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

.tabs-panel {
  display: none;
  padding: 3rem; }
  .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,
  .menu .form-container button,
  .form-container .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: 75em) {
    .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; } }
  .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: #102F51;
    color: #ffffff; }
  .menu .active > a {
    background: #102F51;
    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; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
            box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #2C3843;
    -webkit-box-shadow: 0 7px 0 #2C3843, 0 14px 0 #2C3843;
            box-shadow: 0 7px 0 #2C3843, 0 14px 0 #2C3843;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

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

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

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

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

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

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #102F51 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: #102F51 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 #102F51;
    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 #102F51;
  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 #102F51 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 #102F51 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: #102F51 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: #102F51; }

.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 #102F51 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 #102F51; }

@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: #102F51 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 #102F51 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 #102F51; } }

@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: #102F51 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 #102F51 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 #102F51; } }

@media screen and (min-width: 75em) {
  .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: #102F51 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 #102F51 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 #102F51; } }

@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: #102F51 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 #102F51 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 #102F51; } }

.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 #102F51 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 #102F51; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll; }
  html.is-reveal-open body {
    overflow-y: hidden; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(44, 56, 67, 0.45);
  overflow-y: auto; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 32px;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      min-height: 100%;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.title-bar {
  padding: 0.5rem;
  background: transparent;
  color: #2C3843;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

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

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: transparent; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media print, screen and (max-width: 63.99875em) {
    .top-bar.stacked-for-medium {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media print, screen and (max-width: 74.99875em) {
    .top-bar.stacked-for-large {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media print, screen and (max-width: 89.99875em) {
    .top-bar.stacked-for-xlarge {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  .top-bar.stacked-for-xxlarge {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .top-bar.stacked-for-xxlarge .top-bar-left,
    .top-bar.stacked-for-xxlarge .top-bar-right {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }

.top-bar-title {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.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: 75em) {
  .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; } }

.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: 75em) {
  .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; } }

.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: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

@media screen and (max-width: 74.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) {
  .hide-for-xxlarge-only {
    display: none !important; } }

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

.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important; }

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-wrap {
  word-wrap: break-word !important; }

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

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

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

.text-overline {
  text-decoration: overline !important; }

.text-underline {
  text-decoration: underline !important; }

.text-line-through {
  text-decoration: line-through !important; }

.font-wide {
  letter-spacing: 0.25rem; }

.font-normal {
  font-weight: normal; }

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

.font-italic {
  font-style: italic !important; }

ul.list-disc {
  list-style-type: disc !important; }

ul.list-circle {
  list-style-type: circle !important; }

ul.list-square {
  list-style-type: square !important; }

ol.list-decimal {
  list-style-type: decimal !important; }

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

ol.list-lower-latin {
  list-style-type: lower-latin !important; }

ol.list-lower-roman {
  list-style-type: lower-roman !important; }

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

ol.list-upper-latin {
  list-style-type: upper-latin !important; }

ol.list-upper-roman {
  list-style-type: upper-roman !important; }

.rounded {
  border-radius: 5000px !important; }
  .rounded .switch-paddle {
    border-radius: 5000px !important; }
    .rounded .switch-paddle:after {
      border-radius: 50%; }

.radius {
  border-radius: 0.1875rem; }

.bordered {
  border: 0.0625rem solid #cacaca; }

.shadow {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4375rem;
  content: '';
  border-bottom-width: 0;
  border-color: #2C3843 transparent transparent; }

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4375rem;
  content: '';
  border-top-width: 0;
  border-color: transparent transparent #2C3843; }

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4375rem;
  content: '';
  border-right-width: 0;
  border-color: transparent transparent transparent #2C3843; }

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4375rem;
  content: '';
  border-left-width: 0;
  border-color: transparent #2C3843 transparent transparent; }

.separator-center {
  text-align: center !important; }
  .separator-center::before, .separator-center::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .separator-center::after {
    clear: both; }
  .separator-center::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #102F51;
    margin: 1rem auto 0; }

.separator-left {
  text-align: left !important; }
  .separator-left::before, .separator-left::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .separator-left::after {
    clear: both; }
  .separator-left::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #102F51;
    margin: 1rem auto 0;
    margin-left: 0 !important; }

.separator-right {
  text-align: right !important; }
  .separator-right::before, .separator-right::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .separator-right::after {
    clear: both; }
  .separator-right::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #102F51;
    margin: 1rem auto 0;
    margin-right: 0 !important; }

.overflow-visible {
  overflow: visible !important; }

.overflow-x-visible {
  overflow-x: visible !important; }

.overflow-y-visible {
  overflow-y: visible !important; }

.overflow-hidden {
  overflow: hidden !important; }

.overflow-x-hidden {
  overflow-x: hidden !important; }

.overflow-y-hidden {
  overflow-y: hidden !important; }

.overflow-scroll {
  overflow: scroll !important; }

.overflow-x-scroll {
  overflow-x: scroll !important; }

.overflow-y-scroll {
  overflow-y: scroll !important; }

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

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

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

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

.display-table-cell {
  display: table-cell !important; }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

.border-box {
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important; }

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

.width-25 {
  width: 25% !important; }

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

.width-75 {
  width: 75% !important; }

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

.height-25 {
  height: 25% !important; }

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

.height-75 {
  height: 75% !important; }

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

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

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

.margin-0 {
  margin: 0rem !important; }

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

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

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

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

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

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

.padding-0 {
  padding: 0rem !important; }

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

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

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

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

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

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

.margin-1 {
  margin: 1rem !important; }

.margin-top-1 {
  margin-top: 1rem !important; }

.margin-right-1 {
  margin-right: 1rem !important; }

.margin-bottom-1 {
  margin-bottom: 1rem !important; }

.margin-left-1 {
  margin-left: 1rem !important; }

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

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

.padding-1 {
  padding: 1rem !important; }

.padding-top-1 {
  padding-top: 1rem !important; }

.padding-right-1 {
  padding-right: 1rem !important; }

.padding-bottom-1 {
  padding-bottom: 1rem !important; }

.padding-left-1 {
  padding-left: 1rem !important; }

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.margin-2 {
  margin: 2rem !important; }

.margin-top-2 {
  margin-top: 2rem !important; }

.margin-right-2 {
  margin-right: 2rem !important; }

.margin-bottom-2 {
  margin-bottom: 2rem !important; }

.margin-left-2 {
  margin-left: 2rem !important; }

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

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

.padding-2 {
  padding: 2rem !important; }

.padding-top-2 {
  padding-top: 2rem !important; }

.padding-right-2 {
  padding-right: 2rem !important; }

.padding-bottom-2 {
  padding-bottom: 2rem !important; }

.padding-left-2 {
  padding-left: 2rem !important; }

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important; }

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

.margin-3 {
  margin: 3rem !important; }

.margin-top-3 {
  margin-top: 3rem !important; }

.margin-right-3 {
  margin-right: 3rem !important; }

.margin-bottom-3 {
  margin-bottom: 3rem !important; }

.margin-left-3 {
  margin-left: 3rem !important; }

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

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

.padding-3 {
  padding: 3rem !important; }

.padding-top-3 {
  padding-top: 3rem !important; }

.padding-right-3 {
  padding-right: 3rem !important; }

.padding-bottom-3 {
  padding-bottom: 3rem !important; }

.padding-left-3 {
  padding-left: 3rem !important; }

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

body {
  overflow-x: clip;
  overflow-x: hidden; }

.small-logo {
  margin-bottom: 2em;
  max-width: 200px; }

/* --------------------------------------------------------------
   Montserrat Webfont Declarations
   Minimal: 400, 500, 600, 700, normal style only
   Optimised for performance with font-display: swap
   -------------------------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  src: url("../../../fonts/Montserrat-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  src: url("../../../fonts/Montserrat-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  src: url("../../../fonts/Montserrat-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Montserrat";
  src: url("../../../fonts/Montserrat-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

body {
  font-family: "Montserrat", sans-serif; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, p {
  font-family: "Montserrat", sans-serif; }

h2 {
  max-width: 52ch; }

p {
  margin: 1em 0; }

.large {
  font-size: 24px;
  max-width: 52ch; }
  @media print, screen and (min-width: 64em) {
    .large {
      font-size: 32px; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: .5;
    -webkit-transform: translateY(-0.5em);
            transform: translateY(-0.5em); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeIn {
  0% {
    opacity: .5;
    -webkit-transform: translateY(-0.5em);
            transform: translateY(-0.5em); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes fadeInOnly {
  0% {
    opacity: .5; }
  100% {
    opacity: 1; } }

@keyframes fadeInOnly {
  0% {
    opacity: .5; }
  100% {
    opacity: 1; } }

.pb4 {
  padding-bottom: 4em; }

.grid-container--small {
  max-width: 48rem !important; }

.grid-container--medium {
  max-width: 64rem !important; }

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

.grid-container--red, .grid-container--magenta {
  background: #E13429 !important; }

.grid-container--green {
  background: #2FB67C !important; }

.grid-container--blue, .grid-container--primary {
  background: #102F51 !important; }

@media print, screen and (min-width: 64em) {
  .grid-x > .medium-160 {
    width: 140px; } }

@media screen and (min-width: 75em) {
  .grid-x > .medium-160 {
    width: 160px; } }

.grid-container--circles-1 {
  position: relative;
  z-index: 0; }
  .grid-container--circles-1::before, .grid-container--circles-1::after {
    position: absolute;
    content: '';
    display: block;
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%);
    top: 0;
    z-index: -3;
    pointer-events: none; }
  .grid-container--circles-1::before {
    background: transparent;
    border: 6px dotted #FAB03A;
    border-radius: 50%;
    height: 40vw;
    width: 40vw;
    right: -2vw;
    top: -8vw; }
    @media print, screen and (min-width: 64em) {
      .grid-container--circles-1::before {
        border: 10px dotted #FAB03A;
        height: 32em;
        width: 32em;
        right: -8vw;
        top: -2vw; } }
  .grid-container--circles-1::after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(47, 182, 124, 0)), to(#2fb67c));
    background: linear-gradient(90deg, rgba(47, 182, 124, 0) 0%, #2fb67c 100%);
    right: 5vw;
    top: 5vw;
    height: 32em;
    width: 32em; }
  .grid-container--circles-1.scroll-reveal-animation::before, .grid-container--circles-1.scroll-reveal-animation::after {
    -webkit-clip-path: circle(0%);
            clip-path: circle(0%);
    -webkit-transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1), -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1); }
  .grid-container--circles-1.scroll-reveal-animation::after {
    -webkit-transition-delay: .6s;
            transition-delay: .6s; }
  .grid-container--circles-1.scroll-reveal-animation.active::before, .grid-container--circles-1.scroll-reveal-animation.active::after {
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%); }

.grid-container--circles-2 {
  position: relative;
  z-index: 0; }
  .grid-container--circles-2::before, .grid-container--circles-2::after {
    position: absolute;
    content: '';
    display: block;
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%);
    top: 0;
    z-index: -3;
    pointer-events: none;
    opacity: .8;
    right: -15em;
    top: 25%; }
    @media print, screen and (min-width: 64em) {
      .grid-container--circles-2::before, .grid-container--circles-2::after {
        top: 50%; } }
  .grid-container--circles-2::before {
    background: -webkit-gradient(linear, left top, right top, from(rgba(225, 52, 41, 0.5)), to(#e13429));
    background: linear-gradient(90deg, rgba(225, 52, 41, 0.5) 0%, #e13429 100%);
    border: 2.5em solid #3AA8EF;
    border-radius: 50%;
    height: 40em;
    width: 40em;
    -webkit-transform: translate(-5em, -50%);
            transform: translate(-5em, -50%); }
  .grid-container--circles-2::after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(250, 176, 58, 0.5)), to(#fab03a));
    background: linear-gradient(90deg, rgba(250, 176, 58, 0.5) 0%, #fab03a 100%);
    border: 2.5em solid #2FB67C;
    border-radius: 50%;
    height: 30em;
    width: 30em;
    -webkit-transform: translate(-10em, -50%);
            transform: translate(-10em, -50%); }
  .grid-container--circles-2.scroll-reveal-animation::before, .grid-container--circles-2.scroll-reveal-animation::after {
    -webkit-clip-path: circle(0%);
            clip-path: circle(0%);
    -webkit-transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1), -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1); }
  .grid-container--circles-2.scroll-reveal-animation.active::before, .grid-container--circles-2.scroll-reveal-animation.active::after {
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%); }

.grid-container--circles-3 {
  position: relative;
  z-index: 0; }
  .grid-container--circles-3::after {
    position: absolute;
    content: '';
    display: block;
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%);
    top: 0;
    z-index: -3;
    pointer-events: none; }
    @media print, screen and (max-width: 63.99875em) {
      .grid-container--circles-3::after {
        display: none; } }
  .grid-container--circles-3::after {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(47, 182, 124, 0)), to(#fab03a));
    background: linear-gradient(180deg, rgba(47, 182, 124, 0) 0%, #fab03a 100%);
    right: -20vw;
    top: 10vw;
    height: 48em;
    width: 48em; }
  .grid-container--circles-3.scroll-reveal-animation::after {
    -webkit-clip-path: circle(0%);
            clip-path: circle(0%);
    -webkit-transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1), -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1); }
  .grid-container--circles-3.scroll-reveal-animation.active::after {
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%); }

.cell--circle-behind {
  position: relative;
  z-index: 0; }
  .cell--circle-behind::before {
    position: absolute;
    content: '';
    display: block;
    background: #F8F8F8;
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%);
    pointer-events: none;
    left: 50%;
    -webkit-transform: translate(-50%, -54%);
            transform: translate(-50%, -54%);
    top: 50%;
    z-index: -3;
    height: 120%;
    aspect-ratio: 1 / 1; }
    @supports not (aspect-ratio: 1/1) {
      .cell--circle-behind::before {
        height: 70vh;
        width: 70vh; } }
  .cell--circle-behind.scroll-reveal-animation::before {
    -webkit-clip-path: circle(0%);
            clip-path: circle(0%);
    -webkit-transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: clip-path 2s cubic-bezier(0.65, 0, 0.35, 1), -webkit-clip-path 2s cubic-bezier(0.65, 0, 0.35, 1); }
  .cell--circle-behind.scroll-reveal-animation.active::before {
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%); }

.cell {
  z-index: 1; }

.cell--rich-text p {
  max-width: 85ch; }

.cell--rich-text a {
  word-wrap: break-word; }

.cell--rich-text ul {
  list-style: disc;
  margin: 0 0 2em 2em; }
  .cell--rich-text ul li {
    position: relative;
    margin-bottom: .5em;
    max-width: 55ch; }
    .cell--rich-text ul li b {
      display: block; }

.cell--rich-text > :last-child {
  margin-bottom: 0; }

.z-index--2 {
  z-index: 2; }

.z-index--1 {
  z-index: 1; }

.z-index--0 {
  z-index: 0; }

.z-index---1 {
  z-index: -1 !important; }

.z-index--video-modal {
  z-index: 102 !important; }

.cell--vertical {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .cell--vertical .cell:empty {
    display: none; }

.cell--horizontal {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .cell--horizontal .cell:empty {
    display: none; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 18px 0 10px 0;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }
  .hamburger.is-active:hover {
    opacity: 0.7; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #E13429; }

.hamburger-box {
  width: 32px;
  height: 21px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 32px;
    height: 3px;
    background-color: #E13429;
    border-radius: 0px;
    position: absolute;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -9px; }
  .hamburger-inner::after {
    bottom: -9px; }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider .hamburger-inner::before {
    top: 9px;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 18px; }

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 9px, 0) rotate(45deg);
          transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    -webkit-transform: rotate(-45deg) translate3d(-4.57143px, -6px, 0);
            transform: rotate(-45deg) translate3d(-4.57143px, -6px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    -webkit-transform: translate3d(0, -18px, 0) rotate(-90deg);
            transform: translate3d(0, -18px, 0) rotate(-90deg); }

.section {
  padding: 4em 0; }
  @media print, screen and (min-width: 64em) {
    .section {
      padding: 6em 0; } }
  .section.scroll-reveal-animation .grid-container {
    opacity: 0;
    -webkit-transition: opacity .6s ease-out;
    transition: opacity .6s ease-out; }
    .section.scroll-reveal-animation .grid-container::before {
      opacity: 0;
      -webkit-transition: opacity 1s ease-out .6s;
      transition: opacity 1s ease-out .6s; }
    .section.scroll-reveal-animation .grid-container.active {
      opacity: 1; }
      .section.scroll-reveal-animation .grid-container.active::before {
        opacity: 1; }
  .section--light-grey {
    background-color: #F8F8F8; }
  .section--reduced {
    padding-top: 4em !important; }
    @media print, screen and (min-width: 64em) {
      .section--reduced {
        padding-top: 4em !important; } }

.section--collapse-override {
  padding-top: 3em !important; }
  @media print, screen and (min-width: 64em) {
    .section--collapse-override {
      padding-top: 8em !important; } }
  .section--collapse-override.section--light-pink, .section--collapse-override.section--light-blue, .section--collapse-override.section--light-yellow {
    padding-top: 6em !important; }

.section--content-split:not(.section--grey):not(.section--navy) + .section--cta-bar {
  padding-top: 2em !important; }

.section--cta-bar + .section:not(.section--grey):not(.section--navy) {
  padding-top: 2em !important; }

.section--icon-grid-two-col:not(.section--grey) + .section--cta-bar {
  padding-top: 2em !important; }

section.scroll-reveal-animation .grid-container {
  opacity: 0;
  -webkit-transition: all 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: all 1s cubic-bezier(0.65, 0, 0.35, 1); }

section.scroll-reveal-animation.active .grid-container {
  opacity: 1; }

.section {
  position: relative;
  padding-top: 3em;
  padding-bottom: 3em;
  z-index: 1; }
  @media print, screen and (min-width: 40em) {
    .section {
      padding-top: 4em;
      padding-bottom: 4em; } }
  @media print, screen and (min-width: 64em) {
    .section {
      padding-top: 6em;
      padding-bottom: 6em; } }
  .section--navy {
    background: #102F51;
    color: #fefefe; }
    .section--navy h1, .section--navy h2, .section--navy h3, .section--navy h4, .section--navy h5, .section--navy h6 {
      color: #fefefe; }

.section--collapse + .section--collapse, .section--grey + .section--grey {
  padding-top: 0; }

.section--grey {
  background: #F8F8F8; }

.section--text-highlight--magenta em {
  color: #E13429; }

.section--text-highlight--navy em {
  color: #102F51; }

.colour-override--cyan {
  color: #3AA8EF !important; }

.colour-override--green {
  color: #2FB67C !important; }

.colour-override--magenta {
  color: #E13429 !important; }

.colour-override--navy {
  color: #102F51 !important; }

.colour-override--yellow {
  color: #FAB03A !important; }

.section--pull-up {
  margin-top: -2em; }
  @media print, screen and (min-width: 40em) {
    .section--pull-up {
      margin-top: -5em; } }

.header {
  position: relative;
  z-index: 101;
  background: #fefefe; }
  @media print, screen and (min-width: 64em) {
    .header {
      padding-top: 2em;
      padding-bottom: 2em; } }
  .header .logo-link {
    position: absolute;
    width: 96px;
    height: 96px;
    top: 0; }
    @media print, screen and (min-width: 64em) {
      .header .logo-link {
        width: 140px;
        height: 140px; } }
    @media screen and (min-width: 75em) {
      .header .logo-link {
        width: 160px;
        height: 160px; } }
  .header .logo {
    max-width: 198px; }
    @media print, screen and (min-width: 64em) {
      .header .logo {
        max-width: 282px; } }

#navbar {
  position: fixed;
  top: 0;
  width: 100vw;
  width: calc(100vw - (100vw - 100%));
  -webkit-transition: top 0.3s;
  transition: top 0.3s; }

@media print, screen and (min-width: 64em) {
  .main--full-width {
    top: 157px  !important;
    -webkit-transition: top .1s ease-out;
    transition: top .1s ease-out; }
    .main--full-width.lift {
      top: 0 !important; } }

.dropdown-arrow, .is-dropdown-submenu-parent a {
  padding-right: 1.4rem !important; }
  .dropdown-arrow::after, .is-dropdown-submenu-parent a::after {
    content: '';
    border: 0 !important;
    height: .6em !important;
    width: .6em !important;
    background: url("../img/chevron-down.svg") no-repeat center center !important;
    background-size: contain !important;
    position: static;
    display: inline-block !important;
    margin-left: .5em; }

@media print, screen and (min-width: 64em) {
  .dropdown-parent, .is-dropdown-submenu-parent {
    position: relative; } }

.is-dropdown-submenu-parent li.is-dropdown-submenu-item a::after {
  display: none !important; }

.main-menu {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: .5rem 0; }
  @media print, screen and (min-width: 64em) {
    .main-menu ul {
      position: initial; }
      .main-menu ul:first-child {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
        .main-menu ul:first-child > li {
          -webkit-box-flex: 1;
              -ms-flex-positive: 1;
                  flex-grow: 1; }
          .main-menu ul:first-child > li a {
            font-size: 0.9rem;
            font-weight: 600; } }
  .main-menu li.is-active::before {
    content: '';
    position: absolute;
    z-index: 300;
    height: 4px;
    border-radius: 2px;
    background-color: #E13429;
    pointer-events: none;
    bottom: 0;
    width: 100%;
    -webkit-animation: fadeIn .3s normal forwards ease-out;
            animation: fadeIn .3s normal forwards ease-out; }
    @media print, screen and (min-width: 64em) {
      .main-menu li.is-active::before {
        bottom: -1em;
        width: 100%; } }
  .main-menu a:not(.button) {
    font-size: 16px;
    -webkit-transition: color ease-out .3s;
    transition: color ease-out .3s;
    color: #000000; }
    @media print, screen and (min-width: 64em) {
      .main-menu a:not(.button) {
        padding: 0.4rem 0 !important; } }
    @media screen and (min-width: 76.25em) {
      .main-menu a:not(.button) {
        padding: 0.4rem 0 !important; } }
    .main-menu a:not(.button).active {
      color: #102F51; }
    .main-menu a:not(.button):hover {
      color: #102F51; }
  .main-menu .button, .main-menu .form-container button, .form-container .main-menu button {
    color: #fefefe; }
    .main-menu .button:hover, .main-menu .form-container button:hover, .form-container .main-menu button:hover {
      color: #fefefe; }
  .main-menu li {
    border-bottom: 1px solid rgba(254, 254, 254, 0.5); }
    .main-menu li a.button:not(.clear) {
      padding: 0.85em 1em;
      width: 100%;
      margin: 1em 0; }
      @media print, screen and (min-width: 40em) {
        .main-menu li a.button:not(.clear) {
          width: auto;
          margin: 0; } }
    .main-menu li:last-child {
      border-bottom: none; }
  .main-menu .is-dropdown-submenu.js-dropdown-active {
    -webkit-animation: fadeInOnly .1s;
            animation: fadeInOnly .1s;
    z-index: 1;
    display: block !important;
    position: relative;
    border: 0;
    padding: 1em; }
    @media print, screen and (min-width: 64em) {
      .main-menu .is-dropdown-submenu.js-dropdown-active {
        z-index: -2;
        margin: 0 -2em;
        padding: 2em;
        position: fixed;
        top: 170px;
        z-index: 200;
        margin: 0 auto;
        width: 100%;
        left: 0 !important;
        right: 0 !important;
        padding: 3em 0;
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row;
                flex-flow: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .main-menu .is-dropdown-submenu.js-dropdown-active > * {
          -webkit-animation: fadeIn .2s normal forwards ease-out;
                  animation: fadeIn .2s normal forwards ease-out; }
        .main-menu .is-dropdown-submenu.js-dropdown-active::before {
          content: '';
          display: block;
          background: #fefefe;
          margin-left: -100%;
          top: 0;
          left: 0;
          height: 100%;
          position: absolute;
          width: 1000%;
          z-index: -1;
          -webkit-box-shadow: 0px 6px 9px -1px rgba(0, 0, 0, 0.04);
                  box-shadow: 0px 6px 9px -1px rgba(0, 0, 0, 0.04); } }
    @media screen and (min-width: 1440px) {
      .main-menu .is-dropdown-submenu.js-dropdown-active {
        left: 50% !important;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%); } }
    @media screen and (min-width: 1008px) {
      .main-menu .is-dropdown-submenu.js-dropdown-active li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33%;
                flex: 0 0 33%;
        padding: 2em;
        border-radius: 32px;
        -webkit-transition: background-color ease-out .15s;
        transition: background-color ease-out .15s; }
        .main-menu .is-dropdown-submenu.js-dropdown-active li:hover {
          background-color: rgba(58, 168, 239, 0.1); } }
    @media screen and (min-width: 1280px) {
      .main-menu .is-dropdown-submenu.js-dropdown-active li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%; } }
    .main-menu .is-dropdown-submenu.js-dropdown-active li a {
      padding: 0;
      display: block;
      color: #E13429; }
      .main-menu .is-dropdown-submenu.js-dropdown-active li a::after {
        background: none !important; }
      .main-menu .is-dropdown-submenu.js-dropdown-active li a div[role=title] {
        margin: 0 0 1em 0;
        font-size: 18px; }
      .main-menu .is-dropdown-submenu.js-dropdown-active li a p {
        font-size: 16px;
        color: #8a8a8a; }
  .main-menu.show-menu {
    display: block !important;
    position: absolute;
    z-index: 5;
    width: 100%;
    left: 0;
    height: calc(100vh - 100px);
    overflow: scroll;
    -webkit-transform-origin: top left;
            transform-origin: top left;
    padding: 2em;
    background-color: #fefefe; }
    .main-menu.show-menu ul {
      background-color: transparent; }
      .main-menu.show-menu ul li {
        margin: 0; }
        .main-menu.show-menu ul li a {
          width: 100%;
          padding: .5em 0 !important;
          display: block; }

.menu--feature a.menu__card-link {
  padding-right: 0 !important;
  padding: 0 !important; }
  .menu--feature a.menu__card-link .card__arrow {
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  .menu--feature a.menu__card-link:hover {
    color: inherit; }
    .menu--feature a.menu__card-link:hover .card__arrow {
      -webkit-transform: translateX(2em);
              transform: translateX(2em); }

.menu--feature a:not(.menu__extra-a).menu__card-link {
  padding-right: 0 !important; }
  .menu--feature a:not(.menu__extra-a).menu__card-link::after {
    display: none; }

.menu--feature .menu__details {
  margin: 1em;
  padding: 1em 1.4em 1.4em;
  background: #F8F8F8;
  border-radius: 32px;
  overflow: hidden;
  overflow: clip; }
  @media print, screen and (min-width: 64em) {
    .menu--feature .menu__details {
      margin: 3.5em 1em 1em;
      padding: 1em 2.5em 2em; } }

.menu--feature .menu__image {
  max-height: 200px;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  text-align: center; }

.menu--feature .menu__image-cover {
  max-height: 200px;
  max-width: initial;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 5 / 4;
  margin: -1em -1.5em 0;
  width: calc(100% + 2.8em);
  pointer-events: none; }
  @media print, screen and (min-width: 64em) {
    .menu--feature .menu__image-cover {
      margin: -1em -2.5em 0;
      width: calc(100% + 5em); } }

.menu--feature .menu__title {
  font-size: 20px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2em; }
  @media print, screen and (min-width: 64em) {
    .menu--feature .menu__title {
      margin: 2em 0 1em; } }

.menu--feature .menu__subtitle {
  color: #102F51;
  font-size: 16px;
  font-weight: 700;
  font-style: normal; }

.menu--feature .menu__description {
  color: #000000;
  display: none;
  font-size: 14px;
  line-height: 1.4em;
  font-weight: 400; }
  @media print, screen and (min-width: 64em) {
    .menu--feature .menu__description {
      display: block;
      margin: 1em 0 0;
      max-width: 44ch; } }

.menu--feature .menu__button {
  margin: 0;
  padding: 0;
  margin-bottom: 2em; }
  @media print, screen and (min-width: 64em) {
    .menu--feature .menu__button {
      width: -webkit-fit-content !important;
      width: -moz-fit-content !important;
      width: fit-content !important; } }
  .menu--feature .menu__button::after {
    display: none !important; }

.menu__items {
  margin: 0; }
  @media print, screen and (min-width: 64em) {
    .menu__items {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 1fr; } }
  .menu__items .menu__item-block {
    padding: 0;
    margin: 1em; }
    @media print, screen and (min-width: 64em) {
      .menu__items .menu__item-block {
        width: inherit;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
    .menu__items .menu__item-block p {
      margin: 0.8em 0 0 0;
      color: #E13429;
      font-weight: 400;
      font-size: 18px; }
      @media print, screen and (min-width: 64em) {
        .menu__items .menu__item-block p {
          margin: 0; } }
    .menu__items .menu__item-block br {
      display: none; }
    .menu__items .menu__item-block ul {
      list-style: none;
      padding: 1em 1.4em;
      margin: 1em 0;
      background: #F8F8F8;
      border-radius: 32px; }
      @media print, screen and (min-width: 64em) {
        .menu__items .menu__item-block ul {
          padding: 1.4em 2em;
          margin: 1em 0; } }
      .menu__items .menu__item-block ul li {
        background: none !important;
        padding: .2em  0;
        margin: 0; }
        .menu__items .menu__item-block ul li a {
          color: #000000;
          padding: .5em 0 !important;
          -webkit-transition: color .3s ease-out;
          transition: color .3s ease-out;
          line-height: 1.4em;
          margin: -0.2em 0; }
          .menu__items .menu__item-block ul li a:hover {
            color: #102F51 !important; }
          .menu__items .menu__item-block ul li a::after {
            display: none !important; }
        .menu__items .menu__item-block ul li .button, .menu__items .menu__item-block ul li .form-container button, .form-container .menu__items .menu__item-block ul li button {
          color: #fefefe; }
          .menu__items .menu__item-block ul li .button:hover, .menu__items .menu__item-block ul li .form-container button:hover, .form-container .menu__items .menu__item-block ul li button:hover {
            color: #fefefe; }
    .menu__items .menu__item-block:nth-of-type(1n) ul {
      background: rgba(58, 168, 239, 0.1); }
    .menu__items .menu__item-block:nth-of-type(2n) ul {
      background: rgba(47, 182, 124, 0.1); }
    .menu__items .menu__item-block:nth-of-type(3n) ul {
      background: rgba(250, 176, 58, 0.1); }

.menu__extra-cta {
  display: block;
  width: 100%; }

.menu__extra-cta-title {
  font-weight: 700; }

.menu__extra-a {
  padding: 0 !important;
  margin: 0.8em 0 !important;
  font-size: 24px; }
  @media print, screen and (min-width: 64em) {
    .menu__extra-a {
      font-size: 18px; } }
  .menu__extra-a {
    color: #E13429 !important;
    text-decoration: underline; }
    .menu__extra-a::after {
      display: none; }

@media print, screen and (min-width: 64em) {
  .menu__extra-a-tel {
    text-decoration: none !important;
    color: inherit !important; } }

.menu__sub-heading {
  font-weight: 700; }

.main-secondary-menu {
  position: relative;
  z-index: 2;
  margin-bottom: 0.5em; }
  .main-secondary-menu ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .main-secondary-menu ul li {
      display: inline-block;
      font-size: 0.9rem; }
      .main-secondary-menu ul li a {
        color: #000000; }
      .main-secondary-menu ul li.has-dropdown a:after {
        display: inline-block;
        content: '>';
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
        -webkit-transform-origin: center center;
                transform-origin: center center;
        margin-left: 0.5em; }
  .main-secondary-menu__nav {
    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; }
    .main-secondary-menu__nav .dropdown-pane {
      background: #fefefe;
      z-index: 1000; }
  .main-secondary-menu__info, .main-secondary-menu__controls {
    border-right: 1px solid #707070;
    margin-right: 1.5em;
    padding-right: 1.5em; }
  .main-secondary-menu__controls {
    border-right: none;
    padding-right: 0; }
  .main-secondary-menu__btn-pricing .button, .main-secondary-menu__btn-pricing .form-container button, .form-container .main-secondary-menu__btn-pricing button {
    margin-bottom: 0; }

.menu--minor {
  display: none;
  border-radius: 0 0 32px 32px;
  border: 0;
  padding: 1em !important;
  -webkit-box-shadow: 0px 6px 9px -1px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 6px 9px -1px rgba(0, 0, 0, 0.1); }
  .menu--minor .menu__subtitle {
    color: #102F51;
    font-weight: 700; }
  .menu--minor .menu__flag {
    display: inline-block;
    margin-right: .5em;
    max-width: 25px;
    vertical-align: middle; }
  .menu--minor .menu__description {
    margin-top: .5em;
    line-height: 1.4em;
    font-size: 14px; }
  .menu--minor a {
    border-radius: 19.2px;
    padding: 1.2em 2em !important;
    min-width: 240px;
    -webkit-transition: background-color ease-out .15s;
    transition: background-color ease-out .15s; }
    .menu--minor a:hover {
      background-color: rgba(58, 168, 239, 0.1); }

.menu--stretch {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .menu--stretch li {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }

@media print, screen and (min-width: 64em) {
  .menu--nestle {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2em; } }

.menu--nestle li {
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important; }
  .menu--nestle li a.button {
    margin: .4em 0 !important; }
    @media print, screen and (min-width: 64em) {
      .menu--nestle li a.button {
        margin: 1em 0; } }

@media print, screen and (min-width: 64em) {
  .menu--buttons {
    gap: .5em; } }

.menu--buttons li {
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important; }

.button--menu {
  color: #fefefe !important; }
  .button--menu:hover, .button--menu:active {
    background: #18487c !important; }
  .button--menu::after {
    -webkit-filter: invert(88%) sepia(19%) saturate(0%) hue-rotate(129deg) brightness(114%) contrast(101%);
            filter: invert(88%) sepia(19%) saturate(0%) hue-rotate(129deg) brightness(114%) contrast(101%); }

.main-menu li a.button--menu:not(.clear) {
  padding: 0.85em 1em !important;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }

.dropdown.menu > li.is-active > a.button--menu {
  background: #102F51 !important; }
  .dropdown.menu > li.is-active > a.button--menu:hover, .dropdown.menu > li.is-active > a.button--menu:active {
    background: #18487c !important; }

.section--footer {
  background-color: #F8F8F8; }
  .section--footer.section {
    padding-top: 3em;
    padding-bottom: 0; }

.menu--footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0;
  margin: 0;
  margin-bottom: 5em; }
  .menu--footer a {
    padding: .5em 0;
    font-size: .8em;
    color: #000000;
    line-height: 1.4em; }
    @media print, screen and (min-width: 40em) {
      .menu--footer a {
        margin: 0 2.5em 0 0; } }
    .menu--footer a:hover {
      color: #E13429; }
  .menu--footer li {
    padding: 0;
    margin: 0; }
    @media print, screen and (min-width: 40em) {
      .menu--footer li.quarter {
        width: 20%; } }
    @media print, screen and (min-width: 40em) {
      .menu--footer li.half {
        width: 40%; } }

.menu--footer-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .menu--footer-sub li.active a {
    background: none;
    color: #000000;
    color: #E13429; }
  .menu--footer-sub li.shim-mg-top {
    margin-top: 2em !important; }
  .menu--footer-sub a {
    padding: 0.4rem 0;
    font-size: .8em; }

.footer__title {
  color: #000000;
  font-size: 18px !important;
  margin: 0 0 1em 0 !important;
  padding: .5em 0 !important;
  line-height: 1 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
  @media print, screen and (min-width: 40em) {
    .footer__title {
      pointer-events: none; } }

.footer__sub-title {
  padding: 0 !important;
  margin: .5em 0 !important;
  font-size: 16px;
  font-weight: 700; }

.footer__logo {
  width: 170px; }

.footer__small {
  font-size: .8em; }

.footer__section {
  margin-top: 2em; }
  @media print, screen and (min-width: 40em) {
    .footer__section {
      margin-top: 3em; } }
  .footer__section--no-mg-top {
    margin-top: 0; }

.footer__spread-parts {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em; }
  @supports (-webkit-touch-callout: none) and (not (translate: none)) {
    .footer__spread-parts > * {
      margin: 0 0 1em 0 !important; } }
  @media print, screen and (min-width: 40em) {
    .footer__spread-parts {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; } }

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

.footer__button {
  margin: 0; }

@media print, screen and (max-width: 39.99875em) {
  .footer__social-icons {
    margin-bottom: 2em; } }

.footer__social-icons ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  .footer__social-icons ul li {
    display: inline-block;
    margin-left: 2em; }
    .footer__social-icons ul li:first-of-type {
      margin-left: 0; }

.footer__copyright {
  background: #102F51;
  color: #fefefe;
  padding: 1em 0; }
  @media print, screen and (max-width: 39.99875em) {
    .footer__copyright .footer__small {
      text-align: center; } }
  .footer__copyright ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .footer__copyright ul li {
      display: inline-block;
      margin-left: 2em; }
      .footer__copyright ul li a {
        color: #fefefe; }
      .footer__copyright ul li:first-of-type {
        margin-left: 0; }

@media print, screen and (min-width: 64em) {
  .masonry {
    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;
    max-height: 240px;
    max-height: 240px; } }

.masonry--shim {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .masonry--shim {
      display: block; } }

.masonry-item {
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .masonry-item {
      width: 20%;
      margin-right: 1em; } }

.show-menu--false .grid-container--footer-menu {
  display: none !important; }

.section--cards {
  overflow-x: hidden;
  overflow-x: clip; }

.section--cards-feature {
  position: relative;
  z-index: 0;
  overflow-x: hidden;
  overflow-x: clip;
  overflow-y: visible; }

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fefefe;
  scroll-snap-align: start;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  max-width: 380px;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .card {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      width: calc( 100% / 3 - 3em);
      max-width: 368px; } }
  .card--fluid {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .card--fluid {
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto;
        width: -webkit-min-content;
        width: -moz-min-content;
        width: min-content; } }
  .card--radius {
    border-radius: 32px;
    -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.2);
            box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.2); }
  .card--horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media print, screen and (min-width: 64em) {
      .card--horizontal {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        width: 80%;
        max-width: 800px;
        margin: auto;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .card--horizontal > * {
          width: 50%; } }
  .card--post {
    padding: 0 1em; }
    .card--post .card__section {
      padding: 2em 0 1em !important; }
  .card--two-grid {
    max-width: 380px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
    width: 80%;
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .card--two-grid {
        max-width: 100%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        width: calc( 100% - 3em); } }
  .card--blue .card__subtitle, .card--cyan .card__subtitle {
    color: #3AA8EF; }
  .card--blue .card__read-time::before, .card--cyan .card__read-time::before {
    color: #3AA8EF; }
  .card--green .card__subtitle {
    color: #2FB67C; }
  .card--green .card__read-time::before {
    color: #2FB67C; }
  .card--red .card__subtitle, .card--magenta .card__subtitle {
    color: #E13429; }
  .card--red .card__read-time::before, .card--magenta .card__read-time::before {
    color: #E13429; }
  .card--yellow .card__subtitle {
    color: #FAB03A; }
  .card--yellow .card__read-time::before {
    color: #FAB03A; }
  .card__link {
    text-decoration: none;
    color: inherit;
    opacity: .80;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out; }
    .card__link:hover {
      opacity: 1;
      text-decoration: none;
      color: inherit; }
  .card__section {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 1.5em; }
    @media print, screen and (min-width: 64em) {
      .card__section {
        padding: 2em 3em; } }
  .card__section--dark {
    background-color: #06121E;
    margin: 1em;
    padding: 2em;
    border-radius: 1em 0 0 1em;
    border-radius: 1em 1em 0 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    min-height: 15em; }
    @media print, screen and (min-width: 64em) {
      .card__section--dark {
        border-radius: 1em 0 0 1em; } }
  .card__section--grey {
    background-color: #e6e6e6;
    margin: 1em;
    padding: 2em;
    border-radius: 1em 1em 0 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    min-height: 15em; }
  .card__footer {
    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; }
  .card__footer-section {
    padding: 1.5em; }
    @media print, screen and (min-width: 64em) {
      .card__footer-section {
        padding: 2em 3em; } }
    .card__footer-section img {
      max-width: 26px; }
  .card__read-time::before {
    content: '\2022';
    margin-right: .5em;
    color: #000000; }
  .card__image--radius {
    overflow: hidden;
    margin: .5em !important;
    border-radius: 0 0 22.85714px 22.85714px; }
    @media print, screen and (min-width: 64em) {
      .card__image--radius {
        margin: 1.5em !important;
        border-radius: 0 0 16px 16px; } }
  .card__image--43 {
    aspect-ratio: 4/3;
    -o-object-fit: cover;
       object-fit: cover; }
  .card__title {
    font-weight: 400;
    margin-bottom: .8em;
    font-size: 18px;
    font-weight: 700; }
    @media print, screen and (min-width: 64em) {
      .card__title {
        font-size: 1.5em; } }
  .card__title--white {
    color: #fefefe; }
  .card__title--underline {
    position: relative; }
    .card__title--underline::after {
      content: '';
      display: block;
      height: 3px;
      background: -webkit-gradient(linear, left top, right top, from(#E13429), to(#3AA8EF));
      background: linear-gradient(90deg, #E13429 0%, #3AA8EF 100%);
      width: 100%;
      margin: 1em 0; }
  .card--title-underline-colour-switch:nth-of-type(1n) .card__title--underline::after {
    background: -webkit-gradient(linear, left top, right top, from(#E13429), to(#3AA8EF));
    background: linear-gradient(90deg, #E13429 0%, #3AA8EF 100%); }
  .card--title-underline-colour-switch:nth-of-type(2n) .card__title--underline::after {
    background: #3AA8EF; }
  .card--title-underline-colour-switch:nth-of-type(3n) .card__title--underline::after {
    background: #2FB67C; }
  .card--title-underline-colour-switch:nth-of-type(4n) .card__title--underline::after {
    background: #E13429; }
  .card__surtitle {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 1em;
    margin-top: -1em; }
    .card__surtitle--red {
      color: #E13429; }
  .card__subtitle {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: .5em; }
  .card__synopsis {
    font-size: 16px;
    margin-bottom: 1em; }
  .card__synopsis--white {
    color: #fefefe; }
  .card__author {
    font-size: 16px;
    font-weight: 700; }
  .card__date {
    font-size: 16px;
    color: #2FB67C; }
  .card__logo {
    background: #fefefe;
    border-radius: 32px 32px 32px 0;
    position: absolute;
    width: 110px;
    height: 110px;
    top: -95px;
    -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
            box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
    padding: 1em;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .card__logo-image {
    -ms-flex-item-align: center;
        align-self: center; }
  .card__arrow {
    border: 0 !important;
    height: 2em !important;
    width: 2em !important;
    background: url("../../img/green-arrow.svg") no-repeat center center !important;
    background-size: contain !important; }
  .card__text-link {
    font-weight: 600;
    color: #47B47B;
    position: relative; }
    .card__text-link::after {
      content: '';
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      margin-left: 1em;
      border: 0;
      height: 1em;
      width: 1em;
      background: url("../img/green-chevron-right.svg") no-repeat center center;
      background-size: contain;
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
    .card__text-link:hover::after {
      -webkit-transform: rotate(0deg) translateY(-50%) translateX(1em);
              transform: rotate(0deg) translateY(-50%) translateX(1em); }
  .card__content {
    padding: 2em; }
  .card ul {
    list-style: none;
    margin: 0; }
    .card ul li {
      position: relative;
      padding-left: 2em;
      margin-bottom: .5em; }
      .card ul li::before {
        content: url("../../img/green-tick.svg");
        display: block;
        position: absolute;
        left: 0;
        top: 0; }
      .card ul li b {
        display: block; }

.card a, a.card {
  color: inherit; }
  .card a .card__arrow, a.card .card__arrow {
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  .card a:hover, a.card:hover {
    color: inherit; }
    .card a:hover .card__arrow, a.card:hover .card__arrow {
      -webkit-transform: translateX(2em);
              transform: translateX(2em); }

.card a {
  display: contents; }

.card-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @supports (-webkit-touch-callout: none) and (not (translate: none)) {
    .card-container .card {
      margin: 1em; } }
  .card-container--center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 1em 0; }

.card-scroller {
  position: relative; }
  .card-scroller .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
    width: 80%; }
  .card-scroller__stage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 2em 1em;
    overflow-x: scroll;
    -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
    scroll-padding: 1em;
    width: calc(100vw - (100vw - 100%));
    gap: 2em;
    margin: 0 0 2em 0; }
    @supports (-webkit-touch-callout: none) and (not (translate: none)) {
      .card-scroller__stage .card {
        margin: 1em; } }
    .card-scroller__stage::-webkit-scrollbar {
      height: 12px; }
    .card-scroller__stage::-webkit-scrollbar-thumb, .card-scroller__stage::-webkit-scrollbar-track {
      border-radius: 92px; }
    .card-scroller__stage::-webkit-scrollbar-thumb {
      background: #102F51; }
    .card-scroller__stage::-webkit-scrollbar-track {
      background: #e6e6e6; }
    .card-scroller__stage--locked {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .card-scroller__stage--locked::-webkit-scrollbar-track {
        background: transparent; }
  .card-scroller__handles {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .card-scroller__handles {
        position: absolute;
        width: 100vw;
        width: -webkit-fill-available;
        top: 0;
        height: 100%;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        pointer-events: none;
        opacity: 1;
        -webkit-transition: opacity .3s ease-out;
        transition: opacity .3s ease-out; } }
    .card-scroller__handles--locked {
      opacity: 0; }
  .card-scroller__prev, .card-scroller__next {
    pointer-events: all;
    height: 6em;
    width: 3em;
    -webkit-transition: .3s all ease-out;
    transition: .3s all ease-out; }
  .card-scroller__label {
    display: none; }
  .card-scroller__prev {
    border-radius: 0 160px 160px 0;
    padding-left: 0.6em;
    -webkit-transform: translateX(-0.5em);
            transform: translateX(-0.5em); }
    .card-scroller__prev:hover {
      -webkit-transform: translateX(0);
              transform: translateX(0); }
  .card-scroller__next {
    border-radius: 160px 0 0 160px;
    padding-right: 0.6em;
    -webkit-transform: translateX(0.5em);
            transform: translateX(0.5em); }
    .card-scroller__next:hover {
      -webkit-transform: translateX(0);
              transform: translateX(0); }

.card-container-use-case {
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 32px;
  padding: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  min-height: 540px;
  width: 100%;
  margin: 1rem; }
  @media print, screen and (min-width: 40em) {
    .card-container-use-case {
      padding: 4em; } }
  .card-container-use-case a:focus, .card-container-use-case a:active, .card-container-use-case a:active:focus {
    color: inherit; }
  .card-container-use-case .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    overflow: visible;
    max-width: 480px;
    -webkit-animation: fadeIn .4s normal forwards ease-out;
            animation: fadeIn .4s normal forwards ease-out;
    margin-bottom: 0; }
  .card-container-use-case--large {
    position: relative;
    margin-bottom: 6em; }
    .card-container-use-case--large .svg-gator-after {
      position: absolute;
      width: 519px;
      bottom: -70px;
      right: -70px;
      z-index: -1; }
      @media print, screen and (max-width: 63.99875em) {
        .card-container-use-case--large .svg-gator-after {
          width: 350px;
          bottom: -35px;
          right: -35px; } }
    .card-container-use-case--large:before {
      content: "";
      display: block;
      position: absolute;
      border-radius: 32px;
      z-index: -1;
      width: 250px;
      height: 190px;
      top: 50px;
      left: -75px;
      background: #2FB67C;
      -webkit-transition: all ease-in-out 1s;
      transition: all ease-in-out 1s; }
    .card-container-use-case--large .card__logo {
      width: 110px;
      height: 110px;
      top: -95px;
      border-radius: 32px 32px 32px 0; }
    .card-container-use-case--large .card__title {
      font-weight: 600;
      line-height: 1.6rem; }
  .card-container-use-case--small, .card-container-use-case--listing {
    padding: 2em; }
    @media print, screen and (min-width: 40em) {
      .card-container-use-case--small, .card-container-use-case--listing {
        padding: 2em;
        width: calc(50% - 2rem); } }
    .card-container-use-case--small .card, .card-container-use-case--listing .card {
      max-width: 100%; }
  .card-container-use-case--listing {
    min-height: auto;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 2.5em 1em; }
    .card-container-use-case--listing .card__section {
      padding: 0; }
    .card-container-use-case--listing .card__image {
      margin-bottom: 2em; }
      .card-container-use-case--listing .card__image img {
        border-radius: 32px 32px 32px 0; }
    .card-container-use-case--listing .card__title {
      font-weight: 600; }

.card-grid {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 2em 0;
  gap: 2em;
  margin: 0 0 2em 0; }
  .card-grid .card {
    padding: 0; }
  .card-grid .card, .card-grid .aside {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
    @media print, screen and (min-width: 40em) {
      .card-grid .card, .card-grid .aside {
        max-width: calc( (100% / 2) - 1.5em);
        -webkit-box-flex: 0;
            -ms-flex: 0 0 80%;
                flex: 0 0 80%; } }
    @media print, screen and (min-width: 64em) {
      .card-grid .card, .card-grid .aside {
        max-width: calc( (100% / 3) - 1.5em); } }

.reveal-video {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100vh;
  padding: 2em;
  border: none;
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 1.2s ease-in-out;
  transition: all 1.2s ease-in-out;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 0 !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 2; }
  .reveal-video.open {
    opacity: 1 !important;
    display: block !important;
    pointer-events: auto !important;
    -webkit-transition: all 1.2s ease-in-out;
    transition: all 1.2s ease-in-out;
    -webkit-transition-delay: 1.5s;
            transition-delay: 1.5s; }
  .reveal-video .close-button {
    top: -1em;
    right: -0.5em;
    color: #fefefe; }

.reveal-video__packaging {
  position: relative;
  max-width: 75rem;
  width: 100%;
  margin: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  aspect-ratio: 16 / 9; }
  @supports not (aspect-ratio: 16/9) {
    .reveal-video__packaging {
      height: 56%; } }

.reveal-video__iframe {
  border-radius: 1em;
  overflow: hidden; }

.hero {
  background: #fefefe;
  overflow: hidden;
  overflow: clip;
  padding-top: 7em !important; }
  @media print, screen and (min-width: 64em) {
    .hero {
      padding-top: calc(6em + 125px) !important; } }
  @media print, screen and (max-width: 63.99875em) {
    .hero object {
      width: 100%; } }
  .hero--bground-white {
    background: #fefefe; }
  .hero--border-bottom-magenta:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    border-bottom: solid 2px #E13429;
    -webkit-animation: border_anim 3.5s ease-in-out forwards;
            animation: border_anim 3.5s ease-in-out forwards; }

@-webkit-keyframes border_anim {
  0% {
    width: 0%; }
  100% {
    width: 100%; } }

@keyframes border_anim {
  0% {
    width: 0%; }
  100% {
    width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .hero--centered-text.section {
      padding-bottom: 13em; } }
  .hero--reduced {
    padding-bottom: 0 !important; }

.hero__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em; }
  @supports (-webkit-touch-callout: none) and (not (translate: none)) {
    .hero__content > * {
      margin: 0 0 1em 0 !important; } }

@media print, screen and (min-width: 40em) {
  .hero__image-split--wide {
    max-width: 110%; } }

.hero__h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2em;
  margin-bottom: .2em; }
  @media print, screen and (min-width: 64em) {
    .hero__h1 {
      line-height: 1.1em; } }
  .hero__h1 h1 {
    margin: 0;
    font-weight: 600;
    line-height: 1.2em;
    margin-bottom: .2em; }
    @media print, screen and (min-width: 64em) {
      .hero__h1 h1 {
        line-height: 1.1em; } }
  .hero__h1 h5 {
    font-weight: 500;
    line-height: 1.2em;
    font-size: 16px;
    color: #2FB67C; }
  @media print, screen and (min-width: 64em) {
    .hero__h1 {
      font-size: 50px; } }

.hero__h1--big h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2em;
  color: #102F51; }
  @media print, screen and (min-width: 64em) {
    .hero__h1--big h1 {
      font-size: 56px;
      line-height: 1.1em;
      margin-bottom: 0; } }
  .hero__h1--big h1 i, .hero__h1--big h1 em, .hero__h1--big h1 span {
    text-decoration: none;
    font-style: normal;
    font-weight: 600;
    color: #102F51; }

.hero__h1--semibold h1 {
  font-weight: 600; }

.hero__h2 {
  margin: 0;
  font-weight: 400;
  line-height: 1.4em;
  font-size: 22px; }
  @media print, screen and (min-width: 64em) {
    .hero__h2 {
      font-size: 30px;
      max-width: 22ch; } }
  .hero__h2--blue, .hero__h2--cyan {
    color: #3AA8EF; }
  .hero__h2--green {
    color: #2FB67C; }
  .hero__h2--red, .hero__h2--magenta {
    color: #E13429; }
  .hero__h2--yellow {
    color: #FAB03A; }

.hero__h3 {
  margin: 0;
  font-weight: 400;
  line-height: 1.4em;
  font-size: 30px;
  font-weight: 700;
  margin-bottom: .5em; }
  @media print, screen and (min-width: 64em) {
    .hero__h3 {
      font-size: 40px;
      max-width: 22ch; } }

.hero__description {
  margin: 0;
  font-size: 18px; }
  @media print, screen and (min-width: 64em) {
    .hero__description {
      margin-right: 2em; } }
  .hero__description a {
    color: #E13429; }
  .hero__description--centered {
    max-width: 72ch;
    margin: 0 auto; }
  .hero__description--full-width {
    max-width: 100%; }
    .hero__description--full-width p {
      max-width: 100%; }
  .hero__description a:not([href^="mailto:"]) {
    color: #E13429 !important; }

.hero__description--big {
  margin: 0;
  font-weight: 400;
  line-height: 1.4em;
  font-size: 22px; }
  @media print, screen and (min-width: 64em) {
    .hero__description--big {
      font-size: 30px; } }

.hero__icon {
  max-width: 70px;
  height: auto; }

.hero__button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 0; }

.hero__logo {
  max-width: 160px; }

.hero__article-info {
  list-style: none;
  color: #fefefe;
  margin-left: 0; }
  .hero__article-info li {
    display: inline-block; }
    .hero__article-info li:not(:last-of-type) {
      margin-right: 1em; }
    .hero__article-info li.updated {
      display: block;
      margin-top: 0.5em; }
    .hero__article-info li.read-time {
      color: #FAB03A; }
      .hero__article-info li.read-time:before {
        content: '\2022';
        margin-right: 0.5em;
        color: #FAB03A; }
  .hero__article-info--blue li.read-time, .hero__article-info--cyan li.read-time {
    color: #3AA8EF; }
    .hero__article-info--blue li.read-time:before, .hero__article-info--cyan li.read-time:before {
      color: #3AA8EF; }
  .hero__article-info--green li.read-time {
    color: #2FB67C; }
    .hero__article-info--green li.read-time:before {
      color: #2FB67C; }
  .hero__article-info--red li.read-time, .hero__article-info--magenta li.read-time {
    color: #E13429; }
    .hero__article-info--red li.read-time:before, .hero__article-info--magenta li.read-time:before {
      color: #E13429; }

.hero--case-study {
  min-height: 750px;
  max-width: 2560px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top; }
  @media print, screen and (min-width: 64em) {
    .hero--case-study {
      background-position: left top; } }
  @media print, screen and (max-width: 63.99875em) {
    .hero--case-study {
      min-height: 500px; } }
  .hero--case-study .grid-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .hero--case-study .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    overflow: visible;
    max-width: 480px;
    -webkit-animation: fadeIn .4s normal forwards ease-out;
            animation: fadeIn .4s normal forwards ease-out;
    margin-bottom: 0; }
  .hero--case-study--minimal .grid-container {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .hero--case-study--minimal .card {
    position: relative;
    margin-top: 6em;
    z-index: 1; }
    @media print, screen and (max-width: 63.99875em) {
      .hero--case-study--minimal .card {
        margin-top: 4em; } }
    .hero--case-study--minimal .card .svg-gator-animate {
      position: absolute;
      bottom: -50px;
      left: -50px;
      z-index: -1;
      width: 200px;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .hero--case-study--minimal .card:after {
      content: '';
      display: block;
      position: absolute;
      top: -25px;
      right: -25px;
      z-index: -1;
      width: 100%;
      height: 100%;
      background: #102F51;
      border-radius: 32px 32px 32px 0;
      opacity: 0;
      -webkit-animation: fadeIn 4s forwards;
              animation: fadeIn 4s forwards;
      -webkit-animation-delay: 1s;
              animation-delay: 1s; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
    .hero--case-study--minimal .card__title {
      margin-bottom: 0; }
    .hero--case-study--minimal .card__synopsis {
      display: none; }
    .hero--case-study--minimal .card__section {
      border-radius: 32px;
      background: #fefefe; }
    .hero--case-study--minimal .card__logo-image {
      -ms-flex-item-align: center;
          align-self: center; }

.hero--resources {
  padding-top: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 2560px; }
  @media print, screen and (max-width: 63.99875em) {
    .hero--resources {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media print, screen and (min-width: 40em) {
    .hero--resources {
      padding-top: 122px;
      min-height: 750px; } }
  .hero--resources__image {
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top; }
    @media print, screen and (min-width: 40em) {
      .hero--resources__image {
        width: 40%; } }
    @media print, screen and (max-width: 63.99875em) {
      .hero--resources__image {
        min-height: 275px; } }
  .hero--resources__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    background: #06121E;
    padding: 2em 1em; }
    @media print, screen and (min-width: 40em) {
      .hero--resources__content {
        width: 60%;
        padding-left: 5em; } }
    .hero--resources__content-inner {
      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: stretch;
          -ms-flex-align: stretch;
              align-items: stretch; }
      .hero--resources__content-inner .hero__h1, .hero--resources__content-inner .hero__h2, .hero--resources__content-inner .hero__description {
        color: #fefefe;
        max-width: 540px; }
      .hero--resources__content-inner .hero__h1 {
        margin-bottom: 1em; }
      .hero--resources__content-inner .hero__h2 {
        color: #FAB03A;
        font-size: 1.2rem;
        line-height: 1.2rem; }
      .hero--resources__content-inner .hero__description {
        margin-bottom: 3em; }
  .hero--resources-entry {
    position: relative;
    background: #fefefe; }
    .hero--resources-entry img {
      margin-top: 2em; }
    .hero--resources-entry .hero__h1 {
      margin-bottom: 0;
      font-weight: 600;
      line-height: 1.2em; }
      @media print, screen and (min-width: 64em) {
        .hero--resources-entry .hero__h1 {
          line-height: 1.1em; } }
    .hero--resources-entry .hero__h2 {
      font-size: 1.2rem;
      line-height: 1.2rem; }
    .hero--resources-entry .hero__description {
      margin-bottom: 0;
      max-width: 52ch; }
    .hero--resources-entry .hero__article-info {
      color: #000000; }
    .hero--resources-entry--blue:after, .hero--resources-entry--cyan:after {
      background: #3AA8EF;
      background: -webkit-gradient(linear, left top, right top, from(rgba(254, 254, 254, 0)), to(#3aa8ef));
      background: linear-gradient(90deg, rgba(254, 254, 254, 0) 0%, #3aa8ef 100%); }
    .hero--resources-entry--green:after {
      background: #2FB67C;
      background: -webkit-gradient(linear, left top, right top, from(rgba(254, 254, 254, 0)), to(#2fb67c));
      background: linear-gradient(90deg, rgba(254, 254, 254, 0) 0%, #2fb67c 100%); }
    .hero--resources-entry--red:after, .hero--resources-entry--magenta:after {
      background: #E13429;
      background: -webkit-gradient(linear, left top, right top, from(rgba(254, 254, 254, 0)), to(#e13429));
      background: linear-gradient(90deg, rgba(254, 254, 254, 0) 0%, #e13429 100%); }
    .hero--resources-entry--yellow:after {
      background: #FAB03A;
      background: -webkit-gradient(linear, left top, right top, from(rgba(254, 254, 254, 0)), to(#fab03a));
      background: linear-gradient(90deg, rgba(254, 254, 254, 0) 0%, #fab03a 100%); }

.hero .breadcrumb--cyan {
  font-weight: 600;
  color: #3AA8EF; }
  .hero .breadcrumb--cyan a {
    color: #3AA8EF;
    text-decoration: underline; }
    .hero .breadcrumb--cyan a:hover, .hero .breadcrumb--cyan a:focus, .hero .breadcrumb--cyan a:active:hover, .hero .breadcrumb--cyan a a:active:focus {
      color: #3AA8EF;
      text-decoration: none; }

.hero .breadcrumb--green {
  font-weight: 600;
  color: #2FB67C; }
  .hero .breadcrumb--green a {
    color: #2FB67C;
    text-decoration: underline; }
    .hero .breadcrumb--green a:hover, .hero .breadcrumb--green a:focus, .hero .breadcrumb--green a:active:hover, .hero .breadcrumb--green a a:active:focus {
      color: #2FB67C;
      text-decoration: none; }

.hero .breadcrumb--magenta {
  font-weight: 600;
  color: #E13429; }
  .hero .breadcrumb--magenta a {
    color: #E13429;
    text-decoration: underline; }
    .hero .breadcrumb--magenta a:hover, .hero .breadcrumb--magenta a:focus, .hero .breadcrumb--magenta a:active:hover, .hero .breadcrumb--magenta a a:active:focus {
      color: #E13429;
      text-decoration: none; }

.hero .breadcrumb--yellow {
  font-weight: 600;
  color: #FAB03A; }
  .hero .breadcrumb--yellow a {
    color: #FAB03A;
    text-decoration: underline; }
    .hero .breadcrumb--yellow a:hover, .hero .breadcrumb--yellow a:focus, .hero .breadcrumb--yellow a:active:hover, .hero .breadcrumb--yellow a a:active:focus {
      color: #FAB03A;
      text-decoration: none; }

.postcode-search {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }
  .postcode-search form {
    position: relative; }
  .postcode-search__input {
    margin-bottom: 0;
    border-radius: 50px;
    border: 1px solid rgba(0, 0, 0, 0.5);
    padding: 1.5em; }
  .postcode-search__button {
    margin: 0 !important;
    position: absolute;
    right: -1px;
    top: 0;
    height: 100%;
    background: none;
    border-radius: 50px; }
    .postcode-search__button:hover {
      background: none; }
  .postcode-search__button-image {
    height: 100%;
    width: auto; }

.newsletter-form {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto; }
  .newsletter-form form {
    position: relative; }
  .newsletter-form__input {
    margin-bottom: 0;
    border-radius: 50px;
    border: 1px solid rgba(0, 0, 0, 0.5);
    padding: 1.5em 6em 1.5em 1.5em; }
  .newsletter-form__button {
    margin: 0 !important;
    position: absolute;
    right: -1px;
    top: 0;
    height: 100%;
    border-radius: 50px; }

textarea {
  min-height: 4em;
  margin-top: .5em; }

select {
  min-height: 2em;
  margin-top: .5em; }

label {
  border-bottom: .5em;
  font-weight: 500;
  font-size: 16px; }

input[type="checkbox"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fefefe;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 0.15em;
  -webkit-transform: translateY(-0.075em);
          transform: translateY(-0.075em);
  vertical-align: middle;
  margin-right: 6px !important; }

input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  -webkit-clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
          clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  -webkit-transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
  -webkit-box-shadow: inset 1em 1em var(--form-control-color);
          box-shadow: inset 1em 1em var(--form-control-color);
  background-color: CanvasText;
  top: .25em;
  left: .25em;
  position: absolute; }

input[type="checkbox"]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1); }

input[type="checkbox"]:focus {
  outline: 0.15em solid rgba(0, 0, 0, 0.2);
  outline-offset: 0.15em; }

input[type="checkbox"]:disabled {
  --form-control-color: $light-grey;
  color: #F8F8F8;
  cursor: not-allowed; }

.checkbox-columns {
  -webkit-columns: 1;
     -moz-columns: 1;
          columns: 1; }
  @media print, screen and (min-width: 64em) {
    .checkbox-columns {
      -webkit-columns: 2;
         -moz-columns: 2;
              columns: 2; } }

.checkbox-columns__checkbox {
  position: relative; }
  .checkbox-columns__checkbox input[type="checkbox"] {
    position: absolute;
    top: 0.5em; }
  .checkbox-columns__checkbox [type='checkbox'] + label, .checkbox-columns__checkbox [type='radio'] + label {
    font-weight: 400;
    margin-bottom: 1em;
    margin-left: 1.8em; }

.checkbox-columns__legend {
  font-weight: 700; }

.form-container {
  background: #fefefe;
  border-radius: 32px;
  margin: .4em;
  padding: 1em;
  -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1); }
  @media print, screen and (min-width: 64em) {
    .form-container {
      margin: 2em;
      padding: 4em; } }
  .form-container--white {
    background: #fff !important; }

.errors {
  list-style: none;
  margin: 0 0 1em; }
  .errors li {
    background-color: #E13429;
    color: #fefefe;
    border-radius: 6px;
    padding: 0.6em;
    font-size: .8em; }

.form-reset label, .form-reset input, .form-reset textarea, .form-reset select, .form-reset button, .form-reset .onFormSubmittedFeedbackMessage {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important; }

.form-reset .onFormSubmittedFeedback {
  background: transparent !important; }

.form-reset table {
  width: 100% !important; }

.form-reset table.multi .textFormFieldBlock, .form-reset table.multi .dateTimeFormFieldBlock, .form-reset table.multi .twoOptionFormFieldBlock, .form-reset table.multi .optionSetFormFieldBlock, .form-reset table.multi .multiOptionSetFormFieldBlock, .form-reset table.multi .lookupFormFieldBlock, .form-reset .textFormFieldBlock, .form-reset .dateTimeFormFieldBlock, .form-reset .twoOptionFormFieldBlock, .form-reset .optionSetFormFieldBlock, .form-reset .multiOptionSetFormFieldBlock, .form-reset .lookupFormFieldBlock {
  padding: 0 !important; }

.form-reset th {
  padding: 3px !important;
  width: 10% !important; }

.form-reset .optionSetFormFieldBlock select, .form-reset .textFormFieldBlock input, .form-reset .dateTimeFormFieldBlock input, .form-reset .lookupFormFieldBlock input, .form-reset .marketingForm textarea, .form-reset div[data-editorblocktype="Captcha"] input {
  border-radius: 24px !important;
  font-size: 16px !important;
  padding: 8px 16px !important;
  background-color: #fefefe !important;
  margin-bottom: 10px; }

.form-reset .textFormFieldBlock, .form-reset .dateTimeFormFieldBlock, .form-reset .twoOptionFormFieldBlock, .form-reset .optionSetFormFieldBlock, .form-reset .multiOptionSetFormFieldBlock, .form-reset .lookupFormFieldBlock {
  gap: 4px; }

.form-reset .consentBlock {
  padding: 0 !important; }

.form-reset div[data-editorblocktype="SubmitButton"] {
  padding: 0 !important; }

.form-reset .submitButton {
  border-radius: 32px;
  font-weight: 400; }

.form-reset div[data-cached-form-url] button.submitButton {
  min-width: 160px;
  background-color: #E13429 !important;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out; }
  .form-reset div[data-cached-form-url] button.submitButton:hover, .form-reset div[data-cached-form-url] button.submitButton:active, .form-reset div[data-cached-form-url] button.submitButton:afocus {
    background-color: #901c14 !important; }

.form-reset--reverse .onFormSubmittedFeedbackMessage {
  color: #fefefe !important; }

.form-reset--reverse label {
  color: #fefefe !important; }

.textFormFieldBlock label::after, .twooption_checkbox label::after, .dateTimeFormFieldBlock label::after, .lookupFormFieldBlock label::after, .twoOptionFormFieldBlock label.block-label::after, .twoOptionFormFieldBlock div.twooption_checkbox label::after, .optionSetFormFieldBlock label.block-label::after, .multiOptionSetFormFieldBlock label.block-label::after, .consentBlock label::after, .eventSession label::after, div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"]::after {
  display: none !important; }

#iubenda-cs-banner .iubenda-granular-controls-container .granular-control-checkbox input.style1:checked:before {
  display: none; }

.g-recaptcha {
  padding-top: 25px; }

blockquote {
  position: relative;
  background-color: #356F6F;
  color: #fefefe;
  border-radius: 32px 32px 0 32px;
  font-style: italic;
  border: none;
  margin: 5em 0;
  padding: 3em 5em 3em 2em; }
  @media print, screen and (min-width: 40em) {
    blockquote {
      padding: 3em 8em 3em 4em; } }
  blockquote:after {
    content: '\0201C';
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 500;
    position: absolute;
    top: 15px;
    right: 15px;
    color: #fefefe;
    font-size: 140px;
    line-height: 100px; }
    @media print, screen and (min-width: 40em) {
      blockquote:after {
        top: 80px;
        right: 20px;
        font-size: 200px;
        line-height: 100px; } }
  blockquote cite {
    margin-top: 2em;
    font-style: normal;
    font-size: 16px;
    color: #fefefe; }
    blockquote cite::before {
      content: '';
      display: none; }

.tabs-content {
  border-radius: 0;
  margin-top: 2em; }
  @media print, screen and (min-width: 64em) {
    .tabs-content {
      margin-top: 0; } }

.tabs-section-title {
  margin-bottom: 1.2em;
  margin-left: 24px; }

.tabs-title a {
  border-radius: 32px;
  position: relative;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
  margin-bottom: .5em; }
  .tabs-title a:focus, .tabs-title a[aria-selected='true'] {
    background: none;
    color: #fefefe; }
  .tabs-title a:hover {
    background: none; }

.tabs-panel {
  position: relative; }
  .tabs-panel:after, .tabs-panel:before {
    content: "";
    display: block;
    position: absolute;
    border-radius: 32px;
    z-index: -1; }
  .tabs-panel:before {
    width: 250px;
    height: 190px;
    top: 50px;
    left: -75px;
    background: #2FB67C;
    -webkit-transition: all ease-in-out 1s;
    transition: all ease-in-out 1s; }
  .tabs-panel .svg-gator-after {
    position: absolute;
    width: 519px;
    bottom: -70px;
    right: -70px;
    z-index: -1; }
    @media print, screen and (max-width: 63.99875em) {
      .tabs-panel .svg-gator-after {
        width: 350px;
        bottom: -35px;
        right: -35px; } }
  .tabs-panel .button, .tabs-panel .form-container button, .form-container .tabs-panel button {
    position: absolute;
    right: 32px;
    bottom: 0;
    margin-bottom: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%); }
  .tabs-panel .card {
    max-width: 500px; }
    .tabs-panel .card__title {
      font-weight: 500; }

.tabs-panel--card {
  padding: 0; }
  .tabs-panel--card .card {
    max-width: 368px; }

.button, .form-container button {
  padding: 1em 1.5em; }
  .button:active, .form-container button:active, .button:focus, .form-container button:focus, .button:active:focus, .form-container button:active:focus {
    color: #fefefe; }
  .button:hover, .form-container button:hover {
    background: #08203a; }
  .button--green, .button.thirdly, .form-container button.thirdly {
    background: #2FB67C; }
    .button--green:hover, .button.thirdly:hover, .form-container button.thirdly:hover {
      background: #356F6F; }
    .button--green:active, .button--green:focus, .button--green:active:focus, .button.thirdly:active, .form-container button.thirdly:active, .button.thirdly:focus, .form-container button.thirdly:focus, .button.thirdly:active:focus, .form-container button.thirdly:active:focus {
      background: #356F6F;
      color: #fefefe; }
  .button--magenta {
    background: #E13429; }
    .button--magenta:hover {
      background: #E13429; }
    .button--magenta:active, .button--magenta:focus, .button--magenta:active:focus {
      background: #E13429;
      color: #fefefe; }
  .button--cyan {
    background: #3AA8EF; }
    .button--cyan:hover {
      background: #3AA8EF; }
    .button--cyan:active, .button--cyan:focus, .button--cyan:active:focus {
      background: #3AA8EF;
      color: #fefefe; }
  .button--white-border {
    background: none;
    border: 2px solid #fefefe; }
    .button--white-border:hover {
      background: rgba(254, 254, 254, 0.3); }
    .button--white-border:active, .button--white-border:focus, .button--white-border:active:focus {
      color: #fefefe;
      background: rgba(254, 254, 254, 0.3); }
  .button--center {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .button--navy-border {
    background: none;
    border: 2px solid #102F51;
    color: #102F51; }
    .button--navy-border:hover {
      background: #102F51;
      color: #fefefe; }
    .button--navy-border:active, .button--navy-border:focus, .button--navy-border:active:focus {
      background: #102F51;
      color: #fefefe; }
  .button--cyan-border, .section--content-split--cyan .button, .section--content-split--cyan .form-container button, .form-container .section--content-split--cyan button {
    background: none;
    border: 2px solid #3AA8EF;
    color: #3AA8EF; }
    .button--cyan-border:hover, .section--content-split--cyan .button:hover, .section--content-split--cyan .form-container button:hover, .form-container .section--content-split--cyan button:hover {
      background: #3AA8EF;
      color: #fefefe; }
    .button--cyan-border:active, .section--content-split--cyan .button:active, .section--content-split--cyan .form-container button:active, .form-container .section--content-split--cyan button:active, .button--cyan-border:focus, .section--content-split--cyan .button:focus, .section--content-split--cyan .form-container button:focus, .form-container .section--content-split--cyan button:focus, .button--cyan-border:active:focus, .section--content-split--cyan .button:active:focus, .section--content-split--cyan .form-container button:active:focus, .form-container .section--content-split--cyan button:active:focus {
      background: #3AA8EF;
      color: #fefefe; }
  .button--green-border, .section--content-split--green .button, .section--content-split--green .form-container button, .form-container .section--content-split--green button {
    background: none;
    border: 2px solid #2FB67C;
    color: #2FB67C; }
    .button--green-border:hover, .section--content-split--green .button:hover, .section--content-split--green .form-container button:hover, .form-container .section--content-split--green button:hover {
      background: #2FB67C;
      color: #fefefe; }
    .button--green-border:active, .section--content-split--green .button:active, .section--content-split--green .form-container button:active, .form-container .section--content-split--green button:active, .button--green-border:focus, .section--content-split--green .button:focus, .section--content-split--green .form-container button:focus, .form-container .section--content-split--green button:focus, .button--green-border:active:focus, .section--content-split--green .button:active:focus, .section--content-split--green .form-container button:active:focus, .form-container .section--content-split--green button:active:focus {
      background: #2FB67C;
      color: #fefefe; }
  .button--magenta-border, .section--content-split--magenta .button, .section--content-split--magenta .form-container button, .form-container .section--content-split--magenta button {
    background: none;
    border: 2px solid #E13429;
    color: #E13429; }
    .button--magenta-border:hover, .section--content-split--magenta .button:hover, .section--content-split--magenta .form-container button:hover, .form-container .section--content-split--magenta button:hover {
      background: #E13429;
      color: #fefefe; }
    .button--magenta-border:active, .section--content-split--magenta .button:active, .section--content-split--magenta .form-container button:active, .form-container .section--content-split--magenta button:active, .button--magenta-border:focus, .section--content-split--magenta .button:focus, .section--content-split--magenta .form-container button:focus, .form-container .section--content-split--magenta button:focus, .button--magenta-border:active:focus, .section--content-split--magenta .button:active:focus, .section--content-split--magenta .form-container button:active:focus, .form-container .section--content-split--magenta button:active:focus {
      background: #E13429;
      color: #fefefe; }

.button--arrow, .button--arrow-green, .button--arrow-magenta, .hero__description a:not([href^="mailto:"]), .contact-detail-section a {
  text-align: left;
  border-radius: 4em;
  line-height: 1.2em;
  padding: 2.2em 2.4em;
  background-color: transparent; }
  .button--arrow b, .button--arrow-green b, .button--arrow-magenta b, .hero__description a:not([href^="mailto:"]) b, .contact-detail-section a b {
    display: block;
    margin-bottom: 0.5em;
    line-height: 1em; }
  .button--arrow::after, .button--arrow-green::after, .button--arrow-magenta::after, .hero__description a:not([href^="mailto:"])::after, .contact-detail-section a::after {
    content: '';
    display: inline-block;
    border: 0 !important;
    height: 2em !important;
    width: 2em !important;
    background: url("../img/white-arrow.svg") no-repeat center center !important;
    background-size: contain !important;
    vertical-align: middle;
    margin-left: .5em;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  .button--arrow:hover, .button--arrow-green:hover, .button--arrow-magenta:hover, .hero__description a:hover:not([href^="mailto:"]), .contact-detail-section a:hover {
    background-color: transparent; }
    .button--arrow:hover::after, .button--arrow-green:hover::after, .button--arrow-magenta:hover::after, .hero__description a:not([href^="mailto:"]):hover::after, .contact-detail-section a:hover::after {
      -webkit-transform: translateX(2em);
              transform: translateX(2em); }

.button--arrow-green {
  display: inline-block;
  border-radius: 0;
  padding: 0;
  color: #2FB67C; }
  .button--arrow-green::after {
    background: url("../img/green-arrow.svg") no-repeat center center !important; }
  .button--arrow-green:hover {
    color: #2FB67C; }

.button--arrow-magenta, .hero__description a:not([href^="mailto:"]), .contact-detail-section a {
  display: inline-block;
  border-radius: 0;
  padding: 0;
  color: #E13429; }
  .button--arrow-magenta::after, .hero__description a:not([href^="mailto:"])::after, .contact-detail-section a::after {
    background: url("../img/magenta-chevron-right.svg") no-repeat center center !important;
    height: 1.2em !important;
    width: 1.2em !important; }
  .button--arrow-magenta:hover, .hero__description a:hover:not([href^="mailto:"]), .contact-detail-section a:hover {
    color: #E13429; }

.button--pull-up {
  -webkit-transform: translateY(-2em);
          transform: translateY(-2em); }

@media print, screen and (min-width: 40em) {
  .button + .button, .form-container button + .button, .form-container .button + button, .form-container button + button {
    margin-left: 1em; } }

p + .button, .form-container p + button {
  margin-top: 1em; }

.button--dc {
  padding-right: 1.4rem !important; }
  .button--dc:active, .button--dc:visited, .button--dc:focus, .button--dc:active:hover {
    color: #fefefe; }
  .button--dc::after {
    content: '';
    border: 0 !important;
    height: .6em !important;
    width: .6em !important;
    background: url("../img/white-chevron-down.svg") no-repeat center center !important;
    background-size: contain !important;
    position: static;
    display: inline-block !important;
    margin-left: .5em;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out; }
  .button--dc[aria-expanded="false"]::after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }

.section--accordion {
  background-color: #102F51;
  background-repeat: no-repeat;
  background-position: 500% center, 0 center;
  background-size: cover;
  background-image: url("../img/cluster-blue-and-pieces.svg");
  color: #fefefe; }
  @media print, screen and (min-width: 64em) {
    .section--accordion {
      background-position: -10% center, 0 center;
      background-size: contain; } }
  .section--accordion h2 {
    color: #DCD3C8;
    margin-bottom: 1em; }

.accordion--reverse {
  background-color: transparent;
  color: #fefefe; }
  .accordion--reverse .accordion-item:first-child > :first-child, .accordion--reverse .accordion-item:last-child:not(.is-active) > .accordion-title, .accordion--reverse .accordion-item:last-child > :last-child {
    border-radius: 0 !important;
    border-bottom: none; }
  .accordion--reverse .accordion-title {
    color: #DCD3C8;
    font-size: 18px;
    font-weight: 600;
    border: none;
    border-top: 1px solid rgba(254, 254, 254, 0.4);
    padding-right: 2em; }
    .accordion--reverse .accordion-title:hover, .accordion--reverse .accordion-title:focus {
      background-color: transparent; }
  .accordion--reverse .accordion-content {
    background-color: transparent;
    color: #fefefe;
    border: none; }

.logo-wall {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 3em 0; }
  .logo-wall__logo-container {
    margin: 1em;
    -ms-flex-item-align: start;
        align-self: flex-start;
    place-self: center;
    text-align: center;
    width: calc(33% - 3em); }
    @media print, screen and (min-width: 40em) {
      .logo-wall__logo-container {
        width: calc(25% - 3em); } }
    @media print, screen and (min-width: 64em) {
      .logo-wall__logo-container {
        width: calc(20% - 3em); } }
  .logo-wall__logo {
    max-height: inherit; }

.breadcrumbs__container {
  width: 100%;
  position: absolute;
  top: 72px;
  z-index: 2;
  background: #E13429;
  max-width: 100%;
  overflow-x: auto; }
  @media print, screen and (min-width: 64em) {
    .breadcrumbs__container {
      top: 175px; } }
  .breadcrumbs__container .breadcrumbs {
    white-space: nowrap; }
    .breadcrumbs__container .breadcrumbs li {
      display: inline-block;
      float: none; }
      .breadcrumbs__container .breadcrumbs li a {
        color: rgba(254, 254, 254, 0.8);
        -webkit-transition: color .3s ease-out;
        transition: color .3s ease-out; }
        .breadcrumbs__container .breadcrumbs li a:hover {
          color: #fefefe;
          text-decoration: none; }
      .breadcrumbs__container .breadcrumbs li:not(:last-child)::after {
        color: #102F51;
        font-size: 23px;
        line-height: 16px; }
      .breadcrumbs__container .breadcrumbs li:nth-last-child(2)::after {
        color: #FAB03A; }
      .breadcrumbs__container .breadcrumbs li:last-child {
        margin-right: 1em; }

.search-mobile {
  padding: .8em;
  margin-right: .8em; }
  .search-mobile .fa {
    font-size: 24px; }

html, body {
  scroll-behavior: smooth;
  position: relative; }

svg {
  max-width: 100%; }

a, a:active {
  color: #000000;
  cursor: pointer;
  -webkit-transition: color .3s ease-out;
  transition: color .3s ease-out; }
  a:hover, a:active:hover {
    color: #E13429; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  display: block;
  margin-top: 0;
  margin-bottom: 1em;
  font-weight: 600;
  color: #102F51; }
  h1:empty, .h1:empty, h2:empty, .h2:empty, h3:empty, .h3:empty, h4:empty, .h4:empty, h5:empty, .h5:empty {
    display: none; }

h3, .h3, h4, .h4, h5, .h5 {
  color: #000000; }

.hx__mb0 {
  margin-bottom: 0; }

.hx__mt1 {
  margin-top: 1em; }

h3, .h3 {
  line-height: 1.4; }

h1 i, h1 em, h1 span, .h1 i, .h1 em, .h1 span, h2 i, h2 em, h2 span, .h2 i, .h2 em, .h2 span, h3 i, h3 em, h3 span, .h3 i, .h3 em, .h3 span {
  text-decoration: none;
  font-style: normal;
  font-weight: 600;
  color: #E13429; }

.heading--green {
  color: #2FB67C; }
  .heading--green a {
    color: #2FB67C; }

.heading--dark-green {
  color: #356F6F; }
  .heading--dark-green a {
    color: #356F6F; }

.heading--cyan, .heading--blue {
  color: #3AA8EF; }
  .heading--cyan a, .heading--blue a {
    color: #3AA8EF; }

.heading--magenta, .heading--red {
  color: #E13429; }
  .heading--magenta a, .heading--red a {
    color: #E13429; }

.heading--navy {
  color: #102F51; }
  .heading--navy a {
    color: #102F51; }

.heading--yellow {
  color: #FAB03A; }
  .heading--yellow a {
    color: #FAB03A; }

ol {
  counter-reset: item; }

ol li {
  display: block;
  position: relative;
  margin: 1em 0 2em; }

ol li:before {
  content: counter(item) ".";
  counter-increment: item;
  position: absolute;
  margin-right: 100%;
  right: 10px;
  /* space between number and text */
  color: #3AA8EF;
  font-weight: 400;
  font-size: 16px; }

ol[type="1"] {
  counter-reset: item; }

ol[type="1"] li {
  display: block;
  position: relative; }

ol[type="1"] li:before {
  content: counters(item, ".") ".";
  counter-increment: item;
  position: absolute;
  margin-right: 100%;
  right: 10px;
  /* space between number and text */
  color: #3AA8EF; }

ol[type="a"] {
  counter-reset: item;
  list-style-type: lower-latin; }

ol[type="a"] li {
  display: block;
  position: relative; }

ol[type="a"] li:before {
  content: counter(item, lower-latin) ".";
  counter-increment: item;
  position: absolute;
  margin-right: 100%;
  right: 10px;
  color: #3AA8EF; }

object.scroll-reveal-animation {
  opacity: 0;
  -webkit-transition: opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1);
  transition: opacity 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  object.scroll-reveal-animation.active {
    opacity: 1; }

.checked-list ul {
  list-style: none; }
  .checked-list ul li {
    position: relative;
    padding-left: 2em;
    margin-bottom: 1em;
    font-weight: 700; }
    .checked-list ul li::before {
      content: url("../../img/green-tick.svg");
      display: block;
      position: absolute;
      left: 0;
      top: 0; }

blockquote p {
  color: #000000;
  font-size: 20px; }
  @media print, screen and (min-width: 64em) {
    blockquote p {
      font-size: 26px; } }

blockquote footer {
  color: #3AA8EF; }
  blockquote footer cite {
    color: #000000;
    font-style: normal; }
    blockquote footer cite::before {
      display: none; }

.section--stat {
  overflow-x: hidden;
  overflow-x: clip;
  overflow-y: visible; }

.section--stat + .section--logo-list {
  margin-top: 3em; }
  @media print, screen and (min-width: 40em) {
    .section--stat + .section--logo-list {
      margin-top: 8em; } }

.stat-grid {
  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;
  gap: 1em; }
  @media print, screen and (min-width: 40em) {
    .stat-grid {
      gap: 2em; } }

.stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  position: relative;
  background: #fefefe;
  border-radius: 32px;
  -webkit-box-shadow: 2px 6px 9px -1px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 6px 9px -1px rgba(0, 0, 0, 0.1);
  padding: 1.5em;
  width: calc((100% * (1/2)) - .5em);
  padding: .5em; }
  @media print, screen and (max-width: 39.99875em) {
    .stat:nth-of-type(3) {
      margin-bottom: 1.5em; } }
  @media print, screen and (min-width: 40em) {
    .stat {
      width: calc((100% * (1/3)) - 2em);
      padding: 1em; } }
  @media print, screen and (min-width: 64em) {
    .stat {
      width: calc((100% * (1/4)) - 2em);
      padding: 1.5em; } }
  @supports (-webkit-touch-callout: none) and (not (translate: none)) {
    .stat {
      margin: .5em !important;
      width: calc((100% * (1/2)) - 1.5em); } }
  .stat__content {
    padding: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1em; }
    @supports (-webkit-touch-callout: none) and (not (translate: none)) {
      .stat__content > * {
        margin: 1em !important; } }
  .stat .stat__definition {
    position: relative;
    z-index: 1;
    display: block;
    font-weight: 400;
    color: #000000;
    line-height: 1.2;
    font-size: 1.2em; }
    @media print, screen and (min-width: 40em) {
      .stat .stat__definition {
        font-size: 1.5em; } }
    .stat .stat__definition--small {
      font-size: 1.1em;
      text-align: left;
      line-height: 1.4em; }
  .stat .stat__value {
    display: block;
    line-height: 2em;
    position: relative;
    z-index: 1;
    font-weight: bold;
    color: #000000;
    font-size: 2em;
    margin-bottom: 1em;
    margin-top: 1em; }
    @media print, screen and (min-width: 40em) {
      .stat .stat__value {
        font-size: 3em;
        margin-bottom: 0.5em;
        margin-top: 0.5em; } }
    @media print, screen and (min-width: 64em) {
      .stat .stat__value {
        font-size: 3em;
        margin-bottom: 0.5em;
        margin-top: 0.5em; } }
    .stat .stat__value::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%);
      background: #FAB03A;
      z-index: -1;
      width: 128px;
      height: 128px; }
    .stat .stat__value.scroll-reveal-animation::before {
      -webkit-clip-path: circle(0%);
              clip-path: circle(0%);
      -webkit-transition: -webkit-clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
      transition: -webkit-clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
      transition: clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
      transition: clip-path 1s cubic-bezier(0.65, 0, 0.35, 1), -webkit-clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
      overflow: hidden; }
    .stat .stat__value.scroll-reveal-animation.active::before {
      -webkit-clip-path: circle(50%);
              clip-path: circle(50%); }
    .stat .stat__value--small {
      line-height: 1.2;
      max-width: 16ch;
      margin-top: 1.5em;
      margin-bottom: 1.5em;
      font-size: 1.5em; }
  .stat .stat__logo {
    max-width: 360px; }
  .stat--green .stat__value::before {
    background: rgba(47, 182, 124, 0.4); }
  .stat--cyan .stat__value::before {
    background: rgba(58, 168, 239, 0.4); }
  .stat--yellow .stat__value::before {
    background: rgba(250, 176, 58, 0.4); }
  .stat--magenta .stat__value::before {
    background: rgba(225, 52, 41, 0.4); }
  .stat--grey .stat__value::before {
    background: #F8F8F8; }
  .stat--big {
    width: 100%; }
    .stat--big .stat__value {
      font-size: 3em;
      margin-bottom: 0.5em; }
      @media print, screen and (min-width: 40em) {
        .stat--big .stat__value {
          margin-top: 0; } }
    .stat--big .stat__definition {
      font-size: 1.5em; }
    @media print, screen and (min-width: 40em) {
      .stat--big {
        width: calc((100% * (2/3)) - 2em); }
        .stat--big .stat__value {
          font-size: 3em;
          margin-bottom: 0.5em; }
        .stat--big .stat__definition {
          font-size: 1.5em; } }
    @media print, screen and (min-width: 64em) {
      .stat--big {
        width: calc((100% * (3/4)) - 2em); }
        .stat--big .stat__content {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; }
        .stat--big .stat__definition {
          font-size: 2.5em;
          text-align: left; }
        .stat--big .stat__value {
          font-size: 6em;
          margin-bottom: 0; } }
  .stat--third, .stat--small {
    width: 100%;
    padding: 1em; }
    @media print, screen and (min-width: 40em) {
      .stat--third, .stat--small {
        width: calc((100% * (1/3)) - 2em);
        padding: 1em; } }
    @media print, screen and (min-width: 64em) {
      .stat--third, .stat--small {
        width: calc((100% * (1/3)) - 2em);
        padding: 1em; } }

.stat-grid--alt {
  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-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
  gap: 1em;
  margin-bottom: 2em; }
  @media print, screen and (min-width: 40em) {
    .stat-grid--alt {
      gap: 2em; } }
  @media print, screen and (min-width: 40em) {
    .stat-grid--alt {
      gap: 2em; } }
  .stat-grid--alt .stat {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 1em);
            flex: 0 0 calc(50% - 1em); }
    @media print, screen and (min-width: 40em) {
      .stat-grid--alt .stat {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 calc(100% - 2em);
                flex: 0 0 calc(100% - 2em); } }
    @media print, screen and (min-width: 64em) {
      .stat-grid--alt .stat {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 calc(50% - 2em);
                flex: 0 0 calc(50% - 2em); } }
    @media print, screen and (max-width: 39.99875em) {
      .stat-grid--alt .stat:nth-of-type(3) {
        margin-bottom: 0; } }

.section--behind {
  z-index: 1;
  -webkit-transform: translate3d(0, 0, 1px); }

.section--logo-collection {
  background: #F8F8F8;
  position: relative;
  z-index: 3;
  padding-top: 0;
  margin-top: 6em !important;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-transform: translate3d(0, 0, 3px); }
  .section--logo-collection::before {
    content: '';
    display: block;
    width: 175%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate3d(-50%, -10%, -1px);
            transform: translate3d(-50%, -10%, -1px);
    background: #F8F8F8;
    z-index: -1;
    top: -5%; }
    @media print, screen and (min-width: 64em) {
      .section--logo-collection::before {
        top: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .section--logo-collection .button, .section--logo-collection .form-container button, .form-container .section--logo-collection button {
      margin-top: 2em; } }

.logo-collection {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 3/2;
  margin-bottom: 4em; }
  @supports not (aspect-ratio: 1/1) {
    .logo-collection::before {
      float: left;
      padding-top: 80%;
      content: ""; }
    .logo-collection::after {
      display: block;
      content: "";
      clear: both; } }

.logo-collection__main {
  width: 20%;
  max-width: 320px;
  position: absolute; }

.logo-collection__third-party {
  position: absolute;
  background: #fefefe;
  padding: 1%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 50%;
  overflow: unset;
  overflow: unset;
  width: 13%;
  max-width: 180px;
  max-height: 180px;
  aspect-ratio: 1/1; }
  @supports not (aspect-ratio: 1/1) {
    .logo-collection__third-party {
      height: 8%; } }

.logo-collection__third-party--small {
  scale: .6; }
  @supports not (scale: 1) {
    .logo-collection__third-party--small {
      width: 8%;
      height: 5%; } }

.section--logo-collection.scroll-reveal-animation .logo-collection__third-party {
  -webkit-transition: opacity 1s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: opacity 1s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1), opacity 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1), opacity 1s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 1s cubic-bezier(0.65, 0, 0.35, 1);
  z-index: -1;
  -webkit-transform: scale(0.1);
          transform: scale(0.1);
  opacity: 0; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(0n) {
    -webkit-transition-delay: 00ms;
            transition-delay: 00ms;
    -webkit-transition-duration: 010ms;
            transition-duration: 010ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(1n) {
    -webkit-transition-delay: 10ms;
            transition-delay: 10ms;
    -webkit-transition-duration: 110ms;
            transition-duration: 110ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(2n) {
    -webkit-transition-delay: 20ms;
            transition-delay: 20ms;
    -webkit-transition-duration: 210ms;
            transition-duration: 210ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(3n) {
    -webkit-transition-delay: 30ms;
            transition-delay: 30ms;
    -webkit-transition-duration: 310ms;
            transition-duration: 310ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(4n) {
    -webkit-transition-delay: 40ms;
            transition-delay: 40ms;
    -webkit-transition-duration: 410ms;
            transition-duration: 410ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(5n) {
    -webkit-transition-delay: 50ms;
            transition-delay: 50ms;
    -webkit-transition-duration: 510ms;
            transition-duration: 510ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(6n) {
    -webkit-transition-delay: 60ms;
            transition-delay: 60ms;
    -webkit-transition-duration: 610ms;
            transition-duration: 610ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(7n) {
    -webkit-transition-delay: 70ms;
            transition-delay: 70ms;
    -webkit-transition-duration: 710ms;
            transition-duration: 710ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(8n) {
    -webkit-transition-delay: 80ms;
            transition-delay: 80ms;
    -webkit-transition-duration: 810ms;
            transition-duration: 810ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(9n) {
    -webkit-transition-delay: 90ms;
            transition-delay: 90ms;
    -webkit-transition-duration: 910ms;
            transition-duration: 910ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(10n) {
    -webkit-transition-delay: 100ms;
            transition-delay: 100ms;
    -webkit-transition-duration: 1010ms;
            transition-duration: 1010ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(11n) {
    -webkit-transition-delay: 110ms;
            transition-delay: 110ms;
    -webkit-transition-duration: 1110ms;
            transition-duration: 1110ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(12n) {
    -webkit-transition-delay: 120ms;
            transition-delay: 120ms;
    -webkit-transition-duration: 1210ms;
            transition-duration: 1210ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(13n) {
    -webkit-transition-delay: 130ms;
            transition-delay: 130ms;
    -webkit-transition-duration: 1310ms;
            transition-duration: 1310ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(14n) {
    -webkit-transition-delay: 140ms;
            transition-delay: 140ms;
    -webkit-transition-duration: 1410ms;
            transition-duration: 1410ms; }
  .section--logo-collection.scroll-reveal-animation .logo-collection__third-party:nth-of-type(15n) {
    -webkit-transition-delay: 150ms;
            transition-delay: 150ms;
    -webkit-transition-duration: 1510ms;
            transition-duration: 1510ms; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(0n) {
  -webkit-transform: translate(290%, -70%) scale(1);
          transform: translate(290%, -70%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(1n) {
  -webkit-transform: translate(250%, -50%) scale(1);
          transform: translate(250%, -50%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(2n) {
  -webkit-transform: translate(440%, 130%) scale(1);
          transform: translate(440%, 130%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(3n) {
  -webkit-transform: translate(10%, 200%) scale(1);
          transform: translate(10%, 200%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(4n) {
  -webkit-transform: translate(-60%, -260%) scale(1);
          transform: translate(-60%, -260%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(5n) {
  -webkit-transform: translate(120%, 135%) scale(1);
          transform: translate(120%, 135%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(6n) {
  -webkit-transform: translate(250%, 185%) scale(1);
          transform: translate(250%, 185%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(7n) {
  -webkit-transform: translate(-290%, 80%) scale(1);
          transform: translate(-290%, 80%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(8n) {
  -webkit-transform: translate(190%, -170%) scale(1);
          transform: translate(190%, -170%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(9n) {
  -webkit-transform: translate(-180%, 20%) scale(1);
          transform: translate(-180%, 20%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(10n) {
  -webkit-transform: translate(-320%, 210%) scale(1);
          transform: translate(-320%, 210%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(11n) {
  -webkit-transform: translate(260%, 30%) scale(1);
          transform: translate(260%, 30%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(12n) {
  -webkit-transform: translate(-150%, -140%) scale(1);
          transform: translate(-150%, -140%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(13n) {
  -webkit-transform: translate(70%, -190%) scale(1);
          transform: translate(70%, -190%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(14n) {
  -webkit-transform: translate(-400%, -120%) scale(1);
          transform: translate(-400%, -120%) scale(1);
  opacity: 1; }

.section--logo-collection.scroll-reveal-animation.active .logo-collection__third-party:nth-of-type(15n) {
  -webkit-transform: translate(-100%, 150%) scale(1);
          transform: translate(-100%, 150%) scale(1);
  opacity: 1; }

.section--icon-property {
  position: relative;
  z-index: 0;
  overflow-x: hidden;
  overflow-x: clip;
  overflow-y: visible; }

.icon-property {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4em; }
  @supports (-webkit-touch-callout: none) and (not (translate: none)) {
    .icon-property > * {
      margin: 0 0 4em 0 !important; } }
  .icon-property__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    padding-bottom: 4em;
    gap: 1em; }
    @media print, screen and (min-width: 40em) {
      .icon-property__item {
        gap: 2em; } }
    @supports (-webkit-touch-callout: none) and (not (translate: none)) {
      .icon-property__item > * {
        margin: 0 1em 0 0 !important; } }
    .icon-property__item:last-child {
      border-bottom: none; }
    .icon-property__item:nth-of-type(1n) .icon-property__icon {
      background: rgba(47, 182, 124, 0.4); }
    .icon-property__item:nth-of-type(2n) .icon-property__icon {
      background: rgba(225, 52, 41, 0.4); }
    .icon-property__item:nth-of-type(3n) .icon-property__icon {
      background: rgba(58, 168, 239, 0.4); }
    .icon-property__item:nth-of-type(4n) .icon-property__icon {
      background: rgba(250, 176, 58, 0.4); }
  .icon-property__icon {
    font-size: .6em;
    display: block;
    padding: 1em;
    overflow: visible;
    border-radius: 50%;
    background: rgba(47, 182, 124, 0.4);
    -o-object-fit: contain;
       object-fit: contain;
    aspect-ratio: 1/1;
    width: 5em;
    height: 5em; }
    @media print, screen and (min-width: 40em) {
      .icon-property__icon {
        font-size: 1em; } }
  .icon-property__content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: .5em; }
    @supports (-webkit-touch-callout: none) and (not (translate: none)) {
      .icon-property__content > * {
        margin: 0 0 .5em 0 !important; } }
  .icon-property__title {
    font-size: 1.2em;
    font-weight: 700; }
    @media print, screen and (min-width: 40em) {
      .icon-property__title {
        font-size: 1.4em; } }
  .icon-property--compact {
    margin: 3em 0 3em 0;
    gap: 1em; }
    @supports (-webkit-touch-callout: none) and (not (translate: none)) {
      .icon-property--compact > * {
        margin: 0 0 1em 0 !important; } }
    .icon-property--compact .icon-property__item {
      padding-bottom: 1em; }

.logo-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  flex-wrap: wrap; }
  @media print, screen and (min-width: 64em) {
    .logo-list {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .logo-list__logo-container {
    margin: 1em;
    -ms-flex-item-align: start;
        align-self: flex-start;
    place-self: center;
    text-align: center; }
  .logo-list__logo {
    max-height: 80px; }
    @media print, screen and (min-width: 64em) {
      .logo-list__logo {
        max-height: 120px;
        max-width: 100%; } }

.section--quote-form {
  background: #F8F8F8;
  position: relative;
  z-index: 3;
  padding-top: 0;
  margin-top: 6em !important;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-transform: translate3d(0, 0, 3px); }
  .section--quote-form::before {
    content: '';
    display: block;
    width: 200vw;
    height: 80vw;
    border-radius: 50%;
    position: absolute;
    top: -2%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -10%, -1px);
            transform: translate3d(-50%, -10%, -1px);
    background: #F8F8F8;
    z-index: -1; }
    @media print, screen and (min-width: 40em) {
      .section--quote-form::before {
        top: 0; } }

.quote-form__section {
  margin: 3em 0;
  padding: 0 0 3em 0;
  border-bottom: 2px solid #000000; }
  @media print, screen and (min-width: 40em) {
    .quote-form__section {
      margin: 6em 0;
      padding: 0 0 6em 0; } }
  .quote-form__section p, .quote-form__section legend, .quote-form__section h1, .quote-form__section h2, .quote-form__section h3, .quote-form__section h4, .quote-form__section h5 {
    color: #000000; }
  .quote-form__section:nth-of-type(1n) {
    color: #2FB67C;
    border-bottom-color: currentColor; }
    .quote-form__section:nth-of-type(1n) .heading {
      color: currentColor; }
  .quote-form__section:nth-of-type(2n) {
    color: #3AA8EF;
    border-bottom-color: currentColor; }
    .quote-form__section:nth-of-type(2n) .heading {
      color: currentColor; }
  .quote-form__section:nth-of-type(3n) {
    color: #E13429;
    border-bottom-color: currentColor; }
    .quote-form__section:nth-of-type(3n) .heading {
      color: currentColor; }
  .quote-form__section:nth-of-type(4n) {
    color: #2FB67C;
    border-bottom-color: currentColor; }
    .quote-form__section:nth-of-type(4n) .heading {
      color: currentColor; }
  .quote-form__section:last-child {
    color: #000000;
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0; }
    .quote-form__section:last-child .heading {
      color: currentColor; }

textarea {
  border-radius: 24px !important;
  font-size: 16px !important;
  padding: 8px 16px !important;
  border: 1px solid #e1dfdd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2; }

select {
  min-height: 3.5em;
  margin-top: .5em; }

label {
  font-weight: bold;
  display: inline-block;
  margin-top: 4px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  padding: 0px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  font-weight: 600;
  color: #323130; }

input[type="checkbox"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fefefe;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 0.15em;
  -webkit-transform: translateY(-0.075em);
          transform: translateY(-0.075em);
  vertical-align: middle; }

input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  -webkit-clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
          clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  -webkit-transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms -webkit-transform ease-in-out;
  transition: 120ms transform ease-in-out;
  transition: 120ms transform ease-in-out, 120ms -webkit-transform ease-in-out;
  -webkit-box-shadow: inset 1em 1em var(--form-control-color);
          box-shadow: inset 1em 1em var(--form-control-color);
  background-color: CanvasText;
  top: .15em;
  left: .1em;
  position: absolute; }

input[type="checkbox"]:checked::before {
  -webkit-transform: scale(1);
          transform: scale(1); }

input[type="checkbox"]:focus {
  outline: 0.15em solid rgba(0, 0, 0, 0.2);
  outline-offset: 0.15em; }

input[type="checkbox"]:disabled {
  --form-control-color: $light-grey;
  color: #F8F8F8;
  cursor: not-allowed; }

input[type="text"], input[type="email"] {
  border-radius: 24px !important;
  font-size: 16px !important;
  padding: 8px 16px !important;
  border: 1px solid #e1dfdd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2; }

.checkbox-columns {
  -webkit-columns: 1;
     -moz-columns: 1;
          columns: 1; }
  @media print, screen and (min-width: 64em) {
    .checkbox-columns {
      -webkit-columns: 2;
         -moz-columns: 2;
              columns: 2; } }

.checkbox-columns__checkbox {
  position: relative; }
  .checkbox-columns__checkbox input[type="checkbox"] {
    position: absolute;
    top: 0.5em; }
  .checkbox-columns__checkbox [type='checkbox'] + label, .checkbox-columns__checkbox [type='radio'] + label {
    font-weight: normal;
    margin-bottom: 1em;
    margin-left: 1.8em; }

.checkbox-columns__legend {
  font-weight: bold; }

.form-container {
  background: #F8F8F8;
  border-radius: 0 32px 32px 32px;
  margin: .4em;
  padding: 1em;
  -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1); }
  @media print, screen and (min-width: 64em) {
    .form-container {
      margin: 1em;
      padding: 2em 3em; } }

.errors {
  list-style: none;
  margin: 0 0 1em; }
  .errors li {
    background-color: #E13429;
    color: #fefefe;
    border-radius: 6px;
    padding: 0.6em;
    font-size: .8em; }

.iframe-container {
  margin: 2em 0 0; }
  @media print, screen and (min-width: 64em) {
    .iframe-container {
      margin: 3em 0 0; } }

.background-image {
  position: absolute;
  z-index: -1; }
  @media print, screen and (min-width: 64em) {
    .background-image {
      margin-top: -4em;
      margin-left: -4em; } }
  .background-image--centered {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.small-print {
  font-size: .8em;
  margin: 2em 0; }

.contact-detail-section {
  margin-top: 2em;
  padding: 2em 0;
  border-top: 2px solid rgba(0, 0, 0, 0.2); }
  .contact-detail-section a {
    color: #E13429 !important; }

.section--magellan-full {
  z-index: 2; }
  @media print, screen and (min-width: 40em) {
    .section--magellan-full--no-padb {
      padding-bottom: 0; } }

.menu--magellan-full {
  background: #fefefe;
  width: 100%;
  font-weight: 400; }
  @media print, screen and (min-width: 64em) {
    .menu--magellan-full {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: space-evenly;
          -ms-flex-pack: space-evenly;
              justify-content: space-evenly; }
      .menu--magellan-full a {
        color: #000000;
        font-weight: 700;
        position: relative; }
        .menu--magellan-full a:hover::after {
          content: '';
          display: block;
          position: absolute;
          height: 6px;
          border-radius: 3pc;
          width: calc(100% - 2em);
          top: 3em;
          background: #102F51;
          -webkit-animation: fadeIn .4s normal forwards ease-out;
                  animation: fadeIn .4s normal forwards ease-out; } }

@media print, screen and (min-width: 64em) {
  .menu--magellan-parent {
    width: 100%; } }

.menu__full-width-item {
  width: 100% !important;
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-left: 0 !important;
  color: #000000;
  font-weight: 700; }
  @media print, screen and (min-width: 64em) {
    .menu__full-width-item {
      border-bottom: none; } }

@media print, screen and (max-width: 63.99875em) {
  .section--content-split .medium-order-2 img {
    margin-bottom: 1em; } }

.section--content-split--cyan h5 {
  color: #3AA8EF; }

.section--content-split--cyan ul li::marker {
  color: #3AA8EF; }

.section--content-split--green h5 {
  color: #2FB67C; }

.section--content-split--green ul li::marker {
  color: #2FB67C; }

.section--content-split--magenta h5 {
  color: #E13429; }

.section--content-split--magenta ul li::marker {
  color: #E13429; }

.section--snippets-by-two {
  z-index: 4; }

.cell--alternate-underline {
  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;
  padding-top: 3rem !important; }
  .cell--alternate-underline::after {
    content: '';
    position: absolute;
    width: calc(100% - 2rem);
    margin: auto;
    bottom: 0;
    display: block;
    border-bottom: 1px solid #3AA8EF; }
  .cell--alternate-underline:nth-of-type(1n)::after {
    border-bottom-color: #FAB03A; }
  .cell--alternate-underline:nth-of-type(2n)::after {
    border-bottom-color: #3AA8EF; }
  .cell--alternate-underline:nth-of-type(3n)::after {
    border-bottom-color: #2FB67C; }
  .cell--alternate-underline:nth-of-type(4n)::after {
    border-bottom-color: #E13429; }
  .cell--alternate-underline p {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-bottom: 1em; }
  .cell--alternate-underline .button--arrow, .cell--alternate-underline .button--arrow-green, .cell--alternate-underline .button--arrow-magenta, .cell--alternate-underline .hero__description a:not([href^="mailto:"]), .hero__description .cell--alternate-underline a:not([href^="mailto:"]), .cell--alternate-underline .contact-detail-section a, .contact-detail-section .cell--alternate-underline a {
    padding-bottom: 0; }

.section--tabbed-logo-feature-cards {
  overflow: hidden; }
  .section--tabbed-logo-feature-cards h2 {
    margin-left: auto;
    margin-right: auto;
    font-weight: 600; }

.tabs--logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1em; }
  @media print, screen and (min-width: 40em) {
    .tabs--logos {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      gap: 1.5em; } }
  .tabs--logos::before, .tabs--logos::after {
    display: none; }

.tabs-title--logo {
  position: relative;
  float: none; }
  .tabs-title--logo.is-active::after {
    content: '';
    display: block;
    position: absolute;
    height: 6px;
    border-radius: 3px;
    bottom: 0;
    background: #E13429;
    -webkit-animation: fadeIn .4s normal forwards ease-out;
            animation: fadeIn .4s normal forwards ease-out;
    width: calc(100% - 1.5em);
    left: .75em; }
    @media print, screen and (min-width: 40em) {
      .tabs-title--logo.is-active::after {
        width: calc(100% - 2.5em);
        left: 1.25em; } }
  .tabs-title--logo > a {
    padding: 1.25rem .25rem; }
    .tabs-title--logo > a img {
      max-width: 80px; }
      @media print, screen and (min-width: 40em) {
        .tabs-title--logo > a img {
          max-width: 96px; } }

.tabs-content--logos {
  margin-top: 2em; }
  @media print, screen and (min-width: 40em) {
    .tabs-content--logos {
      margin-top: 4em; } }

.tabs-panel--card-container {
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 32px;
  padding: 2em; }
  @media print, screen and (min-width: 40em) {
    .tabs-panel--card-container {
      padding: 4em; } }
  .tabs-panel--card-container .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%; }
  .tabs-panel--card-container.is-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .tabs-panel--card-container.is-active .card {
      -webkit-animation: fadeIn .4s normal forwards ease-out;
              animation: fadeIn .4s normal forwards ease-out; }

.section--columned-list__content {
  background: #06121E;
  color: #fefefe;
  border-radius: 24px;
  padding: 3em 2em;
  margin-top: 2em;
  margin-bottom: 3em; }
  @media print, screen and (min-width: 40em) {
    .section--columned-list__content {
      padding: 5em; } }
  @media print, screen and (min-width: 40em) {
    .section--columned-list__content ul {
      -webkit-columns: 100px 2;
         -moz-columns: 100px 2;
              columns: 100px 2;
      -webkit-column-break-inside: avoid;
         -moz-column-break-inside: avoid;
              break-inside: avoid; } }
  @media print, screen and (min-width: 64em) {
    .section--columned-list__content ul {
      -webkit-columns: 100px 3;
         -moz-columns: 100px 3;
              columns: 100px 3;
      -webkit-column-break-inside: avoid;
         -moz-column-break-inside: avoid;
              break-inside: avoid; } }
  .section--columned-list__content ul li {
    margin-bottom: 1em; }

.section--video-gallery__item h3 {
  font-size: 1.3rem;
  margin-top: 1em; }

.section--video-gallery__item img {
  width: 100%; }

.close-button {
  position: absolute;
  z-index: 10;
  color: #6A6A6A;
  cursor: pointer; }

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

.reveal--video {
  width: 100vw;
  max-width: 100vw;
  padding: 2em;
  position: fixed;
  margin: auto;
  left: 0;
  top: 0;
  z-index: 1000000; }
  @media print, screen and (min-width: 64em) {
    .reveal--video {
      width: 100%;
      max-width: 64rem;
      padding: 2rem;
      position: fixed;
      margin: auto;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      aspect-ratio: 16 / 9;
      overflow: hidden;
      -webkit-box-shadow: 0 0 1200px 1200px rgba(0, 0, 0, 0.5);
              box-shadow: 0 0 1200px 1200px rgba(0, 0, 0, 0.5); } }

.section--trending-articles {
  border-bottom: 1px solid #000000; }
  .section--trending-articles__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-bottom: 3em; }
    .section--trending-articles__item:last-of-type {
      margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .section--trending-articles__item {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(50% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .section--trending-articles__item {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(25% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0; } }
    .section--trending-articles__item a {
      display: block;
      margin-bottom: 1em;
      text-decoration: underline; }
      .section--trending-articles__item a:hover {
        text-decoration: none; }
    .section--trending-articles__item--intro {
      position: relative; }
    .section--trending-articles__item--green a, .section--trending-articles__item--green span {
      color: #2FB67C; }
    .section--trending-articles__item--blue a, .section--trending-articles__item--blue span, .section--trending-articles__item--cyan a, .section--trending-articles__item--cyan span {
      color: #3AA8EF; }
    .section--trending-articles__item--red a, .section--trending-articles__item--red span, .section--trending-articles__item--magenta a, .section--trending-articles__item--magenta span {
      color: #E13429; }

.resources__filters {
  margin-bottom: 1em; }
  @media print, screen and (min-width: 64em) {
    .resources__filters {
      margin-bottom: 0; } }
  .resources__filters .grid-x {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

@media print, screen and (min-width: 64em) {
  .resources__filter {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20.83333% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.5em; } }

.resources__filter a, .resources__filter select {
  color: #000000;
  font-size: 1.1rem;
  font-weight: 700; }

.resources__filter a {
  display: inline-block;
  padding-top: 0.4em; }
  @media print, screen and (max-width: 63.99875em) {
    .resources__filter a {
      margin-left: 1em;
      margin-bottom: 1em; } }

.resources__filter select {
  margin-bottom: 0;
  border: none; }
  .resources__filter select:focus {
    outline: none;
    border: 1px solid #000000;
    -webkit-box-shadow: none;
            box-shadow: none; }

.resources__filter--search {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-top: 1.5em; }
  @media print, screen and (min-width: 64em) {
    .resources__filter--search {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(25% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-top: 0;
      margin-left: auto; } }

.resources__filter .menu__subtitle {
  margin-left: -1em; }

.resources__search form {
  position: relative; }

.resources__search-input, .resources__search-search {
  margin-bottom: 0;
  border-radius: 50px;
  border: 1px solid #000000; }

.resources__search-search {
  padding: 1.5em;
  border-color: #102F51; }

.resources__search-button, .resources__search-button:hover {
  position: absolute;
  right: -1px;
  top: 0;
  height: 3.625rem;
  background-color: transparent !important;
  position: absolute;
  right: 0;
  top: 0;
  background-image: url("../img/icon-nav-search.svg");
  height: 100%;
  background-repeat: no-repeat;
  background-size: 60%;
  background-position: center;
  border-radius: 0;
  margin: 0;
  margin-right: 12px; }

.section--resources-entry__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 4em; }
  @media print, screen and (min-width: 40em) {
    .section--resources-entry__content {
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .section--resources-entry__content {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(58.33333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .section--resources-entry__content p {
    max-width: 100%; }

.section--resources-entry__side-bar {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .section--resources-entry__side-bar {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(33.33333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-left: calc(8.33333% + 1.875rem / 2); } }
  .section--resources-entry__side-bar .card--post {
    max-width: 100%;
    width: 100%; }

.section--resources-entry__whitepaper, .section--resources-entry__article {
  margin-bottom: 3em; }
  .section--resources-entry__whitepaper img, .section--resources-entry__article img {
    margin-bottom: 1.5em; }
  .section--resources-entry__whitepaper span, .section--resources-entry__article span {
    display: inline-block;
    margin-bottom: 1.5em; }
  .section--resources-entry__whitepaper h3, .section--resources-entry__article h3 {
    font-weight: 700; }
    .section--resources-entry__whitepaper h3 a, .section--resources-entry__article h3 a {
      color: #000000; }

.section--resources-entry__article span {
  font-weight: 700; }
  .section--resources-entry__article span a {
    text-decoration: underline; }

.section--resources-entry__article--blue span > a, .section--resources-entry__article--cyan span > a {
  color: #3AA8EF; }

.section--resources-entry__article--green span > a {
  color: #2FB67C; }

.section--resources-entry__article--red span > a, .section--resources-entry__article--magenta span > a {
  color: #E13429; }

.resource__image {
  margin-bottom: 2em; }

.resources__page-builder .section {
  padding-top: 0 !important;
  padding-bottom: 3em !important; }
  .resources__page-builder .section--two-col-entry__content-callout {
    margin-top: 0 !important; }
  .resources__page-builder .section--grey {
    background: transparent; }
  .resources__page-builder .section--image-full-width .cell {
    padding-left: 0;
    padding-right: 0; }
  .resources__page-builder .section--image-full-width img {
    margin-top: 0;
    border-radius: 32px; }
  .resources__page-builder .section--quotation-callout .quotation-callout__callout {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }

.resources__page-builder .cell--rich-text:first-of-type {
  padding-top: 0; }

.resources-author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  .resources-author__avatar img {
    margin: 0;
    padding: 0;
    width: auto;
    border-radius: 45px;
    border: 1px solid #F8F8F8; }
  .resources-author__social {
    margin-left: 2em; }
    .resources-author__social ul {
      list-style: none;
      margin: 0;
      padding: 0; }
  .resources-author__screen-name {
    font-weight: 600;
    font-size: 1.2em; }
  .resources-author__role-title {
    font-weight: 500; }
  .resources-author__social-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .resources-author__social-link a:hover {
      color: #000000; }
    .resources-author__social-link img {
      height: 15px;
      width: auto;
      margin: 0 0 0.2em 1em;
      padding: 0; }

.aside {
  background: #06121E;
  padding: 4em 3em;
  border-radius: 25px; }
  .aside__intro {
    margin-bottom: 4em; }
    .aside__intro h3 {
      color: #fefefe;
      font-weight: 700; }
  .aside__base input[type="text"] {
    margin-bottom: 1em;
    border-radius: 50px; }
  .aside__base .button, .aside__base .form-container button, .form-container .aside__base button {
    width: 100%;
    border-radius: 50px;
    padding: 1.4em 1.6em; }

.section--team-grid {
  overflow: hidden; }
  .section--team-grid .card__title {
    font-weight: 600; }
  .section--team-grid .card__surtitle {
    font-weight: 400;
    color: #E13429; }
  .section--team-grid .card__footer-section {
    padding-top: 0; }
    .section--team-grid .card__footer-section img {
      max-width: 35px; }

.pagination .current {
  background: none;
  color: #000000; }

.pagination .pagination-next, .pagination .pagination-previous {
  background-color: transparent; }
  .pagination .pagination-next a, .pagination .pagination-previous a {
    background-color: transparent;
    position: relative; }
    .pagination .pagination-next a::before, .pagination .pagination-previous a::before {
      content: '';
      display: none; }
    .pagination .pagination-next a::after, .pagination .pagination-previous a::after {
      content: '';
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      border: 0;
      height: 1em;
      width: 1em;
      right: -2em;
      background: url("../img/magenta-chevron-right.svg") no-repeat center center;
      background-size: contain;
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
    .pagination .pagination-next a:hover, .pagination .pagination-previous a:hover {
      background-color: transparent;
      color: #E13429; }
      .pagination .pagination-next a:hover::after, .pagination .pagination-previous a:hover::after {
        -webkit-transform: rotate(0deg) translateY(-50%) translateX(1em);
                transform: rotate(0deg) translateY(-50%) translateX(1em); }

.pagination .pagination-previous a::after {
  content: '';
  left: -2em;
  -webkit-transform: rotate(180deg) translateY(50%);
          transform: rotate(180deg) translateY(50%); }

.pagination .pagination-previous a:hover::after {
  -webkit-transform: rotate(180deg) translateY(50%) translateX(1em);
          transform: rotate(180deg) translateY(50%) translateX(1em); }

.section--office {
  overflow-x: hidden; }
  .section--office__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .section--office__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    @media print, screen and (max-width: 63.99875em) {
      .section--office__container--no-pad-lr {
        padding-left: 0;
        padding-right: 0; } }
    .section--office__container--triptych {
      margin-top: 3em;
      margin-bottom: 3em; }
      @media print, screen and (max-width: 63.99875em) {
        .section--office__container--triptych .section--office__details {
          margin-bottom: 3em; }
          .section--office__container--triptych .section--office__details:last-of-type {
            margin-bottom: 0; } }
  .section--office__grid {
    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; }
  .section--office__inner {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .section--office__inner {
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .section--office__inner {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(66.66667% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-left: calc(16.66667% + 1.875rem / 2); } }
    @media print, screen and (max-width: 63.99875em) {
      .section--office__inner--no-mag-lr {
        margin-left: 0;
        margin-right: 0; } }
  .section--office__image {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    position: relative;
    margin-bottom: 3em; }
    @media print, screen and (min-width: 64em) {
      .section--office__image {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(50% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-left: 0.625rem;
        margin-right: 0.625rem;
        margin-top: 0.625rem;
        margin-bottom: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .section--office__image {
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
    .section--office__image img {
      width: 100%;
      border-radius: 25px; }
    .section--office__image:before {
      content: '';
      position: absolute;
      top: 15%;
      right: -20%;
      display: block;
      height: 300px;
      width: 300px;
      background: #3AA8EF;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(254, 254, 254, 0)), to(#3aa8ef));
      background: linear-gradient(180deg, rgba(254, 254, 254, 0) 0%, #3aa8ef 100%);
      -webkit-clip-path: circle(0);
              clip-path: circle(0);
      z-index: -1;
      -webkit-transition: -webkit-clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
      transition: -webkit-clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
      transition: clip-path 1s cubic-bezier(0.65, 0, 0.35, 1);
      transition: clip-path 1s cubic-bezier(0.65, 0, 0.35, 1), -webkit-clip-path 1s cubic-bezier(0.65, 0, 0.35, 1); }
      @media print, screen and (min-width: 40em) {
        .section--office__image:before {
          height: 150px;
          width: 150px;
          top: 15%;
          left: -35%;
          right: auto; } }
      @media print, screen and (min-width: 64em) {
        .section--office__image:before {
          height: 300px;
          width: 300px; } }
    .section--office__image--blue:before {
      background: #3AA8EF;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(254, 254, 254, 0)), to(#3aa8ef));
      background: linear-gradient(180deg, rgba(254, 254, 254, 0) 0%, #3aa8ef 100%); }
    .section--office__image--green:before {
      background: #2FB67C;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(254, 254, 254, 0)), to(#2fb67c));
      background: linear-gradient(180deg, rgba(254, 254, 254, 0) 0%, #2fb67c 100%); }
    .section--office__image--red:before {
      background: #E13429;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(254, 254, 254, 0)), to(#e13429));
      background: linear-gradient(180deg, rgba(254, 254, 254, 0) 0%, #e13429 100%); }
    .section--office__image--yellow:before {
      background: #FAB03A;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(254, 254, 254, 0)), to(#fab03a));
      background: linear-gradient(180deg, rgba(254, 254, 254, 0) 0%, #fab03a 100%); }
  .section--office__details {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    padding-bottom: 1.5em; }
    @media print, screen and (min-width: 64em) {
      .section--office__details {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(41.66667% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-left: calc(8.33333% + 1.875rem / 2); } }
    .section--office__details p a {
      color: #000000; }
    .section--office__details ul {
      list-style: none;
      margin-left: 0;
      margin-top: 2em; }
      .section--office__details ul li {
        margin-bottom: 0.5em; }
        .section--office__details ul li a {
          color: #000000;
          text-decoration: underline; }
          .section--office__details ul li a:hover {
            text-decoration: none; }
    @media print, screen and (min-width: 40em) {
      .section--office__details--grid {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(33.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    .section--office__details--blue {
      border-bottom: 1px solid #3AA8EF; }
    .section--office__details--green {
      border-bottom: 1px solid #2FB67C; }
    .section--office__details--red {
      border-bottom: 1px solid #E13429; }
    .section--office__details--yellow {
      border-bottom: 1px solid #FAB03A; }
  .section--office--bground-light-grey {
    background: #e6e6e6; }
  .section--office.active .section--office__image:before {
    -webkit-clip-path: circle(50%);
            clip-path: circle(50%); }

.section--faqs {
  overflow: hidden; }
  .section--faqs .background-image {
    position: absolute;
    z-index: -1;
    width: 650px; }
    @media print, screen and (min-width: 64em) {
      .section--faqs .background-image {
        margin-top: -4em; } }
    .section--faqs .background-image.scroll-reveal-animation {
      opacity: 0;
      -webkit-transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
      transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
      -webkit-transform: rotate(0);
              transform: rotate(0); }
    .section--faqs .background-image.active {
      opacity: 1;
      -webkit-transform: rotate(530deg);
              transform: rotate(530deg); }
    .section--faqs .background-image--right {
      top: 100px;
      right: -2.5em; }
  .section--faqs__col-faqs {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .section--faqs__col-faqs {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(75% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    .section--faqs__col-faqs--full-width {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; }
  .section--faqs__col-sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-top: 4em; }
    @media print, screen and (min-width: 64em) {
      .section--faqs__col-sidebar {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(25% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  .section--faqs__faq-accordion {
    margin-bottom: 5em; }
    .section--faqs__faq-accordion:last-of-type {
      margin-bottom: 0; }
    .section--faqs__faq-accordion.is-hidden {
      display: none; }
    .section--faqs__faq-accordion .accordion {
      background: none; }
      .section--faqs__faq-accordion .accordion-item:first-child > :first-child {
        border-radius: 0; }
      .section--faqs__faq-accordion .accordion-title {
        border: none;
        border-bottom: 1px solid #e6e6e6;
        padding-left: 3rem;
        font-size: 1.2rem;
        font-weight: 700;
        color: #000000; }
        .section--faqs__faq-accordion .accordion-title:hover, .section--faqs__faq-accordion .accordion-title:focus {
          color: #000000;
          background: none; }
        .section--faqs__faq-accordion .accordion-title:before {
          top: 40%;
          right: auto;
          left: 1rem;
          color: #000000; }
        .section--faqs__faq-accordion .accordion-title--cyan:before, .section--faqs__faq-accordion .accordion-title--cyan:hover, .section--faqs__faq-accordion .accordion-title--cyan:focus {
          color: #3AA8EF; }
        .section--faqs__faq-accordion .accordion-title--green:before, .section--faqs__faq-accordion .accordion-title--green:hover, .section--faqs__faq-accordion .accordion-title--green:focus {
          color: #2FB67C; }
        .section--faqs__faq-accordion .accordion-title--magenta:before, .section--faqs__faq-accordion .accordion-title--magenta:hover, .section--faqs__faq-accordion .accordion-title--magenta:focus {
          color: #E13429; }
        .section--faqs__faq-accordion .accordion-title--yellow:before, .section--faqs__faq-accordion .accordion-title--yellow:hover, .section--faqs__faq-accordion .accordion-title--yellow:focus {
          color: #FAB03A; }
      .section--faqs__faq-accordion .accordion-content {
        border: none;
        background: none; }
        .section--faqs__faq-accordion .accordion-content p {
          max-width: 100%; }
  .section--faqs__header {
    margin-bottom: 2.5em;
    border-bottom: 1px solid #000000; }
    .section--faqs__header h2 {
      margin-bottom: 0.75em; }
    .section--faqs__header--cyan {
      border-color: #3AA8EF; }
    .section--faqs__header--green {
      border-color: #2FB67C; }
    .section--faqs__header--magenta {
      border-color: #E13429; }
    .section--faqs__header--yellow {
      border-color: #FAB03A; }

.faqs__search {
  position: relative;
  margin-bottom: 3em; }
  .faqs__search h5 {
    margin-bottom: 0.5em; }

.faqs__no-results {
  display: none;
  margin-bottom: 2.5em;
  border-bottom: 1px solid #F8F8F8; }
  @media print, screen and (max-width: 39.99875em) {
    .faqs__no-results {
      margin-bottom: 0; } }
  .faqs__no-results.show {
    display: block; }

@media print, screen and (max-width: 39.99875em) {
  .faqs__faq-list {
    margin-top: 3em; } }

.faqs__topics {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .faqs__topics {
      display: block; } }

.fragment-identifier + .section--faqs {
  padding-top: 0; }

.section--careers-roles--light-grey {
  background: #F8F8F8; }

.section--careers-roles header p {
  max-width: 100%; }

.section--careers-roles__card-career {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 3em;
  background: #fefefe;
  border-radius: 32px;
  -webkit-box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 6px 9px -1px rgba(0, 0, 0, 0.1);
  margin-bottom: 3em; }
  .section--careers-roles__card-career:last-of-type {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .section--careers-roles__card-career {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .section--careers-roles__card-career-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin-bottom: 3em; }
    @media print, screen and (min-width: 40em) {
      .section--careers-roles__card-career-title {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 40%;
                flex: 0 0 40%;
        margin-bottom: 0;
        padding: 0 1em; } }
    .section--careers-roles__card-career-title span {
      color: #E13429; }
  .section--careers-roles__card-career-description {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
    @media print, screen and (min-width: 40em) {
      .section--careers-roles__card-career-description {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 60%;
                flex: 0 0 60%;
        padding: 0 1em; } }
    .section--careers-roles__card-career-description p {
      max-width: 100%; }
    .section--careers-roles__card-career-description .button--arrow, .section--careers-roles__card-career-description .button--arrow-green, .section--careers-roles__card-career-description .button--arrow-magenta, .section--careers-roles__card-career-description .hero__description a:not([href^="mailto:"]), .hero__description .section--careers-roles__card-career-description a:not([href^="mailto:"]), .section--careers-roles__card-career-description .contact-detail-section a, .contact-detail-section .section--careers-roles__card-career-description a {
      margin-top: 1.5em; }

.section--careers-listing__description {
  max-width: 55ch;
  margin: 0 auto 2em auto; }

.section--careers-listing__title {
  margin-bottom: 1em; }

.section--careers-listing__location {
  margin: 0; }

.section--careers-listing__synopsis {
  margin: 0 0 1em; }

.section--cta-text p {
  max-width: 100%; }

.section--whitepaper-form {
  overflow-x: hidden; }
  .section--whitepaper-form__form {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .section--whitepaper-form__form {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(75% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .section--whitepaper-form__form {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(54.16667% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    .section--whitepaper-form__form .background-image {
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .section--whitepaper-form__form .background-image {
          width: 90%; } }
      @media print, screen and (min-width: 64em) {
        .section--whitepaper-form__form .background-image {
          width: auto; } }

.section--terms-pages {
  padding-top: 0; }
  .section--terms-pages .grid-container {
    padding-top: 3em;
    border-top: 2px solid #102F51; }
    @media print, screen and (min-width: 40em) {
      .section--terms-pages .grid-container {
        padding-top: 6em; } }
  .section--terms-pages p {
    max-width: 100% !important; }
  .section--terms-pages a {
    color: #102F51;
    text-decoration: underline; }
  .section--terms-pages + .section--card-grid-files {
    padding-top: 0; }

.cookie-message {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 200;
  background: #fefefe;
  -webkit-box-shadow: 0 -2px 16px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0 -2px 16px 0px rgba(0, 0, 0, 0.16); }
  .cookie-message p {
    font-size: 15px;
    margin: 1em 0; }
  .cookie-message .button, .cookie-message .form-container button, .form-container .cookie-message button {
    margin: 1em 0;
    display: inline-block; }

.section--cta-bar .grid-container {
  background: #E13429;
  padding: 1.5em 2.5em;
  border-radius: 32px; }
  @media print, screen and (max-width: 63.99875em) {
    .section--cta-bar .grid-container {
      text-align: center; } }

.section--cta-bar h2, .section--cta-bar h3 {
  margin: 0;
  color: #fefefe;
  font-weight: 700; }

@media print, screen and (max-width: 63.99875em) {
  .section--cta-bar object {
    max-width: 150px; } }

.section--cta-bar .cell__button {
  text-align: right; }
  @media print, screen and (max-width: 63.99875em) {
    .section--cta-bar .cell__button {
      text-align: center; } }
  .section--cta-bar .cell__button .button, .section--cta-bar .cell__button .form-container button, .form-container .section--cta-bar .cell__button button {
    margin: 0; }

.section--subscribe {
  background: #102F51;
  color: #fefefe;
  overflow: hidden; }
  .section--subscribe .svg-gator-before {
    position: absolute;
    width: 220px;
    height: 190px;
    top: -160px;
    left: -25px; }
    @media print, screen and (min-width: 40em) {
      .section--subscribe .svg-gator-before {
        top: 50px;
        left: -25px; } }
  .section--subscribe .svg-gator-after {
    position: absolute;
    width: 220px;
    height: 190px;
    bottom: -150px;
    right: -10px; }
    @media print, screen and (min-width: 40em) {
      .section--subscribe .svg-gator-after {
        bottom: -25px;
        right: -10px; } }
  .section--subscribe .subscribe__content {
    position: relative; }
    .section--subscribe .subscribe__content:after, .section--subscribe .subscribe__content:before {
      content: "";
      display: block;
      position: absolute;
      border-radius: 32px 32px 32px 0;
      z-index: 1;
      -webkit-transition: all ease-in-out 1s;
      transition: all ease-in-out 1s; }
    .section--subscribe .subscribe__content:before {
      width: 0;
      height: 0;
      bottom: 50px;
      left: -150px;
      background: #3AA8EF;
      -webkit-transform: scaleX(-1);
              transform: scaleX(-1); }
    .section--subscribe .subscribe__content:after {
      width: 0;
      height: 0;
      top: 0px;
      right: -150px;
      background: #2FB67C; }
  .section--subscribe .subscribe__privacy {
    max-width: 100%;
    margin-top: 1.5em;
    font-size: .8em; }
    .section--subscribe .subscribe__privacy p {
      max-width: 100%; }
    .section--subscribe .subscribe__privacy a {
      color: #fefefe;
      text-decoration: underline; }
      .section--subscribe .subscribe__privacy a:hover {
        text-decoration: none; }
  .section--subscribe .subscribe__form {
    margin: 2em 0; }
    .section--subscribe .subscribe__form a {
      color: #fefefe;
      text-decoration: underline; }
      .section--subscribe .subscribe__form a:hover {
        text-decoration: none; }
  .section--subscribe.active .subscribe__content:before {
    width: 75px;
    height: 75px; }
  .section--subscribe.active .subscribe__content:after {
    width: 75px;
    height: 75px; }

.card__news img {
  border-radius: 1em 1em 1em 0;
  margin-bottom: 1.5em;
  aspect-ratio: 5/3;
  -o-object-fit: cover;
     object-fit: cover; }

.card__news-data--blue, .card__news-data--cyan {
  color: #3AA8EF; }

.card__news-data--green {
  color: #2FB67C; }

.card__news-data--yellow {
  color: #FAB03A; }

.card__news-data--red, .card__news-data--magenta {
  color: #E13429; }

.card__news--split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px solid #E8E8E8;
  padding-bottom: 1em;
  margin-bottom: 2em; }
  @media print, screen and (max-width: 63.99875em) {
    .card__news--split {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .card__news--split .card__image img {
    border-radius: 1em 0 1em 1em; }
    @media print, screen and (min-width: 40em) {
      .card__news--split .card__image img {
        width: 200px;
        max-width: 220px; } }
  .card__news--split .card__content {
    padding-top: 0; }
    @media print, screen and (max-width: 63.99875em) {
      .card__news--split .card__content {
        padding-left: 0;
        padding-right: 0; } }
  .card__news--split .card__news-data {
    margin-top: 0; }

.section--featured-news a:hover, .section--news-page a:hover {
  color: inherit; }

@media print, screen and (max-width: 63.99875em) {
  .section--featured-news .news-latest-three, .section--news-page .news-latest-three {
    margin-top: 2em; } }

.section--featured-news .news-latest-three a .card__content, .section--news-page .news-latest-three a .card__content {
  padding-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .section--featured-news .news-latest-three a .card__content, .section--news-page .news-latest-three a .card__content {
      padding-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .section--featured-news .news-latest-three a .card__content, .section--news-page .news-latest-three a .card__content {
      padding-left: 2em; } }

.section--featured-news .news-latest-three a:last-of-type .card__news, .section--news-page .news-latest-three a:last-of-type .card__news {
  border-bottom: none;
  margin-bottom: 0; }

.section--news-page .news-latest-three {
  margin-bottom: 2em; }

.section--featured-news--small header h5 {
  color: #3AA8EF; }

@media print, screen and (min-width: 64em) {
  .section--featured-news--small__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }

@media print, screen and (min-width: 64em) {
  .section--featured-news--small__grid a {
    width: 50%; } }

@media print, screen and (min-width: 64em) {
  .section--featured-news--small__grid--wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media print, screen and (min-width: 64em) {
  .section--featured-news--small .card__news--split {
    margin-bottom: 0;
    border-bottom: none; } }

.section--icon-grid-three-col {
  overflow: hidden; }

.icon-grid-two-col__header p {
  max-width: 80ch; }

.icon-grid-two-col__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2em; }

.icon-grid-two-col__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 60px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 60px;
          flex: 0 0 60px;
  background: #F8F8F8;
  border-radius: 30px; }
  @media print, screen and (min-width: 40em) {
    .icon-grid-two-col__icon {
      height: 90px;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 90px;
              flex: 0 0 90px;
      border-radius: 45px; } }
  @media print, screen and (max-width: 39.99875em) {
    .icon-grid-two-col__icon img {
      max-width: 30px; } }

.icon-grid-two-col__content {
  padding-left: 1.5em; }
  .icon-grid-two-col__content p, .icon-grid-two-col__content h2, .icon-grid-two-col__content h3 {
    margin: 0; }
  .icon-grid-two-col__content h2, .icon-grid-two-col__content h3 {
    font-weight: 700; }

.icon-grid-three-col__grid-container {
  padding: 3em 2em;
  border-radius: 32px;
  background: #fefefe; }

.icon-grid-three-col__header p {
  max-width: 80ch;
  margin: 1em auto; }

.icon-grid-three-col__header:has(p) {
  margin-bottom: 2em; }

.icon-grid-three-col__block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  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-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  margin-bottom: 2em; }
  @media print, screen and (min-width: 64em) {
    .icon-grid-three-col__block {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(33.33333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }

.icon-grid-three-col__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 90px;
  height: 90px;
  background: #F8F8F8;
  border-radius: 45px;
  margin-bottom: 1em; }
  .icon-grid-three-col__icon img {
    max-width: 75%; }

.icon-grid-three-col__content {
  padding-left: 1.5em;
  padding-right: 1.5em; }
  .icon-grid-three-col__content p, .icon-grid-three-col__content h2, .icon-grid-three-col__content h3, .icon-grid-three-col__content h4, .icon-grid-three-col__content h5 {
    margin: 0; }
  .icon-grid-three-col__content h2, .icon-grid-three-col__content h3, .icon-grid-three-col__content h4, .icon-grid-three-col__content h5 {
    font-size: 1rem;
    color: #102F51;
    font-weight: 700; }
  @media print, screen and (min-width: 64em) {
    .icon-grid-three-col__content {
      -ms-flex-item-align: start;
          align-self: flex-start; } }
  .icon-grid-three-col__content .button, .icon-grid-three-col__content .form-container button, .form-container .icon-grid-three-col__content button {
    margin-top: 1.5em; }

.icon-grid-three-col__button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  padding-top: 3em;
  text-align: center; }

.section--icon-grid-three-col .background-image {
  position: absolute;
  z-index: -1;
  width: 650px; }
  @media print, screen and (min-width: 64em) {
    .section--icon-grid-three-col .background-image {
      margin-top: 0; } }
  .section--icon-grid-three-col .background-image.scroll-reveal-animation {
    opacity: 0;
    -webkit-transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
    transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  .section--icon-grid-three-col .background-image.active {
    opacity: 1;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  .section--icon-grid-three-col .background-image--left {
    top: 0;
    left: 0; }
  .section--icon-grid-three-col .background-image--right {
    bottom: 0;
    right: -2.5em; }
    @media print, screen and (max-width: 63.99875em) {
      .section--icon-grid-three-col .background-image--right {
        bottom: 50px; } }
    .section--icon-grid-three-col .background-image--right.scroll-reveal-animation {
      -webkit-transition-delay: 2.7s;
              transition-delay: 2.7s; }

.section--icon-grid-three-col--top .icon-grid-three-col__grid-container {
  background: #102F51;
  color: #fefefe;
  border-radius: 0; }
  @media print, screen and (min-width: 64em) {
    .section--icon-grid-three-col--top .icon-grid-three-col__grid-container {
      padding-left: 4em;
      padding-right: 4em;
      border-radius: 32px; } }

.section--icon-grid-three-col--top .icon-grid-three-col__header {
  padding-left: 2em;
  padding-right: 2em; }
  .section--icon-grid-three-col--top .icon-grid-three-col__header h2, .section--icon-grid-three-col--top .icon-grid-three-col__header h3, .section--icon-grid-three-col--top .icon-grid-three-col__header h4, .section--icon-grid-three-col--top .icon-grid-three-col__header h5 {
    color: #fefefe; }

.section--icon-grid-three-col--top .icon-grid-three-col__icon {
  width: 60px;
  height: 60px;
  margin-left: 1.5em;
  border-radius: 15px 15px 15px 0; }
  .section--icon-grid-three-col--top .icon-grid-three-col__icon img {
    max-width: 60%; }
  .section--icon-grid-three-col--top .icon-grid-three-col__icon--cyan {
    background: #3AA8EF; }
  .section--icon-grid-three-col--top .icon-grid-three-col__icon--dark-green {
    background: #356F6F; }
  .section--icon-grid-three-col--top .icon-grid-three-col__icon--green {
    background: #2FB67C; }
  .section--icon-grid-three-col--top .icon-grid-three-col__icon--magenta {
    background: #E13429; }
  .section--icon-grid-three-col--top .icon-grid-three-col__icon--yellow {
    background: #FAB03A; }

.section--icon-grid-three-col--top .icon-grid-three-col__content h5 {
  position: relative;
  display: block;
  width: 100%;
  color: #fefefe;
  font-weight: 400;
  font-size: 1.2rem;
  border-bottom: 1px solid rgba(254, 254, 254, 0.3);
  padding-bottom: 0.75em;
  margin-bottom: 1em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  .section--icon-grid-three-col--top .icon-grid-three-col__content h5 a {
    display: block;
    padding-right: 1em;
    color: #fefefe;
    position: relative; }
    .section--icon-grid-three-col--top .icon-grid-three-col__content h5 a::after {
      content: '';
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      right: 0;
      border: 0;
      height: 1em;
      width: 1em;
      background: url("../img/white-chevron-right.svg") no-repeat center center;
      background-size: contain;
      -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
      transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }

.section--icon-grid-three-col--top .icon-grid-three-col__content p {
  font-size: 0.9rem; }

.section--icon-grid-three-col--top .icon-grid-three-col__content .button, .section--icon-grid-three-col--top .icon-grid-three-col__content .form-container button, .form-container .section--icon-grid-three-col--top .icon-grid-three-col__content button {
  margin-top: 1.5em !important; }

.section--icon-grid-three-col--top .icon-grid-three-col__block {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: left;
  margin-bottom: 2em; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--cyan .icon-grid-three-col__icon {
    background: #3AA8EF; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--cyan .icon-grid-three-col__content a:hover {
    border-bottom-color: #3AA8EF; }
    .section--icon-grid-three-col--top .icon-grid-three-col__block--cyan .icon-grid-three-col__content a:hover:after {
      color: #3AA8EF; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--dark-green .icon-grid-three-col__icon {
    background: #356F6F; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--dark-green .icon-grid-three-col__content a:hover {
    border-bottom-color: #356F6F; }
    .section--icon-grid-three-col--top .icon-grid-three-col__block--dark-green .icon-grid-three-col__content a:hover:after {
      color: #356F6F; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--green .icon-grid-three-col__icon {
    background: #2FB67C; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--green .icon-grid-three-col__content a:hover {
    border-bottom-color: #2FB67C; }
    .section--icon-grid-three-col--top .icon-grid-three-col__block--green .icon-grid-three-col__content a:hover:after {
      color: #2FB67C; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--magenta .icon-grid-three-col__icon {
    background: #E13429; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--magenta .icon-grid-three-col__content a:hover {
    border-bottom-color: #E13429; }
    .section--icon-grid-three-col--top .icon-grid-three-col__block--magenta .icon-grid-three-col__content a:hover:after {
      color: #E13429; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--yellow .icon-grid-three-col__icon {
    background: #FAB03A; }
  .section--icon-grid-three-col--top .icon-grid-three-col__block--yellow .icon-grid-three-col__content a:hover {
    border-bottom-color: #FAB03A; }
    .section--icon-grid-three-col--top .icon-grid-three-col__block--yellow .icon-grid-three-col__content a:hover:after {
      color: #FAB03A; }

.section--tabbed-content-tabs .tabs-panel:before, .section--tabbed-content-tabs .tabs-panel:after {
  display: none; }

.section--tabbed-content-tabs .tabs-panel--card-container {
  padding: 2em 1.25em; }
  @media print, screen and (min-width: 40em) {
    .section--tabbed-content-tabs .tabs-panel--card-container {
      padding: 4em 1em; } }
  .section--tabbed-content-tabs .tabs-panel--card-container--locations {
    width: 100%;
    padding-left: 0;
    padding-right: 0; }
    .section--tabbed-content-tabs .tabs-panel--card-container--locations .section--tabbed-content-tabs__tabs-panel-inner {
      display: block;
      width: 100%; }

.section--tabbed-content-tabs .tabs-panel--cyan .button, .section--tabbed-content-tabs .tabs-panel--cyan .form-container button, .form-container .section--tabbed-content-tabs .tabs-panel--cyan button {
  background: #3AA8EF; }

.section--tabbed-content-tabs .tabs-panel--cyan li:before {
  color: #3AA8EF !important; }

.section--tabbed-content-tabs .tabs-panel--dark-green .button, .section--tabbed-content-tabs .tabs-panel--dark-green .form-container button, .form-container .section--tabbed-content-tabs .tabs-panel--dark-green button {
  background: #356F6F; }

.section--tabbed-content-tabs .tabs-panel--dark-green li:before {
  color: #356F6F !important; }

.section--tabbed-content-tabs .tabs-panel--green .button, .section--tabbed-content-tabs .tabs-panel--green .form-container button, .form-container .section--tabbed-content-tabs .tabs-panel--green button {
  background: #47B47B; }

.section--tabbed-content-tabs .tabs-panel--green li:before {
  color: #47B47B !important; }

.section--tabbed-content-tabs .tabs-panel--magenta .button, .section--tabbed-content-tabs .tabs-panel--magenta .form-container button, .form-container .section--tabbed-content-tabs .tabs-panel--magenta button {
  background: #E13429; }

.section--tabbed-content-tabs .tabs-panel--magenta li:before {
  color: #E13429 !important; }

.section--tabbed-content-tabs .tabs-panel--yellow .button, .section--tabbed-content-tabs .tabs-panel--yellow .form-container button, .form-container .section--tabbed-content-tabs .tabs-panel--yellow button {
  background: #FAB03A; }

.section--tabbed-content-tabs .tabs-panel--yellow li:before {
  color: #FAB03A !important; }

.section--tabbed-content-tabs .tabs-content {
  border: none;
  background: none;
  margin-top: 0; }
  @media print, screen and (min-width: 40em) {
    .section--tabbed-content-tabs .tabs-content {
      margin-top: 2em; } }
  .section--tabbed-content-tabs .tabs-content--white-fade {
    background: #ffffff;
    border-radius: 2em;
    height: 100%; }
    .section--tabbed-content-tabs .tabs-content--white-fade .tabs-panel--card-container {
      padding: 1em; }
      @media print, screen and (min-width: 40em) {
        .section--tabbed-content-tabs .tabs-content--white-fade .tabs-panel--card-container {
          padding: 2.4em; } }

.section--tabbed-content-tabs .tabs-title {
  position: relative; }
  .section--tabbed-content-tabs .tabs-title a {
    padding: 1.25rem;
    border-radius: 32px;
    position: relative;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    margin-bottom: .5em;
    font-size: 0.9rem;
    font-weight: 700; }
    .section--tabbed-content-tabs .tabs-title a:focus, .section--tabbed-content-tabs .tabs-title a[aria-selected='true'] {
      color: #102F51; }
  .section--tabbed-content-tabs .tabs-title:after {
    content: '';
    display: block;
    position: absolute;
    height: 3px;
    border-radius: 3px;
    bottom: 0;
    background: #E8E8E8;
    -webkit-animation: fadeIn .4s normal forwards ease-out;
            animation: fadeIn .4s normal forwards ease-out;
    width: calc(100% - 1.5em);
    left: .75em; }
    @media print, screen and (min-width: 40em) {
      .section--tabbed-content-tabs .tabs-title:after {
        width: calc(100% - 2.5em);
        left: 1.25em; } }
  .section--tabbed-content-tabs .tabs-title--cyan.is-active:after {
    background: #3AA8EF; }
  .section--tabbed-content-tabs .tabs-title--dark-green.is-active:after {
    background: #356F6F; }
  .section--tabbed-content-tabs .tabs-title--green.is-active:after {
    background: #47B47B; }
  .section--tabbed-content-tabs .tabs-title--magenta.is-active:after {
    background: #E13429; }
  .section--tabbed-content-tabs .tabs-title--yellow.is-active:after {
    background: #FAB03A; }

.section--tabbed-content-tabs .tabs--content {
  display: block;
  width: 100%;
  margin-top: 2em; }
  .section--tabbed-content-tabs .tabs--content li {
    display: block;
    width: 100%;
    float: none; }
  @media print, screen and (min-width: 40em) {
    .section--tabbed-content-tabs .tabs--content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      gap: 1em; }
      .section--tabbed-content-tabs .tabs--content li {
        display: block;
        width: 100%;
        float: left; } }
  .section--tabbed-content-tabs .tabs--content::before, .section--tabbed-content-tabs .tabs--content::after {
    display: none; }

.section--tabbed-content-tabs .tabs--vertical {
  border: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 4em; }
  .section--tabbed-content-tabs .tabs--vertical .tabs-title a {
    margin-bottom: 0; }
  .section--tabbed-content-tabs .tabs--vertical .tabs-title.is-active {
    background: white; }
    .section--tabbed-content-tabs .tabs--vertical .tabs-title.is-active::after {
      height: 100%;
      left: 0;
      width: 3px;
      border-radius: 3px 0 0 3px;
      top: 0;
      bottom: initial;
      background: #E13429;
      display: block; }
  .section--tabbed-content-tabs .tabs--vertical .tabs-title::after {
    display: none; }

.section--tabbed-content-tabs__tabs-panel-inner {
  display: block; }
  @media print, screen and (min-width: 40em) {
    .section--tabbed-content-tabs__tabs-panel-inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: distribute;
          justify-content: space-around;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }

.section--tabbed-content-tabs__image, .section--tabbed-content-tabs__content {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .section--tabbed-content-tabs__image, .section--tabbed-content-tabs__content {
      width: 50%; } }

.section--tabbed-content-tabs__content {
  padding-top: 2em; }
  @media print, screen and (min-width: 40em) {
    .section--tabbed-content-tabs__content {
      padding-top: 0;
      padding-left: 3em; } }
  .section--tabbed-content-tabs__content ul {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: 1.5em; }
    .section--tabbed-content-tabs__content ul li {
      position: relative;
      display: block;
      font-size: 0.9em;
      padding-left: 1em;
      margin-bottom: 1em;
      font-weight: 500; }
      .section--tabbed-content-tabs__content ul li:before {
        content: "\203A";
        position: absolute;
        left: 0;
        top: 0;
        color: #E13429; }
  .section--tabbed-content-tabs__content .button, .section--tabbed-content-tabs__content .form-container button, .form-container .section--tabbed-content-tabs__content button {
    position: static; }

.section--tabbed-content-tabs__card-people {
  background: red; }

.section--tabbed-content-tabs__card-location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 2.4em; }
  .section--tabbed-content-tabs__card-location:last-of-type {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .section--tabbed-content-tabs__card-location {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .section--tabbed-content-tabs__card-location-image {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
    margin-bottom: 1em; }
    .section--tabbed-content-tabs__card-location-image img {
      width: 100%;
      border-radius: 1em 0 1em 1em;
      background: black;
      aspect-ratio: 5 / 3;
      -o-object-fit: cover;
         object-fit: cover; }
      @media print, screen and (min-width: 40em) {
        .section--tabbed-content-tabs__card-location-image img {
          aspect-ratio: 5 / 4; } }
    @media print, screen and (min-width: 40em) {
      .section--tabbed-content-tabs__card-location-image {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: 25%;
        margin-bottom: 0; } }
  .section--tabbed-content-tabs__card-location-content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background: #f7f7f7;
    border-radius: 0 1em 1em 1em;
    padding: 1.4em; }
    @media print, screen and (min-width: 40em) {
      .section--tabbed-content-tabs__card-location-content {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: 75%;
        margin-left: 1em;
        width: calc(75% - 1em); } }
    @media print, screen and (min-width: 64em) {
      .section--tabbed-content-tabs__card-location-content {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .section--tabbed-content-tabs__card-location-content h3 {
      font-size: 1.2em; }
    .section--tabbed-content-tabs__card-location-content a {
      color: #000000; }
  .section--tabbed-content-tabs__card-location-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 2em; }
    @media print, screen and (min-width: 64em) {
      .section--tabbed-content-tabs__card-location-info {
        margin-bottom: 0;
        width: 50%; } }
    .section--tabbed-content-tabs__card-location-info h3, .section--tabbed-content-tabs__card-location-info ul {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
    .section--tabbed-content-tabs__card-location-info ul {
      list-style: none;
      margin: 0;
      padding: 0;
      -ms-flex-item-align: end;
          align-self: flex-end; }
  .section--tabbed-content-tabs__card-location-address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media print, screen and (min-width: 64em) {
      .section--tabbed-content-tabs__card-location-address {
        width: 50%; } }
    .section--tabbed-content-tabs__card-location-address p, .section--tabbed-content-tabs__card-location-address a {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
    .section--tabbed-content-tabs__card-location-address p:first-of-type {
      margin-top: 0;
      padding-top: 0; }
    .section--tabbed-content-tabs__card-location-address a {
      -ms-flex-item-align: end;
          align-self: flex-end;
      text-decoration: underline; }
  .section--tabbed-content-tabs__card-location-opening-hours {
    width: 100%;
    margin-bottom: 2em; }
    @media print, screen and (min-width: 64em) {
      .section--tabbed-content-tabs__card-location-opening-hours {
        margin-bottom: 0; } }
    .section--tabbed-content-tabs__card-location-opening-hours ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .section--tabbed-content-tabs__card-location-opening-hours ul li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        width: 100%;
        margin-bottom: 0.5em; }
        @media print, screen and (min-width: 64em) {
          .section--tabbed-content-tabs__card-location-opening-hours ul li {
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap; } }
        .section--tabbed-content-tabs__card-location-opening-hours ul li span {
          width: 100%; }
          .section--tabbed-content-tabs__card-location-opening-hours ul li span:last-of-type {
            margin-bottom: 1em; }
          @media print, screen and (min-width: 64em) {
            .section--tabbed-content-tabs__card-location-opening-hours ul li span {
              width: 50%; }
              .section--tabbed-content-tabs__card-location-opening-hours ul li span:last-of-type {
                margin-bottom: 0; } }

.section--tabbed-content-tabs--magenta .tabs-content ul li:before {
  color: #E13429; }

.section--tabbed-content-tabs--magenta .tabs-title.is-active:after {
  background: #E13429; }

.section--tabbed-content-tabs--cyan .tabs-content ul li:before {
  color: #3AA8EF; }

.section--tabbed-content-tabs--cyan .tabs-title.is-active:after {
  background: #3AA8EF; }

.section--tabbed-content-tabs--green .tabs-content ul li:before {
  color: #2FB67C; }

.section--tabbed-content-tabs--green .tabs-title.is-active:after {
  background: #2FB67C; }

.section--tabbed-content-tabs__header-thin h2 {
  font-weight: 400; }

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

@media print, screen and (max-width: 39.99875em) {
  .cell--relative {
    position: relative;
    padding-top: 68px;
    z-index: 200; }
  .tabs--vertical {
    top: -60px;
    position: absolute;
    overflow: hidden;
    height: 54px;
    z-index: 200;
    background-color: #ffffff;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tabs--vertical:hover {
      overflow: visible; }
    .tabs--vertical::after {
      content: '';
      border: 0 !important;
      height: .6em !important;
      width: .6em !important;
      background: url("../img/chevron-down.svg") no-repeat center center !important;
      background-size: contain !important;
      position: absolute;
      display: inline-block !important;
      right: 1em;
      top: 1.5em;
      z-index: 1; }
    .tabs--vertical .tabs-title {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      background-color: #ffffff; }
      .tabs--vertical .tabs-title.is-active {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }

.section--rich-text--centered {
  text-align: center; }
  .section--rich-text--centered .cell--rich-text h1, .section--rich-text--centered .cell--rich-text h2, .section--rich-text--centered .cell--rich-text h3, .section--rich-text--centered .cell--rich-text h4, .section--rich-text--centered .cell--rich-text h5, .section--rich-text--centered .cell--rich-text p {
    margin-left: auto;
    margin-right: auto; }
  .section--rich-text--centered .cell--button {
    margin-left: auto;
    margin-right: auto; }

.section--rich-text__header-thin h2, .section--rich-text__header-thin h3 {
  font-weight: 400; }

.cell--rich-text figure {
  margin: 4em auto;
  position: relative;
  overflow-x: hidden;
  overflow-x: clip; }
  .cell--rich-text figure::before {
    content: '';
    background-image: url("../img/white-ring-with-cut.svg");
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;
    height: 100%;
    width: 100%;
    position: absolute;
    right: -20%;
    z-index: -1; }

.cell--rich-text video {
  width: 100%; }

.cell--rich-text:empty, .cell--rich-text:-moz-only-whitespace {
  display: none !important; }

.cell--rich-text ol {
  margin: 2em 0 1.25em 2em; }
  .cell--rich-text ol li {
    margin: .5em 0; }

.cell--rich-text p {
  max-width: 100%;
  margin: 1em 0; }

.cell--rich-text h1, .cell--rich-text h2, .cell--rich-text h3, .cell--rich-text h4, .cell--rich-text h5 {
  margin-top: 1.5em;
  margin-bottom: .5em; }
  .cell--rich-text h1:first-of-type, .cell--rich-text h2:first-of-type, .cell--rich-text h3:first-of-type, .cell--rich-text h4:first-of-type, .cell--rich-text h5:first-of-type {
    margin-top: 0; }

.cell--rich-text h5 + h2 {
  margin-top: 0.5em; }

.cell--rich-text a:not(.button) {
  color: #E13429;
  text-decoration: underline; }

.cell--rich-text a:hover {
  text-decoration: none; }

.section--header-text-weight--light h1, .section--header-text-weight--light h2, .section--header-text-weight--light h3, .section--header-text-weight--light h4, .section--header-text-weight--light h5 {
  font-weight: 400; }

.quotation-callout__callout {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(91.66667% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  background: #356F6F;
  border-radius: 32px 32px 32px 0;
  padding: 3em 2em;
  color: #fefefe; }
  @media print, screen and (min-width: 40em) {
    .quotation-callout__callout {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(66.66667% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      padding: 3em 4em; } }

.quotation-callout__quote {
  font-style: italic;
  position: relative;
  padding-right: 4em; }
  @media print, screen and (min-width: 40em) {
    .quotation-callout__quote {
      padding-right: 7em; } }
  .quotation-callout__quote:after {
    content: '\0201C';
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 500;
    position: absolute;
    top: 10px;
    right: -10px;
    color: #fefefe;
    font-size: 140px;
    line-height: 100px; }
    @media print, screen and (min-width: 40em) {
      .quotation-callout__quote:after {
        top: 30px;
        right: -30px;
        font-size: 200px;
        line-height: 100px; } }

.quotation-callout__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2em; }
  .quotation-callout__profile img {
    width: 50px;
    height: 50px;
    border-radius: 25px;
    background: #fefefe;
    margin-right: 1.5em; }
    @media print, screen and (min-width: 40em) {
      .quotation-callout__profile img {
        width: 70px;
        height: 70px;
        border-radius: 35px; } }
  .quotation-callout__profile .name, .quotation-callout__profile .position {
    margin-bottom: 0;
    margin-top: 0; }
  .quotation-callout__profile .name {
    font-weight: 700; }

.section--quotation-callout {
  overflow: hidden; }

.section--quotation-callout .align-left .quotation-callout__callout {
  border-radius: 32px 32px 0 32px; }

.section--quotation-callout .background-image {
  position: absolute;
  z-index: -1;
  width: 300px; }
  @media print, screen and (min-width: 64em) {
    .section--quotation-callout .background-image {
      margin-top: 0em;
      width: 300px; } }
  .section--quotation-callout .background-image.scroll-reveal-animation {
    opacity: 0;
    -webkit-transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
    transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  .section--quotation-callout .background-image.active {
    opacity: 1;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  .section--quotation-callout .background-image--left {
    top: 0;
    left: 0; }
    @media print, screen and (min-width: 64em) {
      .section--quotation-callout .background-image--left {
        left: 50px; } }

.section--quotation-callout--navy .quotation-callout__callout {
  background: #102F51; }

.section--quotation-callout--green .quotation-callout__callout {
  background: #2FB67C; }

.card__courses {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 3em; }
  .card__courses:last-of-type {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .card__courses {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(33.33333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 6em; }
      .card__courses:nth-last-child(-n+3) {
        margin-bottom: 0; } }
  .card__courses img {
    border-radius: 32px 32px 32px 0;
    margin-bottom: 1.5em; }
  .card__courses-data {
    color: #356F6F; }
    .card__courses-data--cyan {
      color: #3AA8EF; }
    .card__courses-data--green {
      color: #2FB67C; }
  .card__courses .card__content {
    padding: 0; }

.section--courses__header h2 {
  font-weight: 700;
  color: #000000; }

.section--courses__header h5 {
  color: #356F6F; }

.card__course h3 {
  font-weight: 700; }

.card__course .card__news-data {
  color: #356F6F; }

.section--two-col-entry {
  margin-top: 8em; }
  .section--two-col-entry__content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    margin-bottom: 4em; }
    @media print, screen and (min-width: 64em) {
      .section--two-col-entry__content {
        margin-bottom: 0; } }
    @media print, screen and (min-width: 64em) {
      .section--two-col-entry__content {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(58.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
    .section--two-col-entry__content p {
      max-width: 100%; }
    .section--two-col-entry__content img {
      border-radius: 32px; }
    .section--two-col-entry__content .hero__content {
      margin-bottom: 6em; }
  .section--two-col-entry__wysiwyg h2, .section--two-col-entry__wysiwyg h3, .section--two-col-entry__wysiwyg h4 {
    font-weight: 600; }
  .section--two-col-entry__wysiwyg ul {
    padding: 3em 4em;
    margin: 2em 0;
    background-color: #F8F8F8;
    border-radius: 32px; }
    .section--two-col-entry__wysiwyg ul li {
      margin-bottom: 1em;
      margin-left: 1em;
      font-weight: 600; }
      .section--two-col-entry__wysiwyg ul li:has(h2, h3, h4, h5) {
        list-style: none;
        margin-left: 0; }
      .section--two-col-entry__wysiwyg ul li:has(a)::marker {
        color: #3AA8EF; }
      .section--two-col-entry__wysiwyg ul li:last-of-type {
        margin-bottom: 0; }
  .section--two-col-entry__side-bar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .section--two-col-entry__side-bar {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        width: calc(33.33333% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        margin-left: calc(8.33333% + 1.875rem / 2); } }
    .section--two-col-entry__side-bar .card--post {
      max-width: 100%;
      width: 100%; }
    .section--two-col-entry__side-bar img {
      border-radius: 32px 32px 32px 0; }
    .section--two-col-entry__side-bar h2 {
      font-size: 1.2rem; }
    .section--two-col-entry__side-bar .aside {
      margin-bottom: 3em; }
      .section--two-col-entry__side-bar .aside--green {
        background: #2FB67C; }
        .section--two-col-entry__side-bar .aside--green .aside__intro h3 {
          font-size: 1.3rem; }
        .section--two-col-entry__side-bar .aside--green .aside__intro p {
          color: #fefefe; }
  .section--two-col-entry__article {
    margin-bottom: 3em; }
    .section--two-col-entry__article img {
      margin-bottom: 1.5em; }
    .section--two-col-entry__article span {
      display: inline-block;
      margin-bottom: 1.5em;
      font-weight: 400; }
      .section--two-col-entry__article span a {
        text-decoration: none; }
    .section--two-col-entry__article h3 {
      font-weight: 700;
      font-size: 1.2rem; }
      .section--two-col-entry__article h3 a {
        color: #000000; }
    .section--two-col-entry__article--blue span, .section--two-col-entry__article--blue span > a, .section--two-col-entry__article--cyan span, .section--two-col-entry__article--cyan span > a {
      color: #3AA8EF; }
    .section--two-col-entry__article--green span, .section--two-col-entry__article--green span > a {
      color: #2FB67C; }
    .section--two-col-entry__article--red span, .section--two-col-entry__article--red span > a, .section--two-col-entry__article--magenta span, .section--two-col-entry__article--magenta span > a {
      color: #E13429; }
  .section--two-col-entry__cta-text {
    text-align: center;
    margin-bottom: 3em;
    color: #000000; }
    .section--two-col-entry__cta-text a {
      color: #000000;
      font-weight: 700;
      text-decoration: underline; }
  .section--two-col-entry__experts {
    margin-top: 3em; }
    .section--two-col-entry__experts-grid {
      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;
      margin-top: 3em; }
    .section--two-col-entry__experts-item {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      min-height: 0px;
      min-width: 0px;
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .section--two-col-entry__experts-item {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 auto;
                  flex: 0 0 auto;
          width: calc(50% - 1.875rem);
          margin-left: 0.9375rem;
          margin-right: 0.9375rem; } }
      .section--two-col-entry__experts-item img {
        margin-bottom: 1em; }
      .section--two-col-entry__experts-item h3 {
        font-size: 1.1rem; }
        .section--two-col-entry__experts-item h3 a {
          color: #000000; }
  .section--two-col-entry__back-to {
    margin-top: 3em; }
    .section--two-col-entry__back-to a {
      color: #000000; }
  .section--two-col-entry__buttons {
    margin: 2em 0; }
    .section--two-col-entry__buttons ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .section--two-col-entry__buttons ul li {
        display: inline-block;
        margin-right: 1em; }
        .section--two-col-entry__buttons ul li:last-of-type {
          margin-right: 0; }
  .section--two-col-entry__event-info {
    padding: 3em 4em;
    margin: 2em 0;
    background-color: #F8F8F8;
    border-radius: 32px; }
    .section--two-col-entry__event-info h2, .section--two-col-entry__event-info h3, .section--two-col-entry__event-info h4, .section--two-col-entry__event-info h5 {
      margin-bottom: 0;
      margin-top: 1.5em; }
      .section--two-col-entry__event-info h2:first-of-type, .section--two-col-entry__event-info h3:first-of-type, .section--two-col-entry__event-info h4:first-of-type, .section--two-col-entry__event-info h5:first-of-type {
        margin-top: 0; }
    .section--two-col-entry__event-info p {
      margin-top: 0; }
    .section--two-col-entry__event-info a {
      color: #000000;
      text-decoration: underline; }
  .section--two-col-entry__content-callout {
    margin: 3em 0;
    padding: 3em 4em;
    background-color: #F8F8F8;
    border-radius: 32px; }
    .section--two-col-entry__content-callout h2, .section--two-col-entry__content-callout h3, .section--two-col-entry__content-callout h4 {
      font-weight: 600; }
    .section--two-col-entry__content-callout a {
      text-decoration: underline; }
    .section--two-col-entry__content-callout ul {
      margin: 2em 0; }
      .section--two-col-entry__content-callout ul:last-of-type {
        margin-bottom: 0; }
      .section--two-col-entry__content-callout ul li {
        margin-bottom: 1em;
        margin-left: 1em;
        font-weight: 600; }
        .section--two-col-entry__content-callout ul li:has(h2, h3, h4, h5) {
          list-style: none;
          margin-left: 0; }
        .section--two-col-entry__content-callout ul li:has(a)::marker {
          color: #3AA8EF; }
        .section--two-col-entry__content-callout ul li:has(a):hover {
          color: #3AA8EF; }
        .section--two-col-entry__content-callout ul li a {
          color: #3AA8EF; }
        .section--two-col-entry__content-callout ul li:last-of-type {
          margin-bottom: 0; }
  .section--two-col-entry + .section--featured-news--small {
    padding-top: 0; }

.section--code-copy__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .section--code-copy__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.section--code-copy__grid {
  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; }

.section--code-copy__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }

.section--code-copy__code-block {
  margin-bottom: 4em; }
  .section--code-copy__code-block:last-of-type {
    margin-bottom: 0; }
  .section--code-copy__code-block pre {
    position: relative;
    overflow: auto;
    background: #F8F8F8;
    border-radius: 32px;
    padding: 6em 3em 3em 0;
    margin: 3em 0; }
    .section--code-copy__code-block pre code {
      position: relative;
      /* make space  */
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      display: inline;
      width: 100%;
      margin-left: -100px; }
    .section--code-copy__code-block pre button {
      position: absolute;
      top: 20px;
      right: 30px;
      background: none;
      border: none;
      cursor: pointer; }
    .section--code-copy__code-block pre h3 {
      position: absolute;
      top: 20px;
      left: 30px;
      font-weight: 600; }
      @media print, screen and (max-width: 63.99875em) {
        .section--code-copy__code-block pre h3 {
          max-width: 60%; } }

.section--code-copy__msg-confirm {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(254, 254, 254, 0);
  z-index: 1000;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 750ms ease-in;
  transition: all 750ms ease-in;
  pointer-events: none; }
  .section--code-copy__msg-confirm.active {
    visibility: visible;
    opacity: 1;
    background: rgba(254, 254, 254, 0.75); }

.section--event-form .background-image {
  position: absolute;
  z-index: -1; }
  @media print, screen and (max-width: 63.99875em) {
    .section--event-form .background-image {
      width: 400px; } }
  @media print, screen and (min-width: 64em) {
    .section--event-form .background-image {
      margin-top: -4em;
      margin-left: -4em; } }
  .section--event-form .background-image.scroll-reveal-animation {
    opacity: 0;
    -webkit-transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
    transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  .section--event-form .background-image.active {
    opacity: 1;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  .section--event-form .background-image--centered {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .section--event-form .background-image--left {
    left: 0; }
  .section--event-form .background-image--right {
    right: 0; }
    @media print, screen and (max-width: 63.99875em) {
      .section--event-form .background-image--right {
        bottom: 50px; } }
    .section--event-form .background-image--right.scroll-reveal-animation {
      -webkit-transition-delay: 2.7s;
              transition-delay: 2.7s; }

.section--card-grid-text-two-col__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .section--card-grid-text-two-col__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.section--card-grid-text-two-col__grid {
  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-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.section--card-grid-text-two-col__card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  padding-bottom: 2.5em;
  margin-bottom: 3em;
  border-bottom: 2px solid #E8E8E8; }
  .section--card-grid-text-two-col__card:last-of-type {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .section--card-grid-text-two-col__card {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(45.83333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0; } }
  .section--card-grid-text-two-col__card a {
    margin-top: 3em; }

.section--card-grid-files__container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .section--card-grid-files__container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.section--card-grid-files__grid {
  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-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5em; }
  @media print, screen and (min-width: 40em) {
    .section--card-grid-files__grid {
      gap: 3em; } }

.section--card-grid-files__header {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }

.section--card-grid-files__card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  padding: 2.5em;
  background: #F8F8F8;
  border-radius: 32px; }
  @media print, screen and (min-width: 40em) {
    .section--card-grid-files__card {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(45.83333% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .section--card-grid-files__card h4 {
    font-size: 1.3rem;
    font-weight: 600; }
  .section--card-grid-files__card a {
    margin-top: 3em; }

:root {
  --location-marker-delay: 0s; }

@media print, screen and (max-width: 39.99875em) {
  .section--locations-map {
    display: none; } }

.section--locations-map__header-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5em; }
  @media print, screen and (min-width: 40em) {
    .section--locations-map__header-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.section--locations-map__header-grid {
  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-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }

.section--locations-map__header-content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(58.33333% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  .section--locations-map__header-content p {
    max-width: 100%; }

.section--locations-map__map-grid {
  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-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }

.section--locations-map__map-block {
  position: relative;
  width: 100%;
  height: 800px; }
  .section--locations-map__map-block img[role=presentation] {
    margin: 0px;
    width: 257px !important;
    height: 257px !important; }

.section--locations-map .gm-style .gm-style-iw-c {
  border-radius: 12px 12px 12px 0; }
  .section--locations-map .gm-style .gm-style-iw-c button {
    top: 0 !important;
    right: 0 !important; }

.section--locations-map .gm-style iframe + div {
  border: none !important;
  outline: none; }

.section--locations-map__info-window {
  z-index: 1;
  width: 290px;
  padding: 1.5em;
  border-radius: 32px 32px 0 32px;
  text-align: left;
  color: #102F51; }
  .section--locations-map__info-window h4 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #102F51; }
  .section--locations-map__info-window p {
    font-size: 0.9rem;
    margin-bottom: 1.5em; }
  .section--locations-map__info-window ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .section--locations-map__info-window ul:first-of-type {
      margin-bottom: 0.5em; }
    .section--locations-map__info-window ul li a {
      color: #102F51;
      font-size: 0.9rem; }

.newsletter-popup {
  background: #102F51;
  border: none;
  color: #fefefe;
  padding: 2.5em 1em 2.5em 1em;
  border-radius: 32px; }
  .newsletter-popup h2 {
    line-height: 1.8rem; }
  .newsletter-popup h2, .newsletter-popup a {
    color: #fefefe; }
  .newsletter-popup a {
    text-decoration: underline; }
    .newsletter-popup a:hover {
      text-decoration: none; }
  .newsletter-popup p {
    font-size: 0.8rem; }
    .newsletter-popup p:last-of-type {
      margin-bottom: 0; }
  .newsletter-popup__icon {
    margin: 0 auto 1.5em auto;
    width: 50px;
    height: 50px;
    background: #2FB67C;
    border-radius: 32px 32px 32px 0; }
  .newsletter-popup__form {
    margin: 2em 0; }
  .newsletter-popup .close-button {
    color: #fefefe;
    font-weight: 400;
    font-size: 2.2rem; }

.search-form {
  position: relative;
  max-width: 690px; }
  .search-form:hover .search-form__submit i {
    color: #FAB03A; }
  .search-form__keywords-input {
    padding-right: 20px;
    padding-left: 20px;
    border-radius: 32px;
    font-size: 20px;
    height: 2.8em;
    margin: 0;
    position: relative; }
  .search-form__submit {
    background-color: transparent !important;
    position: absolute;
    right: 0;
    top: 0;
    background-image: url("../img/icon-nav-search.svg");
    height: 100%;
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center;
    border-radius: 0;
    margin: 0;
    margin-right: 12px; }
    .search-form__submit i {
      color: #E13429;
      font-size: 28px;
      -webkit-transition: color .3s ease-out;
      transition: color .3s ease-out; }

.section--search {
  padding-top: 0; }

.search-results {
  margin: 0 !important;
  border-top: 2px solid #F8F8F8; }
  .search-results a {
    color: inherit;
    display: block;
    padding: 2em;
    border-radius: 32px;
    -webkit-transition: background ease-out .3s;
    transition: background ease-out .3s; }
    .search-results a:hover {
      background: rgba(16, 47, 81, 0.11); }
  .search-results__item {
    list-style: none;
    margin: 1em 0 !important;
    max-width: 690px !important; }
  .search-results__link {
    color: #102F51;
    font-size: 18px;
    margin: 0 0; }
  .search-results__title {
    color: #E13429;
    font-size: 24px;
    margin: .2em 0; }
  .search-results__excerpt {
    list-style: none; }

.search--suggestion {
  margin-top: 2em; }

.news__article-sidelist {
  border-top: 2px solid #E13429;
  margin: 2em -0.7em 0;
  padding: 2em 0.7em 0;
  background-color: #F8F8F8; }
  @media print, screen and (min-width: 64em) {
    .news__article-sidelist {
      border-top: 0;
      margin: 0;
      padding: 0;
      background-color: transparent; } }
  .news__article-sidelist h5 {
    font-size: 1.4em; }
    @media print, screen and (min-width: 64em) {
      .news__article-sidelist h5 {
        font-size: 1em; } }
  .news__article-sidelist .card__news {
    border-bottom: 2px solid #E8E8E8;
    padding-bottom: 1em;
    margin-bottom: 3em; }
    .news__article-sidelist .card__news:first-of-type {
      margin-top: 2em; }
    .news__article-sidelist .card__news:last-of-type {
      border-bottom: none; }
    .news__article-sidelist .card__news a:hover {
      color: inherit; }
    .news__article-sidelist .card__news img {
      margin-top: 0;
      margin-bottom: 0;
      border-radius: 32px 32px 32px 0; }
    .news__article-sidelist .card__news h3 {
      font-weight: 600;
      margin-top: 1em;
      font-size: 1.3rem;
      line-height: 1.4em; }

.menu--filter {
  padding: 0;
  z-index: 2; }
  .menu--filter .menu__subtitle {
    font-size: 15px; }

.menu--inline {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  width: 100vw;
  max-width: 100vw; }
  @media print, screen and (min-width: 64em) {
    .menu--inline {
      width: 100%;
      max-width: 480px; } }
  .menu--inline.is-dropdown-submenu.js-dropdown-active {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .menu--inline .menu__items--inline {
    width: auto;
    min-width: auto; }
    .menu--inline .menu__items--inline a {
      width: auto;
      min-width: auto;
      padding: .8em !important;
      text-align: center;
      border-radius: 8px; }

@media print, screen and (min-width: 64em) {
  .dropdown-link-wider {
    width: 480px; } }

.section--resources .grid-container {
  background: #102F51;
  padding: 1.5em 2.5em;
  border-radius: 32px; }
  .section--resources .grid-container h2 {
    color: #fefefe; }
  .section--resources .grid-container ul {
    list-style: none;
    margin: 1em 0;
    padding: 0; }
    @media print, screen and (min-width: 64em) {
      .section--resources .grid-container ul {
        -webkit-column-count: 2;
           -moz-column-count: 2;
                column-count: 2;
        -webkit-column-gap: 2em;
           -moz-column-gap: 2em;
                column-gap: 2em; } }
  .section--resources .grid-container li {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
    color: #fefefe; }
    .section--resources .grid-container li a {
      display: block;
      padding-bottom: .5em;
      margin-bottom: .5em;
      padding-right: 2.5em;
      color: #fefefe;
      border-bottom: 1px solid rgba(254, 254, 254, 0.2);
      background-image: url("../img/icon-download-arrow.svg");
      background-repeat: no-repeat;
      background-position: right top;
      background-size: 32px;
      min-height: 2.4em; }

.section--links {
  overflow: visible; }
  .section--links .background-image {
    position: absolute;
    z-index: -1;
    width: 360px; }
    .section--links .background-image.scroll-reveal-animation {
      opacity: 0;
      -webkit-transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
      transition: all 4s cubic-bezier(0.65, 0, 0.35, 1);
      -webkit-transform: rotate(0);
              transform: rotate(0);
      -webkit-transform-origin: 50% 54%;
              transform-origin: 50% 54%; }
    .section--links .background-image.active {
      opacity: 1;
      -webkit-transform: rotate(360deg);
              transform: rotate(360deg); }
    .section--links .background-image--left {
      top: 0;
      left: 0; }
      @media print, screen and (min-width: 64em) {
        .section--links .background-image--left {
          left: -50px; } }
  .section--links .grid-container {
    background: #F8F8F8;
    padding: 1.5em 2.5em;
    border-radius: 32px; }
    .section--links .grid-container ul {
      list-style: none;
      margin: 1em 0;
      padding: 0; }
    .section--links .grid-container li a {
      display: block;
      position: relative;
      padding-left: 1em;
      min-height: 2.4em; }
      .section--links .grid-container li a:before {
        content: "\203A";
        position: absolute;
        left: 0;
        top: 0;
        font-size: 1.4em;
        margin-top: -.3em;
        height: 100%;
        display: block;
        color: #E13429; }

.case-study__page-builder {
  overflow: hidden; }
  .case-study__page-builder .cell--rich-text h2, .case-study__page-builder .cell--rich-text h3, .case-study__page-builder .cell--rich-text h4, .case-study__page-builder .cell--rich-text h5 {
    margin-top: 3em; }
  .case-study__page-builder .cell--rich-text > blockquote:first-child {
    margin-top: 0; }
  .case-study__page-builder .cell--rich-text img {
    width: 100%; }
  .case-study__page-builder .cell--rich-text figure {
    position: relative; }
    .case-study__page-builder .cell--rich-text figure:before, .case-study__page-builder .cell--rich-text figure:after {
      content: '';
      display: block;
      position: absolute;
      z-index: -1;
      background-image: url(../img/grey-ring-with-cut.svg);
      background-repeat: no-repeat;
      background-position: center right;
      background-size: contain;
      opacity: 0;
      -webkit-transition: all ease-in-out 3.5s;
      transition: all ease-in-out 3.5s; }
    .case-study__page-builder .cell--rich-text figure:before {
      width: 350px;
      height: 350px;
      bottom: 30px;
      left: -250px;
      -webkit-transition-delay: 2s;
              transition-delay: 2s; }
    .case-study__page-builder .cell--rich-text figure:after {
      width: 250px;
      height: 250px;
      top: 30px;
      right: -125px;
      -webkit-transition-delay: 0.5s;
              transition-delay: 0.5s; }
      @media print, screen and (min-width: 40em) {
        .case-study__page-builder .cell--rich-text figure:after {
          width: 500px;
          height: 500px;
          top: 30px;
          right: -300px; } }
    .case-study__page-builder .cell--rich-text figure.active:before {
      -webkit-transform: rotate(-75deg);
              transform: rotate(-75deg);
      opacity: 1; }
    .case-study__page-builder .cell--rich-text figure.active:after {
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg);
      opacity: 1; }

.glossary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1em; }
  .glossary__title {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin: 1em 0 0; }
  .glossary__content {
    padding: 1em;
    border-radius: .5em;
    background: white;
    width: calc(100% / 1 - 1em);
    width: calc(100% / 1 - 1em); }
    @media print, screen and (min-width: 40em) {
      .glossary__content {
        width: calc(100% / 2 - 1em); } }
    @media print, screen and (min-width: 64em) {
      .glossary__content {
        width: calc(100% / 3 - 1em); } }
    @media screen and (min-width: 75em) {
      .glossary__content {
        width: calc(100% / 4 - 1em); } }
    .glossary__content:hover {
      background-color: #dff1fc;
      color: #000000; }

.link--back {
  background-color: transparent;
  position: relative;
  color: #E13429;
  text-decoration: underline;
  font-weight: 700;
  margin-left: 2em; }
  .link--back::after {
    content: '';
    left: -2em;
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(180deg) translateY(50%);
            transform: rotate(180deg) translateY(50%);
    border: 0;
    height: 1em;
    width: 1em;
    right: -2em;
    background: url("../img/magenta-chevron-right.svg") no-repeat center center;
    background-size: contain;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.3s cubic-bezier(0.65, 0, 0.35, 1); }
  .link--back:hover {
    background-color: transparent;
    color: #E13429; }
    .link--back:hover::after {
      -webkit-transform: rotate(180deg) translateY(50%) translateX(0.5em);
              transform: rotate(180deg) translateY(50%) translateX(0.5em); }

.section--careers__breadcrumbs {
  list-style: none;
  margin-left: 0; }
  .section--careers__breadcrumbs li {
    display: inline-block;
    color: #E13429;
    font-weight: 600; }
    .section--careers__breadcrumbs li a {
      color: #E13429; }
    .section--careers__breadcrumbs li:after {
      content: '/';
      margin-left: 0.5em;
      margin-right: 0.5em; }
    .section--careers__breadcrumbs li:last-of-type:after {
      display: none; }

.section--careers.hero {
  margin-bottom: 5em; }

@media print, screen and (max-width: 63.99875em) {
  .section--careers .hero__image {
    max-width: 300px;
    margin-top: 1.5em; } }

@media print, screen and (min-width: 40em) {
  .section--careers .hero__image {
    text-align: right; } }

.section--careers__content, .section--careers__apply {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .section--careers__content, .section--careers__apply {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: calc(50% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }

.section--careers__apply-intro {
  background: #F8F8F8;
  padding: 3em;
  border-radius: 32px;
  margin-bottom: 1.5em; }
  .section--careers__apply-intro p:last-of-type {
    margin-bottom: 0; }

.section--careers__application-form {
  margin-left: 0;
  margin-right: 0; }

.section--careers__summary-icons {
  margin-bottom: 3em; }
  .section--careers__summary-icons ul {
    list-style: none;
    margin-left: 0; }
    .section--careers__summary-icons ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-bottom: 0.3em; }
      .section--careers__summary-icons ul li img {
        margin-right: 0.75em; }

.section--careers-listings {
  padding-top: 7em !important; }
  @media print, screen and (min-width: 64em) {
    .section--careers-listings {
      padding-top: calc(6em + 125px) !important; } }
  .section--careers-listings__list-container {
    margin-top: 1em; }
  .section--careers-listings__search {
    margin-bottom: 3em; }
    .section--careers-listings__search input[type='text'] {
      border: 1px solid #999999; }
    .section--careers-listings__search .resources__search {
      position: relative; }
    .section--careers-listings__search .resources__search-button {
      background-size: 40%;
      right: -10px; }
  .section--careers-listings__filters-list {
    list-style: none;
    margin-top: 1em;
    margin-left: 0; }
    .section--careers-listings__filters-list li {
      margin-bottom: 0.5em; }
      .section--careers-listings__filters-list li:last-of-type {
        margin-bottom: 0; }
      .section--careers-listings__filters-list li a {
        position: relative;
        display: block;
        width: 100%;
        padding: 1em;
        border-radius: 10px;
        background-color: #3AA8EF;
        color: #fefefe;
        -webkit-transition: background-color .3s ease-out;
        transition: background-color .3s ease-out; }
        .section--careers-listings__filters-list li a:hover, .section--careers-listings__filters-list li a:active {
          color: #fefefe;
          background-color: #1292e4; }
        .section--careers-listings__filters-list li a.green {
          background-color: #2FB67C; }
          .section--careers-listings__filters-list li a.green:hover, .section--careers-listings__filters-list li a.green:active {
            color: #fefefe;
            background-color: #258d60; }
        .section--careers-listings__filters-list li a:after {
          content: '×';
          position: absolute;
          right: 12px;
          top: 8px;
          display: inline-block;
          font-size: 28px;
          font-weight: 400; }
  .section--careers-listings__clear-filters {
    text-decoration: underline; }
  .section--careers-listings__filter-search {
    border-radius: 32px;
    border: 1px solid #999999;
    padding: 2em;
    margin-bottom: 3em; }
    .section--careers-listings__filter-search h4 {
      font-size: 18px; }
  .section--careers-listings__filter-option {
    border-bottom: 1px solid #999999;
    margin-bottom: 2em;
    padding-bottom: 1.5em; }
    .section--careers-listings__filter-option:last-of-type {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0; }
    .section--careers-listings__filter-option h5 {
      margin-bottom: 0.3em;
      font-size: 16px; }
      .section--careers-listings__filter-option h5 img {
        margin-right: 0.5em; }
    .section--careers-listings__filter-option select {
      min-height: 2.5em; }
  .section--careers-listings__filter-sort {
    margin-bottom: 0;
    padding-bottom: 0; }
    .section--careers-listings__filter-sort select {
      min-height: 2.5em;
      width: auto; }
  .section--careers-listings__filter-checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .section--careers-listings__side-announcement {
    border-radius: 32px;
    background: #102F51;
    padding: 2em;
    color: #fefefe; }
    .section--careers-listings__side-announcement h1, .section--careers-listings__side-announcement h2, .section--careers-listings__side-announcement h3, .section--careers-listings__side-announcement h4 {
      color: #fefefe;
      font-size: 22px; }

@media print, screen and (max-width: 63.99875em) {
  #toggle-filters {
    display: none; } }

@media print, screen and (max-width: 63.99875em) {
  #toggle-filters:target {
    display: block;
    margin-top: -5em;
    padding-top: 6em; } }

.cell--filter {
  position: relative; }
  .cell--filter .close-button {
    font-size: 4em; }
    @media print, screen and (min-width: 40em) {
      .cell--filter .close-button {
        display: none; } }

.button--filter::before {
  content: '';
  display: inline-block;
  border: 0 !important;
  height: 1em !important;
  width: 1.2em !important;
  background: url("../img/icon-filters.svg") no-repeat center center !important;
  background-size: contain !important;
  vertical-align: middle;
  margin-right: .5em; }

@media print, screen and (min-width: 40em) {
  .button--filter {
    display: none; } }

.button--close-filter {
  position: relative;
  z-index: 9999; }

.nav-alert-bar {
  background: #102F51;
  margin-bottom: 1.5em;
  padding: 0.5em 0; }
  @media print, screen and (max-width: 63.99875em) {
    .nav-alert-bar {
      margin-bottom: 0em;
      padding: 0.25em 0; } }
  .nav-alert-bar__container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 14px;
    color: #fefefe; }
    @media print, screen and (min-width: 40em) {
      .nav-alert-bar__container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    @media print, screen and (max-width: 63.99875em) {
      .nav-alert-bar__container {
        font-size: 12px; } }
    .nav-alert-bar__container a {
      color: #fefefe;
      text-decoration: underline; }

@media print, screen and (max-width: 63.99875em) {
  .title-bar--has-nav-alert {
    padding-top: 0; } }

@media print, screen and (min-width: 64em) {
  .main--full-width--has-nav-alert {
    top: 157px  !important; } }

.header--has-nav-alert {
  padding-top: 0; }

.related-offices h2 {
  max-width: 100%; }

.related-offices__container-white {
  margin-top: 2.5em;
  background: #ffffff;
  border-radius: 2em;
  height: 100%;
  padding: 1em; }
  @media print, screen and (min-width: 40em) {
    .related-offices__container-white {
      padding: 2.4em; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXV0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19mb250LXN0eWxpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaGFkb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLWJveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwiZ2xvYmFsL19ib2R5LnNjc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsImdsb2JhbC9fYW5pbWF0aW9uLnNjc3MiLCJnbG9iYWwvX2dyaWQtbW9kcy5zY3NzIiwiZ2xvYmFsL19jb2xvdXJzLnNjc3MiLCJnbG9iYWwvaGFtYnVyZ2Vycy9oYW1idXJnZXJzLnNjc3MiLCJnbG9iYWwvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiZ2xvYmFsL2hhbWJ1cmdlcnMvdHlwZXMvX3NsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19jYXJkcy5zY3NzIiwiY29tcG9uZW50cy9fcmV2ZWFsLXZpZGVvLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2txdW90ZS5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19sb2dvLXdhbGwuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19jb21wb25lbnRzLnNjc3MiLCJjb21wb25lbnRzL19zdGF0cy5zY3NzIiwiY29tcG9uZW50cy9fbG9nby1jb2xsZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19pY29uLXByb3BlcnR5LnNjc3MiLCJjb21wb25lbnRzL19sb2dvLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3F1b3RlLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LXNwbGl0LnNjc3MiLCJjb21wb25lbnRzL19zbmlwcGV0cy1ieS10d28uc2NzcyIsImNvbXBvbmVudHMvX3RhYmJlZC1sb2dvLWZlYXR1cmUtY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2NvbHVtbmVkLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3ZpZGVvLWdhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvX3ZpZGVvLW1vZGFsLnNjc3MiLCJjb21wb25lbnRzL19yZXNvdXJjZXMuc2NzcyIsImNvbXBvbmVudHMvX2FzaWRlLnNjc3MiLCJjb21wb25lbnRzL190ZWFtLWdyaWQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRlLnNjc3MiLCJjb21wb25lbnRzL19nbG9iYWwtb2ZmaWNlcy5zY3NzIiwiY29tcG9uZW50cy9fZmFxcy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZWVycy1yb2xlcy5zY3NzIiwiY29tcG9uZW50cy9fY3RhLXRleHQuc2NzcyIsImNvbXBvbmVudHMvX3doaXRlcGFwZXItZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fdGVybXMtcGFnZXMuc2NzcyIsImNvbXBvbmVudHMvX2Nvb2tpZS5zY3NzIiwiY29tcG9uZW50cy9fY3RhLWJhci5zY3NzIiwiY29tcG9uZW50cy9fc3Vic2NyaWJlLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1uZXdzLnNjc3MiLCJjb21wb25lbnRzL19pY29uLWdyaWQuc2NzcyIsImNvbXBvbmVudHMvX3RhYmJlZC1jb250ZW50LXRhYnMuc2NzcyIsImNvbXBvbmVudHMvX3JpY2gtdGV4dC5zY3NzIiwiY29tcG9uZW50cy9fcXVvdGF0aW9uLWNhbGxvdXQuc2NzcyIsImNvbXBvbmVudHMvX2NvdXJzZXMtbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fdHdvLWNvbC1lbnRyeS5zY3NzIiwiY29tcG9uZW50cy9fY29kZS1jb3B5LnNjc3MiLCJjb21wb25lbnRzL19ldmVudC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLWdyaWQtdGV4dC5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC1ncmlkLWZpbGVzLnNjc3MiLCJjb21wb25lbnRzL19sb2NhdGlvbnMtbWFwLnNjc3MiLCJjb21wb25lbnRzL19uZXdzbGV0dGVyLXBvcHVwLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX25ld3Muc2NzcyIsImNvbXBvbmVudHMvX2Nhc2Utc3R1ZGllcy5zY3NzIiwiY29tcG9uZW50cy9fZ2xvc3Nhcnkuc2NzcyIsImNvbXBvbmVudHMvX2NhcmVlcnMuc2NzcyIsImNvbXBvbmVudHMvX25hdi1hbGVydC1iYXIuc2NzcyIsImNvbXBvbmVudHMvX3JlbGF0ZWQtb2ZmaWNlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RURNRTtBRWdMTTtFQ3pJTjtJQUNFLFdBQVc7SUFDWCxVQUFVO0lBQ1YsY0FBYyxFQUFBLEVBQ2Y7O0FDaERELDJFQUFBO0FBUUE7RUFDRSxpQkFBaUI7RUFDakIsOEJBQThCLEVBQUE7O0FBUWhDO0VBQ0UsU0FBUyxFQUFBOztBQU1YO0VBQ0UsY0FBYztFQUNkLGdCQUFnQixFQUFBOztBQVNsQjtFQUNFLCtCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsU0FBUztFQUNULGlCQUFpQixFQUFBOztBQU1uQjtFQUNFLGlDQUFpQztFQUNqQyxjQUFjLEVBQUE7O0FBUWhCO0VBQ0UsNkJBQTZCLEVBQUE7O0FBTS9CO0VBQ0UsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQix5Q0FBaUM7VUFBakMsaUNBQWlDLEVBQUE7O0FBS25DOztFQUVFLG1CQUFtQixFQUFBOztBQU1yQjs7O0VBR0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFLaEI7RUFDRSxjQUFjLEVBQUE7O0FBTWhCOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHdCQUF3QixFQUFBOztBQUcxQjtF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YXpCLGVONkQ4RDtFTTVEOUQsbUJUd0QyQjtFU3ZEM0IsZ0JUa0NxQjtFU2pDckIsY1Q0Q2E7RUN3RWIsd09BQXlOO0VRaEh2Tiw4QkFBOEI7RUFDOUIsdUNBQTBEO0VBQzFELDRCQUE0QjtFQUM1Qix3QkFBd0I7RUFFeEIscUJBQXVEO0VBSXZELDJFVG1hOEQ7RVNuYTlELG1FVG1hOEQ7RVNuYTlELDJEVG1hOEQ7RVNuYTlELG9GVG1hOEQsRUFBQTtFQzFUaEU7SUZrREE7TUUvQ0ksdVdBQXVXLEVBQUEsRVFyRTFXO0VBbkNEO0lBQ0UsYUFBYTtJQUNiLHlCVHdCZTtJU3ZCZix5QlR5Qlc7SVN4QlgsbUNUcUJpQjtZU3JCakIsMkJUcUJpQjtJU2xCZiwyRVR3WjREO0lTeFo1RCxtRVR3WjREO0lTeFo1RCwyRFR3WjREO0lTeFo1RCxvRlR3WjRELEVBQUE7RVNuWmhFO0lBQ0UseUJUV2dCO0lTVmhCLG1CVGdaK0IsRUFBQTtFUzVZakM7SUFDRSxhQUFhLEVBQUE7RUFHZjtJQUNFLFlBQVk7SUFDWixzQkFBc0IsRUFBQTtFQUV4QjtJQUNFLGNBQWM7SUFDZCxpQkFBaUIsRUFBQTs7QUNyQ25CO0VBQ0UscUJWOEJZO0VVN0JaLHlCQUErRCxFQUFBO0VBRS9EO0lBQ0UsY1YwQlUsRUFBQTtFVTNCWjtJQUNFLGNWMEJVLEVBQUE7RVUzQlo7SUFDRSxjVjBCVSxFQUFBO0VVM0JaO0lBQ0UsY1YwQlUsRUFBQTtFVTNCWjtJQUNFLGNWMEJVLEVBQUE7O0FVQVo7RUFDRSxjVkRVLEVBQUE7O0FVTWQ7RUF6QkEsYUFBYTtFQUNiLG1CQUFnQztFQUNoQyxtQlBvQzhEO0VPbEM5RCxrQlBrQzhEO0VPakM5RCxpQlY4QnVCO0VVN0J2QixjVmFjLEVBQUE7RVVNZDtJQUlJLGNBQWMsRUFBQTs7QUM4SWxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FBSVo7RUFDRSxtQlhsRjBCO0VXb0YxQixrQkFBa0I7RUFDbEIsZ0JYdEZzQjtFV3VGdEIsa0NYckZ5QyxFQUFBOztBV3lGM0M7O0VBRUUsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBQUl0Qjs7RUFFRSxpQlhsTHFCO0VXbUxyQixvQkFBb0IsRUFBQTs7QWJ0THRCO0VhMkxFLGNYNUdpQjtFVzZHakIsb0JBQW9CLEVBQUE7O0FBSXRCOzs7Ozs7RUFNRSxxQ1hqSnlDO0VXa0p6QyxrQlhoSnNCO0VXaUp0QixtQlh0TXlCO0VXdU16QixjWDFOYztFVzJOZCxrQ1g1SHNDLEVBQUE7RVdrSHhDOzs7Ozs7SUFhSSxjQUFjO0lBQ2QsY1h4TmUsRUFBQTs7QVdpT2I7RUFJSSxpQlJyTm9EO0VRaU9wRCxnQlg3S1c7RVdxTFgsYUFBYTtFQU9iLHFCWDNMaUIsRUFBQTs7QVc0SnJCO0VBSUksa0JSck5vRDtFUWlPcEQsZ0JYN0tXO0VXcUxYLGFBQWE7RUFPYixxQlgzTGlCLEVBQUE7O0FXNEpyQjtFQUlJLG9CUnJOb0Q7RVFpT3BELGdCWDdLVztFV3FMWCxhQUFhO0VBT2IscUJYM0xpQixFQUFBOztBVzRKckI7RUFJSSxtQlJyTm9EO0VRaU9wRCxnQlg3S1c7RVdxTFgsYUFBYTtFQU9iLHFCWDNMaUIsRUFBQTs7QVc0SnJCO0VBSUksb0JSck5vRDtFUWlPcEQsZ0JYN0tXO0VXcUxYLGFBQWE7RUFPYixxQlgzTGlCLEVBQUE7O0FXNEpyQjtFQUlJLGVSck5vRDtFUWlPcEQsZ0JYN0tXO0VXcUxYLGFBQWE7RUFPYixxQlgzTGlCLEVBQUE7O0FKbUNyQjtFZXlIQTtJQUlJLGVSck5vRCxFQUFBO0VRaU54RDtJQUlJLGVSck5vRCxFQUFBO0VRaU54RDtJQUlJLGtCUnJOb0QsRUFBQTtFUWlOeEQ7SUFJSSxvQlJyTm9ELEVBQUE7RVFpTnhEO0lBSUksa0JSck5vRCxFQUFBO0VRaU54RDtJQUlJLGVSck5vRCxFQUFBLEVRa1B2RDs7QWJ4UlA7RWErUkUsb0JBQW9CO0VBQ3BCLGNYalJjO0VXa1JkLHFCWDFLeUI7RVc0S3pCLGVBQWUsRUFBQTtFQUxqQjtJQVNJLGNYakwyRCxFQUFBO0VXd0svRDtJQWdCSSxTQUFTLEVBQUE7O0FialViO0VhdVVFLFdBQVc7RUFFWCxnQlJoUjREO0VRaVI1RCxTQUFTO0VBQ1Qsb0JYN0x5QjtFVytMekIsYUFBYTtFQUNiLGVBQWU7RUFDZixnQ1h0U2lCO0VXdVNqQixjQUFjLEVBQUE7O0FBSWhCOzs7RUFHRSxtQlhsTjBCO0VXbU4xQiw0Qlh0TXlCO0VXdU16QixnQlhyTnNCLEVBQUE7O0FXeU54QjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLG9CWGhOc0I7RVdpTnRCLHFCWG5Oa0IsRUFBQTs7QVd1TnBCO0VBQ0Usb0JYdE5zQixFQUFBOztBVzBOeEI7RUFFSSxvQlgzTjJCO0VXNE4zQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQlhqT3lCLEVBQUE7RVdnTzNCO0lBSUkscUJYbE84QjtJV21POUIsaUJYcFVtQixFQUFBOztBV3lVdkI7RUFDRSxnQlgzUDBCO0VXNFAxQixzQ1J4VTREO0VReVU1RCw4Qlh6VmlCLEVBQUE7RVdzVm5CO0lBTUksZ0JYalFvQjtJV2tRcEIsY1g1VmEsRUFBQTs7QVcwV2pCO0VBQ0UsaUNYMVdXO0VXMldYLFlBQVk7RUFDWixxQkFBcUIsRUFBQTs7QUFJdkI7RUFDRSxTQUFTLEVBQUE7O0FBV1g7RUFDRSxTQUFTO0VBQ1QsMkJSM1dTO0VRNldULHlCWG5ZZ0I7RVdxWWhCLDREWGxVbUU7RVdtVW5FLGNYbllXO0VXc1lULG1CWDFYYyxFQUFBOztBWXlDbEI7RUFDRSxrQlowRXlCO0VZekV6QixxQlowRTRCO0VZeEU1QixtQlovQ3lCO0VZZ0R6QixnQlptRXNCO0VZbEV0QixjWjVEZSxFQUFBOztBWWdFakI7RUFDRSxlWjJEcUM7RVkxRHJDLGdCWjJEaUIsRUFBQTs7QVl2RG5CO0VBQ0UsaUJaNERtQjtFWTNEbkIsY0FBYyxFQUFBO0VBRWQ7SUFDRSxpQkFBaUIsRUFBQTs7QUFJckI7RUFHSSxjQUFnQztFQUNoQyxnQkFBZ0IsRUFBQTs7QUFJcEI7RUFqRkEsY0FBYztFQUNkLGNaUGlCO0VZUWpCLG9CVE84RCxFQUFBO0VTTDlEO0lBQ0UsYVoySGtCLEVBQWE7O0FZM0NqQztF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QUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsV0NuQmdFLEVBQUEsRUpuRDdEOztBbkJ3RkM7RW1CL0dGO0lHa0RKLG1CQUFNO1FBQU4saUJBQU07WUFBTixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixXQ25CZ0UsRUFBQSxFSm5EN0Q7O0FuQjZGQztFbUJwSEY7SUdrREosbUJBQU07UUFBTixpQkFBTTtZQUFOLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFdDbkJnRSxFQUFBLEVKbkQ3RDs7QW5CNkZDO0VtQnBIRjtJR2tESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsVUNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixVQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsZ0JDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLFVDbkJnRSxFQUFBO0VKdEQ5RDtJR3lFRixnQkNuQmdFLEVBQUE7RUp0RDlEO0lHeUVGLGdCQ25CZ0UsRUFBQTtFSnREOUQ7SUd5RUYsV0NuQmdFLEVBQUEsRUpuRDdEOztBQUtMO0VBQ0UsV0FBVyxFQUFBOztBQUliO0VBQ0UsWUFBWSxFQUFBOztBQThCZDtFQ3ZHTSxzQkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RXBCc0o3RDtJbUIvQ047TUN2R00sdUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEVEc0lsRTtFQS9CRDtJRzZCRSwyQkF0RDhGO0lGckU1RixxQkFBNkQ7SUFBN0Qsc0JBQTZELEVBQUE7RXBCNkkzRDtJbUIvQ047TUc2QkUsNEJBdEQ4RjtNRnJFNUYsc0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEMkcxRDtFQXJDUDtJR3FERSxXQWxGWSxFQUFBO0VIaUNkO0lHaURFLFdBbEZZLEVBQUE7RUh5Q1o7SUd5Q0EsK0JBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwwQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwwQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwwQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RXRCd0UxRjtJbUJ2RU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIQ2hHO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSxnQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQSxFSGU3RjtFbkJ5REc7SW1CdkVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSxnQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQSxFSGU3RjtFbkI4REc7SW1CNUVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSxnQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQSxFSGU3RjtFbkI4REc7SW1CNUVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSxnQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQSxFSGU3Rjs7QUE4Q0g7RUMzSU0sdUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VwQnNKN0Q7SW1CWE47TUMzSU0sd0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEZ0poRTs7QUFJRDtFQ3BKSSx1QkFBNkQ7RUFBN0Qsc0JBQTZELEVBQUE7RXBCc0o3RDtJbUJGSjtNQ3BKSSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRURzSmhFOztBQVhIO0VDM0lNLHVCQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTtFcEJzSjdEO0ltQlhOO01DM0lNLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRDJKaEU7O0FLM0pIO0VGb0lFLFdDbkJnRSxFQUFBOztBQ2pIbEU7RUZvSUUsVUNuQmdFLEVBQUE7O0FDakhsRTtFRm9JRSxnQkNuQmdFLEVBQUE7O0FDakhsRTtFRm9JRSxVQ25CZ0UsRUFBQTs7QUNqSGxFO0VGb0lFLFVDbkJnRSxFQUFBOztBQ2pIbEU7RUZvSUUsZ0JDbkJnRSxFQUFBOztBQ2pIbEU7RUZvSUUsZ0JDbkJnRSxFQUFBOztBQ2pIbEU7RUZvSUUsWUNuQmdFLEVBQUE7O0F2QnFDNUQ7RXdCdEpOO0lGb0lFLFdDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsVUNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLGdCQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxZQ25CZ0UsRUFBQSxFQy9HakU7O0F4Qm9KSztFd0J0Sk47SUZvSUUsV0NuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFlDbkJnRSxFQUFBLEVDL0dqRTs7QXhCeUpLO0V3QjNKTjtJRm9JRSxXQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsVUNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLGdCQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsVUNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLFVDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxnQkNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLGdCQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsWUNuQmdFLEVBQUEsRUMvR2pFOztBeEJ5Sks7RXdCM0pOO0lGb0lFLFdDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxVQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsVUNuQmdFLEVBQUE7RUNqSGxFO0lGb0lFLGdCQ25CZ0UsRUFBQTtFQ2pIbEU7SUZvSUUsZ0JDbkJnRSxFQUFBO0VDakhsRTtJRm9JRSxZQ25CZ0UsRUFBQSxFQy9HakU7O0FBRkQ7RUZvSUUsMkJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsMEJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsZ0NBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsMEJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsMEJBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsZ0NBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsZ0NBdEQ4RixFQUFBOztBRTlFaEc7RUZvSUUsNEJBdEQ4RixFQUFBOztBdEJ3RTFGO0V3QnRKTjtJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNEJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUEsRUU1RS9GOztBeEJvSks7RXdCdEpOO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBLEVFNUUvRjs7QXhCeUpLO0V3QjNKTjtJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQSxFRTVFL0Y7O0F4QnlKSztFd0IzSk47SUZvSUUsNEJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUEsRUU1RS9GOztBTHFNRztFTTlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SUhnSFIsZUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsV0NuQmdFLEVBQUE7RXZCcUM1RDtJeUJsSUk7TUhnSFIsZUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEO0V6QmdJTDtJeUJsSUk7TUhnSFIsZUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEO0V6QnFJTDtJeUJ2SUk7TUhnSFIsZUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEO0V6QnFJTDtJeUJ2SUk7TUhnSFIsZUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsVUNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixVQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsZ0JDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLFVDbkJnRSxFQUFBO0lFN0Z4RDtNSGdIUixnQkNuQmdFLEVBQUE7SUU3RnhEO01IZ0hSLGdCQ25CZ0UsRUFBQTtJRTdGeEQ7TUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEOztBTnVMUDtFTTdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6QmlIOUI7RW1CaURGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekJzSkM7RXlCM0lJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCeUlMO0V5QmxJSTtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0F6QmdJTDtFeUJsSUk7SUhnSFIsZUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEOztBekJxSUw7RXlCdklJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCcUlMO0V5QnZJSTtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0F6QmdJTDtFbUJ1REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBekIrR0M7RW1CaURGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekJzSkM7RXlCM0lJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCeUlMO0V5QjNJSTtJSHlIUixlQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixXQ25CZ0UsRUFBQSxFRXBHdkQ7O0F6QnlJTDtFeUJsSUk7SUhnSFIsZUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsV0NuQmdFLEVBQUEsRUUzRnZEOztBekJxSUw7RXlCdklJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCcUlMO0V5QnZJSTtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0F6QmdJTDtFbUJ1REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBekJvSEM7RW1CNENGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekIySkM7RXlCaEpJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCOElMO0V5QmhKSTtJSHlIUixlQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixXQ25CZ0UsRUFBQSxFRXBHdkQ7O0F6QjhJTDtFeUJoSkk7SUh5SFIsZUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsV0NuQmdFLEVBQUEsRUVwR3ZEOztBekI4SUw7RXlCdklJO0lIZ0hSLGVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFdDbkJnRSxFQUFBLEVFM0Z2RDs7QXpCcUlMO0V5QnZJSTtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0F6QnFJTDtFbUJrREY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBekJvSEM7RW1CNENGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekIySkM7RXlCaEpJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCOElMO0V5QmhKSTtJSHlIUixlQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixXQ25CZ0UsRUFBQSxFRXBHdkQ7O0F6QjhJTDtFeUJoSkk7SUh5SFIsZUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsV0NuQmdFLEVBQUEsRUVwR3ZEOztBekI4SUw7RXlCaEpJO0lIeUhSLGVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFVDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsVUNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLGdCQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixVQ25CZ0UsRUFBQTtFRXRHeEQ7SUh5SFIsZ0JDbkJnRSxFQUFBO0VFdEd4RDtJSHlIUixnQkNuQmdFLEVBQUE7RUV0R3hEO0lIeUhSLFdDbkJnRSxFQUFBLEVFcEd2RDs7QXpCOElMO0V5QnZJSTtJSGdIUixlQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixVQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLFVDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixnQkNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsVUNuQmdFLEVBQUE7RUU3RnhEO0lIZ0hSLGdCQ25CZ0UsRUFBQTtFRTdGeEQ7SUhnSFIsZ0JDbkJnRSxFQUFBO0VFN0Z4RDtJSGdIUixXQ25CZ0UsRUFBQSxFRTNGdkQ7O0F6QnFJTDtFbUJrREY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBTm9MRDtFT3ZNRixlQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsbUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixxQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHlDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRiwwQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsb0NBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLDBDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRiwwQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsb0NBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLDBDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRiwwQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsb0NBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLDBDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRiwwQ0FBNkIsRUFBQTs7QTFCa0l6QjtFbUJxRUY7SU92TUYsZUFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHFCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwwQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBLEVQNk0xQjs7QW5CM0VDO0VtQnFFRjtJT3ZNRixlQUE2QixFQUFBO0VQMk0zQjtJTzNNRixvQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYscUJBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDBDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUEsRVA2TTFCOztBbkJ0RUM7RW1CZ0VGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLG9DQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMENBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHFDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHFDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHFDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsMkNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQSxFUDZNMUI7O0FuQnRFQztFbUJnRUY7SU92TUYsZUFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHFCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwwQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRiwyQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDJDQUE2QixFQUFBLEVQNk0xQjs7QUF6SlM7RUV0RWQsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFINkI7RUFHN0IsNkJBSDZCO01BRzdCLDRCQUg2QjtVQUc3Qix3QkFINkIsRUFBQTtFRmlQN0I7SUcxSUEsWUFBbUI7SUFDbkIsZ0JBQTJCLEVBQUE7RUh5STNCO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUc3R0UsWUFsRlksRUFBQTtFSCtMZDtJQTJCTSw2QkFBZ0I7UUFBaEIsZ0JBQWdCLEVBQUE7RW5CdEhoQjtJbUIyRk47TUEyQk0sNkJBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VuQnZIQztJbUIyRk47TUEyQk0sNkJBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VuQmxIQztJbUJzRk47TUEyQk0sNkJBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VuQmxIQztJbUJzRk47TUEyQk0sNkJBQWdCO1VBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VBNUJMO0lHeEpBLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RUh3Sk47SUc3R0UsZ0JDbkJnRSxFQUFBO0VKZ0lsRTtJRzdHRSxpQkNuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLFdDbkJnRSxFQUFBO0VKZ0lsRTtJRzdHRSxpQkNuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLGlCQ25CZ0UsRUFBQTtFSmdJbEU7SUc3R0UsV0NuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLGlCQ25CZ0UsRUFBQTtFSmdJbEU7SUc3R0UsaUJDbkJnRSxFQUFBO0VKZ0lsRTtJRzdHRSxXQ25CZ0UsRUFBQTtFSmdJbEU7SUc3R0UsaUJDbkJnRSxFQUFBO0VKZ0lsRTtJRzdHRSxpQkNuQmdFLEVBQUE7RUpnSWxFO0lHN0dFLFlDbkJnRSxFQUFBO0V2QnFDNUQ7SW1CMkZOO01HeEpBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixhQUFNO01BMkNKLFlBbEZZLEVBQUE7SUgrTGQ7TUd4SkEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxZQ25CZ0UsRUFBQSxFSnlMM0Q7RW5CcEpEO0ltQjJGTjtNR3hKQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsWUNuQmdFLEVBQUEsRUp5TDNEO0VuQi9JRDtJbUJzRk47TUd4SkEsbUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lId0pOO01HN0dFLFlBbEZZLEVBQUE7SUgrTGQ7TUc3R0UsZ0JDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFlDbkJnRSxFQUFBLEVKeUwzRDtFbkIvSUQ7SW1Cc0ZOO01HeEpBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixhQUFNO01BMkNKLFlBbEZZLEVBQUE7SUgrTGQ7TUd4SkEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxXQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLFdDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxpQkNuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsV0NuQmdFLEVBQUE7SUpnSWxFO01HN0dFLGlCQ25CZ0UsRUFBQTtJSmdJbEU7TUc3R0UsaUJDbkJnRSxFQUFBO0lKZ0lsRTtNRzdHRSxZQ25CZ0UsRUFBQSxFSnlMM0Q7O0FBT0w7RUNqVEkscUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VwQnNKN0Q7SW1CMkpKO01DalRJLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRHFUOUQ7O0FBSkg7RUNqVEkscUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VwQnNKN0Q7SW1CMkpKO01DalRJLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRDBUOUQ7O0FBbk5MO0VDdkdNLHFCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFcEJzSjdEO0ltQi9DTjtNQ3ZHTSxzQkFBNkQ7TUFBN0QseUJBQTZELEVBQUEsRURzSWxFO0VBL0JEO0lHNkJFLDRCQXREOEY7SUZyRTVGLG9CQUE2RDtJQUE3RCx1QkFBNkQsRUFBQTtFcEI2STNEO0ltQi9DTjtNRzZCRSw2QkF0RDhGO01GckU1RixxQkFBNkQ7TUFBN0Qsd0JBQTZELEVBQUEsRUQyRzFEO0VBckNQO0lHcURFLFlBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsWUFsRlksRUFBQTtFSHlDWjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDRCQXREOEYsRUFBQTtFdEJ3RTFGO0ltQnZFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhDaEc7TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VuQnlERztJbUJ2RU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VuQjhERztJbUI1RU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhG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LDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3RjtFbkJ5REc7SW1CdkVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3RjtFbkI4REc7SW1CNUVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3RjtFbkI4REc7SW1CNUVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3Rjs7QUFrVEQ7RVE1WUksNkJBQW1DLEVBQUE7RTNCbUpuQztJbUJ5UEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDO0VuQjNQRztJbUJ5UEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDO0VuQnRQRztJbUJvUEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDO0VuQnRQRztJbUJvUEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDOztBbkIzUEc7RW1CNlBGO0lRaFpFLDhCQUFtQyxFQUFBLEVSa1pwQzs7QW5CL1BDO0VtQjZQRjtJUWhaRSw4QkFBbUMsRUFBQSxFUmtacEM7O0FuQjFQQztFbUJ3UEY7SVFoWkUsOEJBQW1DLEVBQUEsRVJrWnBDOztBbkIxUEM7RW1Cd1BGO0lRaFpFLDhCQUFtQyxFQUFBLEVSa1pwQzs7QVN6R0w7RUExT0EscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixrQnhCc01rQztFd0I1TGhDLG1CeEIyTHVCO0V3QnhMekIsNkJ4QmdNbUM7RXdCL0xuQyxtQnhCdEJrQjtFd0J1QmxCLHlFeEIwTXVFO0V3QjFNdkUsaUV4QjBNdUU7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QjtFRHdGZCwwQkFBcUI7TUFBckIscUJBQXFCLEVBQUE7O0FBTW5CO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBOUN5RVY7RThDeEVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBOUNzRUM7RThDeEVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBOUMyRUM7RThDN0VGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBOUMyRUM7RThDN0VGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBQS9GTDtFQ1lBLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7O0FEUmI7RUFDRSxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYyxFQUFBOztBQUdoQjtFQUNFLG1CQUFjO01BQWQs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QUNJLGtCQUFrQjtFQUNsQixhQUFhLEVBQUE7O0FDelZqQjtFQUVJLG1CN0RJVTtFNkRIVixvQkFBb0I7RUFDcEIsZ0JBQWdCLEVBQUE7RW5Ja0xaO0ltSXRMUjtNQU9RLGtCQUFrQjtNQUNsQixpQkFBaUIsRUFBQSxFQXNCeEI7RUFuQkc7SS9HcUJJLHVCQUE2RDtJQUE3RCxzQkFBNkQ7SUNkbkUsZ0JkNEU4RDtJYzNFOUQsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJOEdOWixrQkFBa0I7SUFFbEIsZUFBZTtJQUNmLGM3RHdCTyxFQUFBO0l0RTZJUDtNbUkzS0o7US9HcUJJLHdCQUE2RDtRQUE3RCx1QkFBNkQsRUFBQSxFK0dKaEU7SW5JMEpHO01tSTNLSjtRQVNRLGVBQWUsRUFBQSxFQVF0QjtJQWpCQTtNQWFPLGM3RGlCRztNNkRoQkgsMEJBQTBCLEVBQUE7O0FuSTZKOUI7RW1JcEpKO0lBR1EsY0FBYyxFQUFBLEVBR3JCOztBbkk4SUc7RW1JdklKO0lBR1Esc0JBQXNCLEVBQUEsRUFHN0I7O0FBTUQ7RUFDSSxjQUFjLEVBQUE7O0FDNUR0QjtFQUdRLGVBQWUsRUFBQTs7QUFHbkI7RUFFSSxpQkFBaUI7RUFFakIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixZQUFZO0VBRVosWUFBWSxFQUFBO0VwSXdLWjtJb0loTEo7TUFXUSxjQUFjLEVBQUEsRUFHckIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzJDMzg0MztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMzJweDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMzJweDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDQ0LCA1NiwgNjcsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMkMzODQzO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzJDMzg0MzsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMyQzM4NDM7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDlweCAwIDAgOXB4OyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDlweCA5cHggMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMkMzODQzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyQzM4NDM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNFMTM0Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ViZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjRTEzNDI5OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMxMDJGNTE7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMTAyRjUxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzBlMjg0NjsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMyQzM4NDM7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMkMzODQzO1xuICBib3JkZXItcmFkaXVzOiAzMnB4OyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jaXRlLWJsb2NrLCBjaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY2l0ZS1ibG9jazpiZWZvcmUsIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyQzM4NDM7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxuLmNvZGUtYmxvY2sge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyQzM4NDM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuODc1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjg3NXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuODc1cmVtIC8gMik7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLnRpbnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2UsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEwMkY1MTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGUyODQ1O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24ucHJpbWFyeSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAyRjUxO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkMjY0MTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxMzQyOTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYjI0MWE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5idXR0b24ud2FybmluZywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5idXR0b24ud2FybmluZzpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuYnV0dG9uLmFsZXJ0LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEzNDI5O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYjI0MWE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdzpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTAyRjUxO1xuICAgIGNvbG9yOiAjMTAyRjUxOyB9XG4gIC5idXR0b24uaG9sbG93OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwODE4Mjk7XG4gICAgY29sb3I6ICMwODE4Mjk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEwMkY1MTtcbiAgICBjb2xvcjogIzEwMkY1MTsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwODE4Mjk7XG4gICAgY29sb3I6ICMwODE4Mjk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0UxMzQyOTtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM3NTE2MTA7XG4gICAgY29sb3I6ICM3NTE2MTA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZywgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0LCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTEzNDI5O1xuICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM3NTE2MTA7XG4gICAgY29sb3I6ICM3NTE2MTA7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmNsZWFyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzEwMkY1MTsgfVxuICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICBjb2xvcjogIzA4MTgyOTsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzA4MTgyOTsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICBjb2xvcjogIzc1MTYxMDsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICBjb2xvcjogIzc1MTYxMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxMDJGNTE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTAyRjUxOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0UxMzQyOTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFsZXJ0OjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNFMTM0Mjk7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwIC5mb3JtLWNvbnRhaW5lciBidXR0b246bGFzdC1jaGlsZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAgYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnRpbnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAudGlueSBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zbWFsbCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zbWFsbCBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24sIC5idXR0b24tZ3JvdXAubGFyZ2UgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAubGFyZ2UgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAyRjUxO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBidXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDI2NDE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cCBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEzNDI5O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAgYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmIyNDFhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAud2FybmluZyBidXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuYWxlcnQgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuYWxlcnQgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuYWxlcnQgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxMzQyOTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuYWxlcnQgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuYWxlcnQgYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmIyNDFhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMDJGNTE7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDgxODI5O1xuICAgIGNvbG9yOiAjMDgxODI5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMDJGNTE7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDgxODI5O1xuICAgIGNvbG9yOiAjMDgxODI5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IGJ1dHRvbi5kaXNhYmxlZCwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0UxMzQyOTtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzUxNjEwO1xuICAgIGNvbG9yOiAjNzUxNjEwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmhvbGxvdyBidXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMTM0Mjk7XG4gICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydDpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5hbGVydDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzUxNjEwO1xuICAgIGNvbG9yOiAjNzUxNjEwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwODE4Mjk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5wcmltYXJ5OmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMwODE4Mjk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICM3NTE2MTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmZvcm0tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi53YXJuaW5nOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuZm9ybS1jb250YWluZXIgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuZm9ybS1jb250YWluZXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQ6aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5mb3JtLWNvbnRhaW5lciBidXR0b24uYWxlcnQ6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgY29sb3I6ICM3NTE2MTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5uby1nYXBzIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4wNjI1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiArIC5idXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgYnV0dG9uICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uICsgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyBidXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuZm9ybS1jb250YWluZXIgYnV0dG9uICsgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5uby1nYXBzIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5mb3JtLWNvbnRhaW5lciBidXR0b246bGFzdC1jaGlsZCwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBidXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBidXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmxhc3QtY2hpbGQsIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBidXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEwMmY1MTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnksIC5mb3JtLWNvbnRhaW5lciBidXR0b24uY2FsbG91dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxMzQyOTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMyQzM4NDM7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMTM0Mjk7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMkMzODQzOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMTAyRjUxO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzJDMzg0MzsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCq1wiOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCu1wiOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMzODQzO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyQzM4NDM7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMkMzODQzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyQzM4NDM7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyQzM4NDMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMzJweCAzMnB4IDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDMycHggMzJweDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzEwMkY1MTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMzJweCAzMnB4OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiBcIitcIjsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAk1wiOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMkMzODQzOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTAyRjUxOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTMzOTYyOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzBlMjg0NjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMxMDJGNTE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzJDMzg0MztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogM3JlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbixcbiAgLm1lbnUgLmZvcm0tY29udGFpbmVyIGJ1dHRvbixcbiAgLmZvcm0tY29udGFpbmVyIC5tZW51IGJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpbWcsXG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaSxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGksXG4gIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54eGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54eGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxMDJGNTE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxMDJGNTE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpbWcsXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaSxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMkMzODQzO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzJDMzg0MywgMCAxNHB4IDAgIzJDMzg0MztcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICMxMDJGNTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzEwMkY1MTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxMDJGNTE7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzEwMkY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzEwMkY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMxMDJGNTE7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzEwMkY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzEwMkY1MTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTAyRjUxOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzEwMkY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTAyRjUxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTAyRjUxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzEwMkY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTAyRjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzEwMkY1MTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzEwMkY1MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxMDJGNTE7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA1NiwgNjcsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMkMzODQzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4udGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtb3ZlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG92ZXJsaW5lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1saW5lLXRocm91Z2gge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhaW1wb3J0YW50OyB9XG5cbi5mb250LXdpZGUge1xuICBsZXR0ZXItc3BhY2luZzogMC4yNXJlbTsgfVxuXG4uZm9udC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5mb250LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG51bC5saXN0LWRpc2Mge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDsgfVxuXG51bC5saXN0LWNpcmNsZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlICFpbXBvcnRhbnQ7IH1cblxudWwubGlzdC1zcXVhcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZSAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtZGVjaW1hbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbCAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtbG93ZXItYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC1sb3dlci1sYXRpbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItbGF0aW4gIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LWxvd2VyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbiAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtdXBwZXItYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC11cHBlci1sYXRpbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItbGF0aW4gIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LXVwcGVyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbiAhaW1wb3J0YW50OyB9XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnJvdW5kZWQgLnN3aXRjaC1wYWRkbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50OyB9XG4gICAgLnJvdW5kZWQgLnN3aXRjaC1wYWRkbGU6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLmJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2NhY2FjYTsgfVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmFycm93LWRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICMyQzM4NDMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmFycm93LXVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMkMzODQzOyB9XG5cbi5hcnJvdy1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMkMzODQzOyB9XG5cbi5hcnJvdy1sZWZ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJDMzg0MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uc2VwYXJhdG9yLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5zZXBhcmF0b3ItY2VudGVyOjpiZWZvcmUsIC5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxMDJGNTE7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG8gMDsgfVxuXG4uc2VwYXJhdG9yLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnNlcGFyYXRvci1sZWZ0OjpiZWZvcmUsIC5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxMDJGNTE7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5zZXBhcmF0b3ItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5zZXBhcmF0b3ItcmlnaHQ6OmJlZm9yZSwgLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzEwMkY1MTtcbiAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteC12aXNpYmxlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy15LXZpc2libGUge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteC1oaWRkZW4ge1xuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteS1oaWRkZW4ge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy14LXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IHNjcm9sbCAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy15LXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbCAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS10YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cblxuLmRpc3BsYXktdGFibGUtY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1OyB9XG5cbi5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1OyB9XG5cbi5ib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi53aWR0aC0yNSB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtNTAge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLndpZHRoLTc1IHtcbiAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XG5cbi53aWR0aC0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtMjUge1xuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtNzUge1xuICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLm1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi0wIHtcbiAgbWFyZ2luOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi10b3AtMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWJvdHRvbS0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdmVydGljYWwtMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLTAge1xuICBwYWRkaW5nOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdG9wLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMCB7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi0xIHtcbiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi10b3AtMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTEge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWJvdHRvbS0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdmVydGljYWwtMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLTEge1xuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdG9wLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTEge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi0yIHtcbiAgbWFyZ2luOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi10b3AtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWJvdHRvbS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdmVydGljYWwtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLTIge1xuICBwYWRkaW5nOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdG9wLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTIge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMiB7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi0zIHtcbiAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi10b3AtMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWJvdHRvbS0zIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdmVydGljYWwtMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLTMge1xuICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdG9wLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTMge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTMge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMyB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuYm9keSB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4uc21hbGwtbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgbWF4LXdpZHRoOiAyMDBweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBNb250c2VycmF0IFdlYmZvbnQgRGVjbGFyYXRpb25zXHJcbiAgIE1pbmltYWw6IDQwMCwgNTAwLCA2MDAsIDcwMCwgbm9ybWFsIHN0eWxlIG9ubHlcclxuICAgT3B0aW1pc2VkIGZvciBwZXJmb3JtYW5jZSB3aXRoIGZvbnQtZGlzcGxheTogc3dhcFxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9mb250cy9Nb250c2VycmF0LVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvTW9udHNlcnJhdC1NZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvTW9udHNlcnJhdC1TZW1pQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9mb250cy9Nb250c2VycmF0LUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7IH1cblxuaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCwgaDUsIC5oNSwgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjsgfVxuXG5oMiB7XG4gIG1heC13aWR0aDogNTJjaDsgfVxuXG5wIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG4ubGFyZ2Uge1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1heC13aWR0aDogNTJjaDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNWVtKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluT25seSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnBiNCB7XG4gIHBhZGRpbmctYm90dG9tOiA0ZW07IH1cblxuLmdyaWQtY29udGFpbmVyLS1zbWFsbCB7XG4gIG1heC13aWR0aDogNDhyZW0gIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXItLW1lZGl1bSB7XG4gIG1heC13aWR0aDogNjRyZW0gIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXItLWZ1bGwge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5ncmlkLWNvbnRhaW5lci0tcmVkLCAuZ3JpZC1jb250YWluZXItLW1hZ2VudGEge1xuICBiYWNrZ3JvdW5kOiAjRTEzNDI5ICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQtY29udGFpbmVyLS1ncmVlbiB7XG4gIGJhY2tncm91bmQ6ICMyRkI2N0MgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXItLWJsdWUsIC5ncmlkLWNvbnRhaW5lci0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxMDJGNTEgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS0xNjAge1xuICAgIHdpZHRoOiAxNDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tMTYwIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG4uZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDsgfVxuICAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMTo6YmVmb3JlLCAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGlwLXBhdGg6IGNpcmNsZSg1MCUpO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDZweCBkb3R0ZWQgI0ZBQjAzQTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiA0MHZ3O1xuICAgIHdpZHRoOiA0MHZ3O1xuICAgIHJpZ2h0OiAtMnZ3O1xuICAgIHRvcDogLTh2dzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMTo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAxMHB4IGRvdHRlZCAjRkFCMDNBO1xuICAgICAgICBoZWlnaHQ6IDMyZW07XG4gICAgICAgIHdpZHRoOiAzMmVtO1xuICAgICAgICByaWdodDogLTh2dztcbiAgICAgICAgdG9wOiAtMnZ3OyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLS1jaXJjbGVzLTE6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoNDcsIDE4MiwgMTI0LCAwKSAwJSwgIzJmYjY3YyAxMDAlKTtcbiAgICByaWdodDogNXZ3O1xuICAgIHRvcDogNXZ3O1xuICAgIGhlaWdodDogMzJlbTtcbiAgICB3aWR0aDogMzJlbTsgfVxuICAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMS5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbjo6YmVmb3JlLCAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMS5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbjo6YWZ0ZXIge1xuICAgIGNsaXAtcGF0aDogY2lyY2xlKDAlKTtcbiAgICB0cmFuc2l0aW9uOiBjbGlwLXBhdGggMnMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpOyB9XG4gIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0xLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjZzOyB9XG4gIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0xLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZTo6YmVmb3JlLCAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMS5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbi5hY3RpdmU6OmFmdGVyIHtcbiAgICBjbGlwLXBhdGg6IGNpcmNsZSg1MCUpOyB9XG5cbi5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwOyB9XG4gIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0yOjpiZWZvcmUsIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0yOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSk7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IC0zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IC44O1xuICAgIHJpZ2h0OiAtMTVlbTtcbiAgICB0b3A6IDI1JTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMjo6YmVmb3JlLCAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDUwJTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0yOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMjUsIDUyLCA0MSwgMC41KSAwJSwgI2UxMzQyOSAxMDAlKTtcbiAgICBib3JkZXI6IDIuNWVtIHNvbGlkICMzQUE4RUY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogNDBlbTtcbiAgICB3aWR0aDogNDBlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNWVtLCAtNTAlKTsgfVxuICAuZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTAsIDE3NiwgNTgsIDAuNSkgMCUsICNmYWIwM2EgMTAwJSk7XG4gICAgYm9yZGVyOiAyLjVlbSBzb2xpZCAjMkZCNjdDO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDMwZW07XG4gICAgd2lkdGg6IDMwZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwZW0sIC01MCUpOyB9XG4gIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0yLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uOjpiZWZvcmUsIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0yLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uOjphZnRlciB7XG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoMCUpO1xuICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAycyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7IH1cbiAgLmdyaWQtY29udGFpbmVyLS1jaXJjbGVzLTIuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlOjpiZWZvcmUsIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0yLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSk7IH1cblxuLmdyaWQtY29udGFpbmVyLS1jaXJjbGVzLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7IH1cbiAgLmdyaWQtY29udGFpbmVyLS1jaXJjbGVzLTM6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogLTM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLS1jaXJjbGVzLTM6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0zOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg0NywgMTgyLCAxMjQsIDApIDAlLCAjZmFiMDNhIDEwMCUpO1xuICAgIHJpZ2h0OiAtMjB2dztcbiAgICB0b3A6IDEwdnc7XG4gICAgaGVpZ2h0OiA0OGVtO1xuICAgIHdpZHRoOiA0OGVtOyB9XG4gIC5ncmlkLWNvbnRhaW5lci0tY2lyY2xlcy0zLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uOjphZnRlciB7XG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoMCUpO1xuICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAycyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7IH1cbiAgLmdyaWQtY29udGFpbmVyLS1jaXJjbGVzLTMuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlOjphZnRlciB7XG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTsgfVxuXG4uY2VsbC0tY2lyY2xlLWJlaGluZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDsgfVxuICAuY2VsbC0tY2lyY2xlLWJlaGluZDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICBjbGlwLXBhdGg6IGNpcmNsZSg1MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTQlKTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiAtMztcbiAgICBoZWlnaHQ6IDEyMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTsgfVxuICAgIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMS8xKSB7XG4gICAgICAuY2VsbC0tY2lyY2xlLWJlaGluZDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiA3MHZoO1xuICAgICAgICB3aWR0aDogNzB2aDsgfSB9XG4gIC5jZWxsLS1jaXJjbGUtYmVoaW5kLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uOjpiZWZvcmUge1xuICAgIGNsaXAtcGF0aDogY2lyY2xlKDAlKTtcbiAgICB0cmFuc2l0aW9uOiBjbGlwLXBhdGggMnMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpOyB9XG4gIC5jZWxsLS1jaXJjbGUtYmVoaW5kLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICBjbGlwLXBhdGg6IGNpcmNsZSg1MCUpOyB9XG5cbi5jZWxsIHtcbiAgei1pbmRleDogMTsgfVxuXG4uY2VsbC0tcmljaC10ZXh0IHAge1xuICBtYXgtd2lkdGg6IDg1Y2g7IH1cblxuLmNlbGwtLXJpY2gtdGV4dCBhIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgdWwge1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuICBtYXJnaW46IDAgMCAyZW0gMmVtOyB9XG4gIC5jZWxsLS1yaWNoLXRleHQgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIG1heC13aWR0aDogNTVjaDsgfVxuICAgIC5jZWxsLS1yaWNoLXRleHQgdWwgbGkgYiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2VsbC0tcmljaC10ZXh0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi56LWluZGV4LS0yIHtcbiAgei1pbmRleDogMjsgfVxuXG4uei1pbmRleC0tMSB7XG4gIHotaW5kZXg6IDE7IH1cblxuLnotaW5kZXgtLTAge1xuICB6LWluZGV4OiAwOyB9XG5cbi56LWluZGV4LS0tMSB7XG4gIHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7IH1cblxuLnotaW5kZXgtLXZpZGVvLW1vZGFsIHtcbiAgei1pbmRleDogMTAyICFpbXBvcnRhbnQ7IH1cblxuLmNlbGwtLXZlcnRpY2FsIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY2VsbC0tdmVydGljYWwgLmNlbGw6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNlbGwtLWhvcml6b250YWwge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY2VsbC0taG9yaXpvbnRhbCAuY2VsbDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiFcclxuICogSGFtYnVyZ2Vyc1xyXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcclxuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxyXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcclxuICovXG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogMThweCAwIDEwcHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuaGFtYnVyZ2VyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgLmhhbWJ1cmdlci5pcy1hY3RpdmU6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyLFxuICAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEzNDI5OyB9XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMjFweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTEuNXB4OyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTM0Mjk7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogLTlweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtOXB4OyB9XG5cbi8qXHJcbiAgICogU2xpZGVyXHJcbiAgICovXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMS41cHg7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiA5cHg7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAxOHB4OyB9XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgOXB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC00LjU3MTQzcHgsIC02cHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMThweCwgMCkgcm90YXRlKC05MGRlZyk7IH1cblxuLnNlY3Rpb24ge1xuICBwYWRkaW5nOiA0ZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDZlbSAwOyB9IH1cbiAgLnNlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmdyaWQtY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2Utb3V0OyB9XG4gICAgLnNlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmdyaWQtY29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgLjZzOyB9XG4gICAgLnNlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmdyaWQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuc2VjdGlvbi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiAuZ3JpZC1jb250YWluZXIuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zZWN0aW9uLS1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4OyB9XG4gIC5zZWN0aW9uLS1yZWR1Y2VkIHtcbiAgICBwYWRkaW5nLXRvcDogNGVtICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXJlZHVjZWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNGVtICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2VjdGlvbi0tY29sbGFwc2Utb3ZlcnJpZGUge1xuICBwYWRkaW5nLXRvcDogM2VtICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi0tY29sbGFwc2Utb3ZlcnJpZGUge1xuICAgICAgcGFkZGluZy10b3A6IDhlbSAhaW1wb3J0YW50OyB9IH1cbiAgLnNlY3Rpb24tLWNvbGxhcHNlLW92ZXJyaWRlLnNlY3Rpb24tLWxpZ2h0LXBpbmssIC5zZWN0aW9uLS1jb2xsYXBzZS1vdmVycmlkZS5zZWN0aW9uLS1saWdodC1ibHVlLCAuc2VjdGlvbi0tY29sbGFwc2Utb3ZlcnJpZGUuc2VjdGlvbi0tbGlnaHQteWVsbG93IHtcbiAgICBwYWRkaW5nLXRvcDogNmVtICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQ6bm90KC5zZWN0aW9uLS1ncmV5KTpub3QoLnNlY3Rpb24tLW5hdnkpICsgLnNlY3Rpb24tLWN0YS1iYXIge1xuICBwYWRkaW5nLXRvcDogMmVtICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tLWN0YS1iYXIgKyAuc2VjdGlvbjpub3QoLnNlY3Rpb24tLWdyZXkpOm5vdCguc2VjdGlvbi0tbmF2eSkge1xuICBwYWRkaW5nLXRvcDogMmVtICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tLWljb24tZ3JpZC10d28tY29sOm5vdCguc2VjdGlvbi0tZ3JleSkgKyAuc2VjdGlvbi0tY3RhLWJhciB7XG4gIHBhZGRpbmctdG9wOiAyZW0gIWltcG9ydGFudDsgfVxuXG5zZWN0aW9uLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIC5ncmlkLWNvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7IH1cblxuc2VjdGlvbi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbi5hY3RpdmUgLmdyaWQtY29udGFpbmVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDNlbTtcbiAgcGFkZGluZy1ib3R0b206IDNlbTtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0ZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNGVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDZlbTsgfSB9XG4gIC5zZWN0aW9uLS1uYXZ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTAyRjUxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnNlY3Rpb24tLW5hdnkgaDEsIC5zZWN0aW9uLS1uYXZ5IGgyLCAuc2VjdGlvbi0tbmF2eSBoMywgLnNlY3Rpb24tLW5hdnkgaDQsIC5zZWN0aW9uLS1uYXZ5IGg1LCAuc2VjdGlvbi0tbmF2eSBoNiB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uc2VjdGlvbi0tY29sbGFwc2UgKyAuc2VjdGlvbi0tY29sbGFwc2UsIC5zZWN0aW9uLS1ncmV5ICsgLnNlY3Rpb24tLWdyZXkge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uc2VjdGlvbi0tZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjg7IH1cblxuLnNlY3Rpb24tLXRleHQtaGlnaGxpZ2h0LS1tYWdlbnRhIGVtIHtcbiAgY29sb3I6ICNFMTM0Mjk7IH1cblxuLnNlY3Rpb24tLXRleHQtaGlnaGxpZ2h0LS1uYXZ5IGVtIHtcbiAgY29sb3I6ICMxMDJGNTE7IH1cblxuLmNvbG91ci1vdmVycmlkZS0tY3lhbiB7XG4gIGNvbG9yOiAjM0FBOEVGICFpbXBvcnRhbnQ7IH1cblxuLmNvbG91ci1vdmVycmlkZS0tZ3JlZW4ge1xuICBjb2xvcjogIzJGQjY3QyAhaW1wb3J0YW50OyB9XG5cbi5jb2xvdXItb3ZlcnJpZGUtLW1hZ2VudGEge1xuICBjb2xvcjogI0UxMzQyOSAhaW1wb3J0YW50OyB9XG5cbi5jb2xvdXItb3ZlcnJpZGUtLW5hdnkge1xuICBjb2xvcjogIzEwMkY1MSAhaW1wb3J0YW50OyB9XG5cbi5jb2xvdXItb3ZlcnJpZGUtLXllbGxvdyB7XG4gIGNvbG9yOiAjRkFCMDNBICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tLXB1bGwtdXAge1xuICBtYXJnaW4tdG9wOiAtMmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXB1bGwtdXAge1xuICAgICAgbWFyZ2luLXRvcDogLTVlbTsgfSB9XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyZW07IH0gfVxuICAuaGVhZGVyIC5sb2dvLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTZweDtcbiAgICBoZWlnaHQ6IDk2cHg7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXIgLmxvZ28tbGluayB7XG4gICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmhlYWRlciAubG9nby1saW5rIHtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICBoZWlnaHQ6IDE2MHB4OyB9IH1cbiAgLmhlYWRlciAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiAxOThweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyIC5sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyODJweDsgfSB9XG5cbiNuYXZiYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICB3aWR0aDogY2FsYygxMDB2dyAtICgxMDB2dyAtIDEwMCUpKTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3M7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1haW4tLWZ1bGwtd2lkdGgge1xuICAgIHRvcDogMTU3cHggICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogdG9wIC4xcyBlYXNlLW91dDsgfVxuICAgIC5tYWluLS1mdWxsLXdpZHRoLmxpZnQge1xuICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4uZHJvcGRvd24tYXJyb3csIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhIHtcbiAgcGFkZGluZy1yaWdodDogMS40cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmRyb3Bkb3duLWFycm93OjphZnRlciwgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IC42ZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogLjZlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jaGV2cm9uLWRvd24uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLjVlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24tcGFyZW50LCAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1haW4tbWVudSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogLjVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYWluLW1lbnUgdWwge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7IH1cbiAgICAgIC5tYWluLW1lbnUgdWw6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgICAgLm1haW4tbWVudSB1bDpmaXJzdC1jaGlsZCA+IGxpIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgICAgICAubWFpbi1tZW51IHVsOmZpcnN0LWNoaWxkID4gbGkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH0gfVxuICAubWFpbi1tZW51IGxpLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMzAwO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEzNDI5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbmltYXRpb246IGZhZGVJbiAuM3Mgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYWluLW1lbnUgbGkuaXMtYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICBib3R0b206IC0xZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1haW4tbWVudSBhOm5vdCguYnV0dG9uKSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIGVhc2Utb3V0IC4zcztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWFpbi1tZW51IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuMjVlbSkge1xuICAgICAgLm1haW4tbWVudSBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5tYWluLW1lbnUgYTpub3QoLmJ1dHRvbikuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMTAyRjUxOyB9XG4gICAgLm1haW4tbWVudSBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICBjb2xvcjogIzEwMkY1MTsgfVxuICAubWFpbi1tZW51IC5idXR0b24sIC5tYWluLW1lbnUgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5tYWluLW1lbnUgYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5tYWluLW1lbnUgLmJ1dHRvbjpob3ZlciwgLm1haW4tbWVudSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLm1haW4tbWVudSBidXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1haW4tbWVudSBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTsgfVxuICAgIC5tYWluLW1lbnUgbGkgYS5idXR0b246bm90KC5jbGVhcikge1xuICAgICAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAxZW0gMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm1haW4tbWVudSBsaSBhLmJ1dHRvbjpub3QoLmNsZWFyKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAubWFpbi1tZW51IGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAubWFpbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5Pbmx5IC4xcztcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1haW4tbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAtMjtcbiAgICAgICAgbWFyZ2luOiAwIC0yZW07XG4gICAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDE3MHB4O1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAzZW0gMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgICAubWFpbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSA+ICoge1xuICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluIC4ycyBub3JtYWwgZm9yd2FyZHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLm1haW4tbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwMCU7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDZweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDQpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIC5tYWluLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwOHB4KSB7XG4gICAgICAubWFpbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlLW91dCAuMTVzOyB9XG4gICAgICAgIC5tYWluLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIGxpOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCAxNjgsIDIzOSwgMC4xKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgICAubWFpbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7IH0gfVxuICAgIC5tYWluLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIGxpIGEge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgICAgIC5tYWluLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIGxpIGE6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAubWFpbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSBsaSBhIGRpdltyb2xlPXRpdGxlXSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbSAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIC5tYWluLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIGxpIGEgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6ICM4YThhOGE7IH1cbiAgLm1haW4tbWVudS5zaG93LW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5tYWluLW1lbnUuc2hvdy1tZW51IHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubWFpbi1tZW51LnNob3ctbWVudSB1bCBsaSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAubWFpbi1tZW51LnNob3ctbWVudSB1bCBsaSBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAuNWVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWVudS0tZmVhdHVyZSBhLm1lbnVfX2NhcmQtbGluayB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5tZW51LS1mZWF0dXJlIGEubWVudV9fY2FyZC1saW5rIC5jYXJkX19hcnJvdyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpOyB9XG4gIC5tZW51LS1mZWF0dXJlIGEubWVudV9fY2FyZC1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5tZW51LS1mZWF0dXJlIGEubWVudV9fY2FyZC1saW5rOmhvdmVyIC5jYXJkX19hcnJvdyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMmVtKTsgfVxuXG4ubWVudS0tZmVhdHVyZSBhOm5vdCgubWVudV9fZXh0cmEtYSkubWVudV9fY2FyZC1saW5rIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5tZW51LS1mZWF0dXJlIGE6bm90KC5tZW51X19leHRyYS1hKS5tZW51X19jYXJkLWxpbms6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LS1mZWF0dXJlIC5tZW51X19kZXRhaWxzIHtcbiAgbWFyZ2luOiAxZW07XG4gIHBhZGRpbmc6IDFlbSAxLjRlbSAxLjRlbTtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGNsaXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS0tZmVhdHVyZSAubWVudV9fZGV0YWlscyB7XG4gICAgICBtYXJnaW46IDMuNWVtIDFlbSAxZW07XG4gICAgICBwYWRkaW5nOiAxZW0gMi41ZW0gMmVtOyB9IH1cblxuLm1lbnUtLWZlYXR1cmUgLm1lbnVfX2ltYWdlIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1lbnUtLWZlYXR1cmUgLm1lbnVfX2ltYWdlLWNvdmVyIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG1heC13aWR0aDogaW5pdGlhbDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGFzcGVjdC1yYXRpbzogNSAvIDQ7XG4gIG1hcmdpbjogLTFlbSAtMS41ZW0gMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDIuOGVtKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS0tZmVhdHVyZSAubWVudV9faW1hZ2UtY292ZXIge1xuICAgICAgbWFyZ2luOiAtMWVtIC0yLjVlbSAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDVlbSk7IH0gfVxuXG4ubWVudS0tZmVhdHVyZSAubWVudV9fdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUtLWZlYXR1cmUgLm1lbnVfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMmVtIDAgMWVtOyB9IH1cblxuLm1lbnUtLWZlYXR1cmUgLm1lbnVfX3N1YnRpdGxlIHtcbiAgY29sb3I6ICMxMDJGNTE7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5tZW51LS1mZWF0dXJlIC5tZW51X19kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LS1mZWF0dXJlIC5tZW51X19kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMWVtIDAgMDtcbiAgICAgIG1heC13aWR0aDogNDRjaDsgfSB9XG5cbi5tZW51LS1mZWF0dXJlIC5tZW51X19idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LS1mZWF0dXJlIC5tZW51X19idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7IH0gfVxuICAubWVudS0tZmVhdHVyZSAubWVudV9fYnV0dG9uOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZW51X19pdGVtcyB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51X19pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgICBncmlkLWF1dG8tY29sdW1uczogMWZyOyB9IH1cbiAgLm1lbnVfX2l0ZW1zIC5tZW51X19pdGVtLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayB7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayBwIHtcbiAgICAgIG1hcmdpbjogMC44ZW0gMCAwIDA7XG4gICAgICBjb2xvcjogI0UxMzQyOTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayBiciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1lbnVfX2l0ZW1zIC5tZW51X19pdGVtLWJsb2NrIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxZW0gMS40ZW07XG4gICAgICBtYXJnaW46IDFlbSAwO1xuICAgICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayB1bCB7XG4gICAgICAgICAgcGFkZGluZzogMS40ZW0gMmVtO1xuICAgICAgICAgIG1hcmdpbjogMWVtIDA7IH0gfVxuICAgICAgLm1lbnVfX2l0ZW1zIC5tZW51X19pdGVtLWJsb2NrIHVsIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAuMmVtICAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLm1lbnVfX2l0ZW1zIC5tZW51X19pdGVtLWJsb2NrIHVsIGxpIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHBhZGRpbmc6IC41ZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgICAgbWFyZ2luOiAtMC4yZW0gMDsgfVxuICAgICAgICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMTAyRjUxICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAubWVudV9faXRlbXMgLm1lbnVfX2l0ZW0tYmxvY2sgdWwgbGkgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayB1bCBsaSAuYnV0dG9uLCAubWVudV9faXRlbXMgLm1lbnVfX2l0ZW0tYmxvY2sgdWwgbGkgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayB1bCBsaSBidXR0b24ge1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgICAgLm1lbnVfX2l0ZW1zIC5tZW51X19pdGVtLWJsb2NrIHVsIGxpIC5idXR0b246aG92ZXIsIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jayB1bCBsaSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLm1lbnVfX2l0ZW1zIC5tZW51X19pdGVtLWJsb2NrIHVsIGxpIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5tZW51X19pdGVtcyAubWVudV9faXRlbS1ibG9jazpudGgtb2YtdHlwZSgxbikgdWwge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg1OCwgMTY4LCAyMzksIDAuMSk7IH1cbiAgICAubWVudV9faXRlbXMgLm1lbnVfX2l0ZW0tYmxvY2s6bnRoLW9mLXR5cGUoMm4pIHVsIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDcsIDE4MiwgMTI0LCAwLjEpOyB9XG4gICAgLm1lbnVfX2l0ZW1zIC5tZW51X19pdGVtLWJsb2NrOm50aC1vZi10eXBlKDNuKSB1bCB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMTc2LCA1OCwgMC4xKTsgfVxuXG4ubWVudV9fZXh0cmEtY3RhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZW51X19leHRyYS1jdGEtdGl0bGUge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5tZW51X19leHRyYS1hIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAuOGVtIDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnVfX2V4dHJhLWEge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLm1lbnVfX2V4dHJhLWEge1xuICAgIGNvbG9yOiAjRTEzNDI5ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVudV9fZXh0cmEtYTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudV9fZXh0cmEtYS10ZWwge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH0gfVxuXG4ubWVudV9fc3ViLWhlYWRpbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5tYWluLXNlY29uZGFyeS1tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAubWFpbi1zZWNvbmRhcnktbWVudSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5tYWluLXNlY29uZGFyeS1tZW51IHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgICAubWFpbi1zZWNvbmRhcnktbWVudSB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5tYWluLXNlY29uZGFyeS1tZW51IHVsIGxpLmhhcy1kcm9wZG93biBhOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiAnPic7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtOyB9XG4gIC5tYWluLXNlY29uZGFyeS1tZW51X19uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1haW4tc2Vjb25kYXJ5LW1lbnVfX25hdiAuZHJvcGRvd24tcGFuZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgei1pbmRleDogMTAwMDsgfVxuICAubWFpbi1zZWNvbmRhcnktbWVudV9faW5mbywgLm1haW4tc2Vjb25kYXJ5LW1lbnVfX2NvbnRyb2xzIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNzA3MDcwO1xuICAgIG1hcmdpbi1yaWdodDogMS41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07IH1cbiAgLm1haW4tc2Vjb25kYXJ5LW1lbnVfX2NvbnRyb2xzIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWFpbi1zZWNvbmRhcnktbWVudV9fYnRuLXByaWNpbmcgLmJ1dHRvbiwgLm1haW4tc2Vjb25kYXJ5LW1lbnVfX2J0bi1wcmljaW5nIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAubWFpbi1zZWNvbmRhcnktbWVudV9fYnRuLXByaWNpbmcgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tZW51LS1taW5vciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzMnB4IDMycHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCA2cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5tZW51LS1taW5vciAubWVudV9fc3VidGl0bGUge1xuICAgIGNvbG9yOiAjMTAyRjUxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1lbnUtLW1pbm9yIC5tZW51X19mbGFnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgIG1heC13aWR0aDogMjVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51LS1taW5vciAubWVudV9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAubWVudS0tbWlub3IgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTkuMnB4O1xuICAgIHBhZGRpbmc6IDEuMmVtIDJlbSAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlLW91dCAuMTVzOyB9XG4gICAgLm1lbnUtLW1pbm9yIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgMTY4LCAyMzksIDAuMSk7IH1cblxuLm1lbnUtLXN0cmV0Y2gge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLm1lbnUtLXN0cmV0Y2ggbGkge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW51LS1uZXN0bGUge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDJlbTsgfSB9XG5cbi5tZW51LS1uZXN0bGUgbGkge1xuICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAubWVudS0tbmVzdGxlIGxpIGEuYnV0dG9uIHtcbiAgICBtYXJnaW46IC40ZW0gMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tZW51LS1uZXN0bGUgbGkgYS5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDFlbSAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUtLWJ1dHRvbnMge1xuICAgIGdhcDogLjVlbTsgfSB9XG5cbi5tZW51LS1idXR0b25zIGxpIHtcbiAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cblxuLmJ1dHRvbi0tbWVudSB7XG4gIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi0tbWVudTpob3ZlciwgLmJ1dHRvbi0tbWVudTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMxODQ4N2MgIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLS1tZW51OjphZnRlciB7XG4gICAgZmlsdGVyOiBpbnZlcnQoODglKSBzZXBpYSgxOSUpIHNhdHVyYXRlKDAlKSBodWUtcm90YXRlKDEyOWRlZykgYnJpZ2h0bmVzcygxMTQlKSBjb250cmFzdCgxMDElKTsgfVxuXG4ubWFpbi1tZW51IGxpIGEuYnV0dG9uLS1tZW51Om5vdCguY2xlYXIpIHtcbiAgcGFkZGluZzogMC44NWVtIDFlbSAhaW1wb3J0YW50O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhLmJ1dHRvbi0tbWVudSB7XG4gIGJhY2tncm91bmQ6ICMxMDJGNTEgIWltcG9ydGFudDsgfVxuICAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEuYnV0dG9uLS1tZW51OmhvdmVyLCAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEuYnV0dG9uLS1tZW51OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzE4NDg3YyAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4OyB9XG4gIC5zZWN0aW9uLS1mb290ZXIuc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ubWVudS0tZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDVlbTsgfVxuICAubWVudS0tZm9vdGVyIGEge1xuICAgIHBhZGRpbmc6IC41ZW0gMDtcbiAgICBmb250LXNpemU6IC44ZW07XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tZW51LS1mb290ZXIgYSB7XG4gICAgICAgIG1hcmdpbjogMCAyLjVlbSAwIDA7IH0gfVxuICAgIC5tZW51LS1mb290ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAubWVudS0tZm9vdGVyIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubWVudS0tZm9vdGVyIGxpLnF1YXJ0ZXIge1xuICAgICAgICB3aWR0aDogMjAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1lbnUtLWZvb3RlciBsaS5oYWxmIHtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG5cbi5tZW51LS1mb290ZXItc3ViIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS0tZm9vdGVyLXN1YiBsaS5hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAubWVudS0tZm9vdGVyLXN1YiBsaS5zaGltLW1nLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lbnUtLWZvb3Rlci1zdWIgYSB7XG4gICAgcGFkZGluZzogMC40cmVtIDA7XG4gICAgZm9udC1zaXplOiAuOGVtOyB9XG5cbi5mb290ZXJfX3RpdGxlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAxZW0gMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAuNWVtIDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX3RpdGxlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9IH1cblxuLmZvb3Rlcl9fc3ViLXRpdGxlIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC41ZW0gMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmZvb3Rlcl9fbG9nbyB7XG4gIHdpZHRoOiAxNzBweDsgfVxuXG4uZm9vdGVyX19zbWFsbCB7XG4gIGZvbnQtc2l6ZTogLjhlbTsgfVxuXG4uZm9vdGVyX19zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlcl9fc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAzZW07IH0gfVxuICAuZm9vdGVyX19zZWN0aW9uLS1uby1tZy10b3Age1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmZvb3Rlcl9fc3ByZWFkLXBhcnRzIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDFlbTsgfVxuICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgYW5kIChub3QgKHRyYW5zbGF0ZTogbm9uZSkpIHtcbiAgICAuZm9vdGVyX19zcHJlYWQtcGFydHMgPiAqIHtcbiAgICAgIG1hcmdpbjogMCAwIDFlbSAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX3NwcmVhZC1wYXJ0cyB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi5mb290ZXJfX3RpdGxlLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5mb290ZXJfX2J1dHRvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuZm9vdGVyX19zb2NpYWwtaWNvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG5cbi5mb290ZXJfX3NvY2lhbC1pY29ucyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuZm9vdGVyX19zb2NpYWwtaWNvbnMgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMmVtOyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsLWljb25zIHVsIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgYmFja2dyb3VuZDogIzEwMkY1MTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDFlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmZvb3Rlcl9fY29weXJpZ2h0IC5mb290ZXJfX3NtYWxsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5mb290ZXJfX2NvcHlyaWdodCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5mb290ZXJfX2NvcHlyaWdodCB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMmVtOyB9XG4gICAgICAuZm9vdGVyX19jb3B5cmlnaHQgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuZm9vdGVyX19jb3B5cmlnaHQgdWwgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tYXNvbnJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4OyB9IH1cblxuLm1hc29ucnktLXNoaW0ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hc29ucnktLXNoaW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubWFzb25yeS1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzb25yeS1pdGVtIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfSB9XG5cbi5zaG93LW1lbnUtLWZhbHNlIC5ncmlkLWNvbnRhaW5lci0tZm9vdGVyLW1lbnUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tLWNhcmRzIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBjbGlwOyB9XG5cbi5zZWN0aW9uLS1jYXJkcy1mZWF0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGNsaXA7XG4gIG92ZXJmbG93LXk6IHZpc2libGU7IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2FyZCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC8gMyAtIDNlbSk7XG4gICAgICBtYXgtd2lkdGg6IDM2OHB4OyB9IH1cbiAgLmNhcmQtLWZsdWlkIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FyZC0tZmx1aWQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7IH0gfVxuICAuY2FyZC0tcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDlweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuY2FyZC0taG9yaXpvbnRhbCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FyZC0taG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuY2FyZC0taG9yaXpvbnRhbCA+ICoge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuY2FyZC0tcG9zdCB7XG4gICAgcGFkZGluZzogMCAxZW07IH1cbiAgICAuY2FyZC0tcG9zdCAuY2FyZF9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAyZW0gMCAxZW0gIWltcG9ydGFudDsgfVxuICAuY2FyZC0tdHdvLWdyaWQge1xuICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgZmxleDogMCAwIDgwJTtcbiAgICB3aWR0aDogODAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FyZC0tdHdvLWdyaWQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDNlbSk7IH0gfVxuICAuY2FyZC0tYmx1ZSAuY2FyZF9fc3VidGl0bGUsIC5jYXJkLS1jeWFuIC5jYXJkX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICMzQUE4RUY7IH1cbiAgLmNhcmQtLWJsdWUgLmNhcmRfX3JlYWQtdGltZTo6YmVmb3JlLCAuY2FyZC0tY3lhbiAuY2FyZF9fcmVhZC10aW1lOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjM0FBOEVGOyB9XG4gIC5jYXJkLS1ncmVlbiAuY2FyZF9fc3VidGl0bGUge1xuICAgIGNvbG9yOiAjMkZCNjdDOyB9XG4gIC5jYXJkLS1ncmVlbiAuY2FyZF9fcmVhZC10aW1lOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMkZCNjdDOyB9XG4gIC5jYXJkLS1yZWQgLmNhcmRfX3N1YnRpdGxlLCAuY2FyZC0tbWFnZW50YSAuY2FyZF9fc3VidGl0bGUge1xuICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5jYXJkLS1yZWQgLmNhcmRfX3JlYWQtdGltZTo6YmVmb3JlLCAuY2FyZC0tbWFnZW50YSAuY2FyZF9fcmVhZC10aW1lOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5jYXJkLS15ZWxsb3cgLmNhcmRfX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogI0ZBQjAzQTsgfVxuICAuY2FyZC0teWVsbG93IC5jYXJkX19yZWFkLXRpbWU6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNGQUIwM0E7IH1cbiAgLmNhcmRfX2xpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAuODA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7IH1cbiAgICAuY2FyZF9fbGluazpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmNhcmRfX3NlY3Rpb24ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAxLjVlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FyZF9fc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDJlbSAzZW07IH0gfVxuICAuY2FyZF9fc2VjdGlvbi0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MTIxRTtcbiAgICBtYXJnaW46IDFlbTtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMWVtIDAgMCAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogMWVtIDFlbSAwIDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDE1ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmRfX3NlY3Rpb24tLWRhcmsge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxZW0gMCAwIDFlbTsgfSB9XG4gIC5jYXJkX19zZWN0aW9uLS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIG1hcmdpbjogMWVtO1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxZW0gMWVtIDAgMDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgbWluLWhlaWdodDogMTVlbTsgfVxuICAuY2FyZF9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jYXJkX19mb290ZXItc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMS41ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmRfX2Zvb3Rlci1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMmVtIDNlbTsgfSB9XG4gICAgLmNhcmRfX2Zvb3Rlci1zZWN0aW9uIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDI2cHg7IH1cbiAgLmNhcmRfX3JlYWQtdGltZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDIyJztcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhcmRfX2ltYWdlLS1yYWRpdXMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAuNWVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDIyLjg1NzE0cHggMjIuODU3MTRweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FyZF9faW1hZ2UtLXJhZGl1cyB7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDE2cHggMTZweDsgfSB9XG4gIC5jYXJkX19pbWFnZS0tNDMge1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIC5jYXJkX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuOGVtO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuICAuY2FyZF9fdGl0bGUtLXdoaXRlIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FyZF9fdGl0bGUtLXVuZGVybGluZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNhcmRfX3RpdGxlLS11bmRlcmxpbmU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0UxMzQyOSAwJSwgIzNBQThFRiAxMDAlKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAxZW0gMDsgfVxuICAuY2FyZC0tdGl0bGUtdW5kZXJsaW5lLWNvbG91ci1zd2l0Y2g6bnRoLW9mLXR5cGUoMW4pIC5jYXJkX190aXRsZS0tdW5kZXJsaW5lOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjRTEzNDI5IDAlLCAjM0FBOEVGIDEwMCUpOyB9XG4gIC5jYXJkLS10aXRsZS11bmRlcmxpbmUtY29sb3VyLXN3aXRjaDpudGgtb2YtdHlwZSgybikgLmNhcmRfX3RpdGxlLS11bmRlcmxpbmU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM0FBOEVGOyB9XG4gIC5jYXJkLS10aXRsZS11bmRlcmxpbmUtY29sb3VyLXN3aXRjaDpudGgtb2YtdHlwZSgzbikgLmNhcmRfX3RpdGxlLS11bmRlcmxpbmU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMkZCNjdDOyB9XG4gIC5jYXJkLS10aXRsZS11bmRlcmxpbmUtY29sb3VyLXN3aXRjaDpudGgtb2YtdHlwZSg0bikgLmNhcmRfX3RpdGxlLS11bmRlcmxpbmU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5OyB9XG4gIC5jYXJkX19zdXJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIG1hcmdpbi10b3A6IC0xZW07IH1cbiAgICAuY2FyZF9fc3VydGl0bGUtLXJlZCB7XG4gICAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAuY2FyZF9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IC41ZW07IH1cbiAgLmNhcmRfX3N5bm9wc2lzIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5jYXJkX19zeW5vcHNpcy0td2hpdGUge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jYXJkX19hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jYXJkX19kYXRlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMyRkI2N0M7IH1cbiAgLmNhcmRfX2xvZ28ge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogMzJweCAzMnB4IDMycHggMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgdG9wOiAtOTVweDtcbiAgICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY2FyZF9fbG9nby1pbWFnZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gIC5jYXJkX19hcnJvdyB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1nL2dyZWVuLWFycm93LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50OyB9XG4gIC5jYXJkX190ZXh0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM0N0I0N0I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNhcmRfX3RleHQtbGluazo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvZ3JlZW4tY2hldnJvbi1yaWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7IH1cbiAgICAuY2FyZF9fdGV4dC1saW5rOmhvdmVyOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMWVtKTsgfVxuICAuY2FyZF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMmVtOyB9XG4gIC5jYXJkIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jYXJkIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuICAgICAgLmNhcmQgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL2ltZy9ncmVlbi10aWNrLnN2Z1wiKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgICAuY2FyZCB1bCBsaSBiIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcmQgYSwgYS5jYXJkIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmNhcmQgYSAuY2FyZF9fYXJyb3csIGEuY2FyZCAuY2FyZF9fYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTsgfVxuICAuY2FyZCBhOmhvdmVyLCBhLmNhcmQ6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmNhcmQgYTpob3ZlciAuY2FyZF9fYXJyb3csIGEuY2FyZDpob3ZlciAuY2FyZF9fYXJyb3cge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJlbSk7IH1cblxuLmNhcmQgYSB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyB9XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIGFuZCAobm90ICh0cmFuc2xhdGU6IG5vbmUpKSB7XG4gICAgLmNhcmQtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgIG1hcmdpbjogMWVtOyB9IH1cbiAgLmNhcmQtY29udGFpbmVyLS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMWVtIDA7IH1cblxuLmNhcmQtc2Nyb2xsZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNhcmQtc2Nyb2xsZXIgLmNhcmQge1xuICAgIGZsZXg6IDAgMCA4MCU7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAuY2FyZC1zY3JvbGxlcl9fc3RhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gICAgc2Nyb2xsLXBhZGRpbmc6IDFlbTtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtICgxMDB2dyAtIDEwMCUpKTtcbiAgICBnYXA6IDJlbTtcbiAgICBtYXJnaW46IDAgMCAyZW0gMDsgfVxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCAodHJhbnNsYXRlOiBub25lKSkge1xuICAgICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luOiAxZW07IH0gfVxuICAgIC5jYXJkLXNjcm9sbGVyX19zdGFnZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgaGVpZ2h0OiAxMnB4OyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBib3JkZXItcmFkaXVzOiA5MnB4OyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTAyRjUxOyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX3N0YWdlLS1sb2NrZWQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5jYXJkLXNjcm9sbGVyX19zdGFnZS0tbG9ja2VkOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5jYXJkLXNjcm9sbGVyX19oYW5kbGVzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJkLXNjcm9sbGVyX19oYW5kbGVzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7IH0gfVxuICAgIC5jYXJkLXNjcm9sbGVyX19oYW5kbGVzLS1sb2NrZWQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY2FyZC1zY3JvbGxlcl9fcHJldiwgLmNhcmQtc2Nyb2xsZXJfX25leHQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgaGVpZ2h0OiA2ZW07XG4gICAgd2lkdGg6IDNlbTtcbiAgICB0cmFuc2l0aW9uOiAuM3MgYWxsIGVhc2Utb3V0OyB9XG4gIC5jYXJkLXNjcm9sbGVyX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY2FyZC1zY3JvbGxlcl9fcHJldiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxNjBweCAxNjBweCAwO1xuICAgIHBhZGRpbmctbGVmdDogMC42ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjVlbSk7IH1cbiAgICAuY2FyZC1zY3JvbGxlcl9fcHJldjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgLmNhcmQtc2Nyb2xsZXJfX25leHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDE2MHB4IDAgMCAxNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pOyB9XG4gICAgLmNhcmQtc2Nyb2xsZXJfX25leHQ6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5jYXJkLWNvbnRhaW5lci11c2UtY2FzZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBwYWRkaW5nOiAyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWluLWhlaWdodDogNTQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2Uge1xuICAgICAgcGFkZGluZzogNGVtOyB9IH1cbiAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlIGE6Zm9jdXMsIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZSBhOmFjdGl2ZSwgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlIGE6YWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UgLmNhcmQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS0tbGFyZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA2ZW07IH1cbiAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxhcmdlIC5zdmctZ2F0b3ItYWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDUxOXB4O1xuICAgICAgYm90dG9tOiAtNzBweDtcbiAgICAgIHJpZ2h0OiAtNzBweDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxhcmdlIC5zdmctZ2F0b3ItYWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgICBib3R0b206IC0zNXB4O1xuICAgICAgICAgIHJpZ2h0OiAtMzVweDsgfSB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1sYXJnZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiAxOTBweDtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGxlZnQ6IC03NXB4O1xuICAgICAgYmFja2dyb3VuZDogIzJGQjY3QztcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAxczsgfVxuICAgIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS0tbGFyZ2UgLmNhcmRfX2xvZ28ge1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgIHRvcDogLTk1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMnB4IDMycHggMzJweCAwOyB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1sYXJnZSAuY2FyZF9fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07IH1cbiAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1zbWFsbCwgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1saXN0aW5nIHtcbiAgICBwYWRkaW5nOiAyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1zbWFsbCwgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1saXN0aW5nIHtcbiAgICAgICAgcGFkZGluZzogMmVtO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfSB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1zbWFsbCAuY2FyZCwgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1saXN0aW5nIC5jYXJkIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY2FyZC1jb250YWluZXItdXNlLWNhc2UtLWxpc3Rpbmcge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDIuNWVtIDFlbTsgfVxuICAgIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS0tbGlzdGluZyAuY2FyZF9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlLS1saXN0aW5nIC5jYXJkX19pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICAgIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS0tbGlzdGluZyAuY2FyZF9faW1hZ2UgaW1nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzJweCAzMnB4IDMycHggMDsgfVxuICAgIC5jYXJkLWNvbnRhaW5lci11c2UtY2FzZS0tbGlzdGluZyAuY2FyZF9fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY2FyZC1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDJlbSAwO1xuICBnYXA6IDJlbTtcbiAgbWFyZ2luOiAwIDAgMmVtIDA7IH1cbiAgLmNhcmQtZ3JpZCAuY2FyZCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY2FyZC1ncmlkIC5jYXJkLCAuY2FyZC1ncmlkIC5hc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYXJkLWdyaWQgLmNhcmQsIC5jYXJkLWdyaWQgLmFzaWRlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAoMTAwJSAvIDIpIC0gMS41ZW0pO1xuICAgICAgICBmbGV4OiAwIDAgODAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmQtZ3JpZCAuY2FyZCwgLmNhcmQtZ3JpZCAuYXNpZGUge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoICgxMDAlIC8gMykgLSAxLjVlbSk7IH0gfVxuXG4ucmV2ZWFsLXZpZGVvIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogMmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgdHJhbnNpdGlvbjogYWxsIDEuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDI7IH1cbiAgLnJldmVhbC12aWRlby5vcGVuIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0byAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAxLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuNXM7IH1cbiAgLnJldmVhbC12aWRlbyAuY2xvc2UtYnV0dG9uIHtcbiAgICB0b3A6IC0xZW07XG4gICAgcmlnaHQ6IC0wLjVlbTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ucmV2ZWFsLXZpZGVvX19wYWNrYWdpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGFzcGVjdC1yYXRpbzogMTYgLyA5OyB9XG4gIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYvOSkge1xuICAgIC5yZXZlYWwtdmlkZW9fX3BhY2thZ2luZyB7XG4gICAgICBoZWlnaHQ6IDU2JTsgfSB9XG5cbi5yZXZlYWwtdmlkZW9fX2lmcmFtZSB7XG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93OiBjbGlwO1xuICBwYWRkaW5nLXRvcDogN2VtICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyg2ZW0gKyAxMjVweCkgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmhlcm8gb2JqZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmhlcm8tLWJncm91bmQtd2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmhlcm8tLWJvcmRlci1ib3R0b20tbWFnZW50YTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggI0UxMzQyOTtcbiAgICBhbmltYXRpb246IGJvcmRlcl9hbmltIDMuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7IH1cblxuQGtleWZyYW1lcyBib3JkZXJfYW5pbSB7XG4gIDAlIHtcbiAgICB3aWR0aDogMCU7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZXJvLS1jZW50ZXJlZC10ZXh0LnNlY3Rpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEzZW07IH0gfVxuICAuaGVyby0tcmVkdWNlZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uaGVyb19fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMWVtOyB9XG4gIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCAodHJhbnNsYXRlOiBub25lKSkge1xuICAgIC5oZXJvX19jb250ZW50ID4gKiB7XG4gICAgICBtYXJnaW46IDAgMCAxZW0gMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhlcm9fX2ltYWdlLXNwbGl0LS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDExMCU7IH0gfVxuXG4uaGVyb19faDEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBtYXJnaW4tYm90dG9tOiAuMmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX2gxIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTsgfSB9XG4gIC5oZXJvX19oMSBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC4yZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlcm9fX2gxIGgxIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtOyB9IH1cbiAgLmhlcm9fX2gxIGg1IHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMyRkI2N0M7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVyb19faDEge1xuICAgICAgZm9udC1zaXplOiA1MHB4OyB9IH1cblxuLmhlcm9fX2gxLS1iaWcgaDEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBjb2xvcjogIzEwMkY1MTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZXJvX19oMS0tYmlnIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuaGVyb19faDEtLWJpZyBoMSBpLCAuaGVyb19faDEtLWJpZyBoMSBlbSwgLmhlcm9fX2gxLS1iaWcgaDEgc3BhbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMTAyRjUxOyB9XG5cbi5oZXJvX19oMS0tc2VtaWJvbGQgaDEge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5oZXJvX19oMiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICBmb250LXNpemU6IDIycHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVyb19faDIge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMmNoOyB9IH1cbiAgLmhlcm9fX2gyLS1ibHVlLCAuaGVyb19faDItLWN5YW4ge1xuICAgIGNvbG9yOiAjM0FBOEVGOyB9XG4gIC5oZXJvX19oMi0tZ3JlZW4ge1xuICAgIGNvbG9yOiAjMkZCNjdDOyB9XG4gIC5oZXJvX19oMi0tcmVkLCAuaGVyb19faDItLW1hZ2VudGEge1xuICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5oZXJvX19oMi0teWVsbG93IHtcbiAgICBjb2xvcjogI0ZBQjAzQTsgfVxuXG4uaGVyb19faDMge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX2gzIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIG1heC13aWR0aDogMjJjaDsgfSB9XG5cbi5oZXJvX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMmVtOyB9IH1cbiAgLmhlcm9fX2Rlc2NyaXB0aW9uIGEge1xuICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5oZXJvX19kZXNjcmlwdGlvbi0tY2VudGVyZWQge1xuICAgIG1heC13aWR0aDogNzJjaDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuaGVyb19fZGVzY3JpcHRpb24tLWZ1bGwtd2lkdGgge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5oZXJvX19kZXNjcmlwdGlvbi0tZnVsbC13aWR0aCBwIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuaGVyb19fZGVzY3JpcHRpb24gYTpub3QoW2hyZWZePVwibWFpbHRvOlwiXSkge1xuICAgIGNvbG9yOiAjRTEzNDI5ICFpbXBvcnRhbnQ7IH1cblxuLmhlcm9fX2Rlc2NyaXB0aW9uLS1iaWcge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgZm9udC1zaXplOiAyMnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX2Rlc2NyaXB0aW9uLS1iaWcge1xuICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cblxuLmhlcm9fX2ljb24ge1xuICBtYXgtd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaGVyb19fYnV0dG9uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oZXJvX19sb2dvIHtcbiAgbWF4LXdpZHRoOiAxNjBweDsgfVxuXG4uaGVyb19fYXJ0aWNsZS1pbmZvIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5oZXJvX19hcnRpY2xlLWluZm8gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5oZXJvX19hcnRpY2xlLWluZm8gbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG4gICAgLmhlcm9fX2FydGljbGUtaW5mbyBsaS51cGRhdGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC41ZW07IH1cbiAgICAuaGVyb19fYXJ0aWNsZS1pbmZvIGxpLnJlYWQtdGltZSB7XG4gICAgICBjb2xvcjogI0ZBQjAzQTsgfVxuICAgICAgLmhlcm9fX2FydGljbGUtaW5mbyBsaS5yZWFkLXRpbWU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcMjAyMic7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgIGNvbG9yOiAjRkFCMDNBOyB9XG4gIC5oZXJvX19hcnRpY2xlLWluZm8tLWJsdWUgbGkucmVhZC10aW1lLCAuaGVyb19fYXJ0aWNsZS1pbmZvLS1jeWFuIGxpLnJlYWQtdGltZSB7XG4gICAgY29sb3I6ICMzQUE4RUY7IH1cbiAgICAuaGVyb19fYXJ0aWNsZS1pbmZvLS1ibHVlIGxpLnJlYWQtdGltZTpiZWZvcmUsIC5oZXJvX19hcnRpY2xlLWluZm8tLWN5YW4gbGkucmVhZC10aW1lOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzNBQThFRjsgfVxuICAuaGVyb19fYXJ0aWNsZS1pbmZvLS1ncmVlbiBsaS5yZWFkLXRpbWUge1xuICAgIGNvbG9yOiAjMkZCNjdDOyB9XG4gICAgLmhlcm9fX2FydGljbGUtaW5mby0tZ3JlZW4gbGkucmVhZC10aW1lOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzJGQjY3QzsgfVxuICAuaGVyb19fYXJ0aWNsZS1pbmZvLS1yZWQgbGkucmVhZC10aW1lLCAuaGVyb19fYXJ0aWNsZS1pbmZvLS1tYWdlbnRhIGxpLnJlYWQtdGltZSB7XG4gICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgICAuaGVyb19fYXJ0aWNsZS1pbmZvLS1yZWQgbGkucmVhZC10aW1lOmJlZm9yZSwgLmhlcm9fX2FydGljbGUtaW5mby0tbWFnZW50YSBsaS5yZWFkLXRpbWU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG5cbi5oZXJvLS1jYXNlLXN0dWR5IHtcbiAgbWluLWhlaWdodDogNzUwcHg7XG4gIG1heC13aWR0aDogMjU2MHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVyby0tY2FzZS1zdHVkeSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmhlcm8tLWNhc2Utc3R1ZHkge1xuICAgICAgbWluLWhlaWdodDogNTAwcHg7IH0gfVxuICAuaGVyby0tY2FzZS1zdHVkeSAuZ3JpZC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmhlcm8tLWNhc2Utc3R1ZHkgLmNhcmQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5oZXJvLS1jYXNlLXN0dWR5LS1taW5pbWFsIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaGVyby0tY2FzZS1zdHVkeS0tbWluaW1hbCAuY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDZlbTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIC5oZXJvLS1jYXNlLXN0dWR5LS1taW5pbWFsIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNGVtOyB9IH1cbiAgICAuaGVyby0tY2FzZS1zdHVkeS0tbWluaW1hbCAuY2FyZCAuc3ZnLWdhdG9yLWFuaW1hdGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgIGxlZnQ6IC01MHB4O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmhlcm8tLWNhc2Utc3R1ZHktLW1pbmltYWwgLmNhcmQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTI1cHg7XG4gICAgICByaWdodDogLTI1cHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogIzEwMkY1MTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMycHggMzJweCAzMnB4IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gNHMgZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDFzOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmhlcm8tLWNhc2Utc3R1ZHktLW1pbmltYWwgLmNhcmRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuaGVyby0tY2FzZS1zdHVkeS0tbWluaW1hbCAuY2FyZF9fc3lub3BzaXMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZXJvLS1jYXNlLXN0dWR5LS1taW5pbWFsIC5jYXJkX19zZWN0aW9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gICAgLmhlcm8tLWNhc2Utc3R1ZHktLW1pbmltYWwgLmNhcmRfX2xvZ28taW1hZ2Uge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5oZXJvLS1yZXNvdXJjZXMge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjU2MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmhlcm8tLXJlc291cmNlcyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZXJvLS1yZXNvdXJjZXMge1xuICAgICAgcGFkZGluZy10b3A6IDEyMnB4O1xuICAgICAgbWluLWhlaWdodDogNzUwcHg7IH0gfVxuICAuaGVyby0tcmVzb3VyY2VzX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlcm8tLXJlc291cmNlc19faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLmhlcm8tLXJlc291cmNlc19faW1hZ2Uge1xuICAgICAgICBtaW4taGVpZ2h0OiAyNzVweDsgfSB9XG4gIC5oZXJvLS1yZXNvdXJjZXNfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMDYxMjFFO1xuICAgIHBhZGRpbmc6IDJlbSAxZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlcm8tLXJlc291cmNlc19fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNWVtOyB9IH1cbiAgICAuaGVyby0tcmVzb3VyY2VzX19jb250ZW50LWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAgIC5oZXJvLS1yZXNvdXJjZXNfX2NvbnRlbnQtaW5uZXIgLmhlcm9fX2gxLCAuaGVyby0tcmVzb3VyY2VzX19jb250ZW50LWlubmVyIC5oZXJvX19oMiwgLmhlcm8tLXJlc291cmNlc19fY29udGVudC1pbm5lciAuaGVyb19fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsgfVxuICAgICAgLmhlcm8tLXJlc291cmNlc19fY29udGVudC1pbm5lciAuaGVyb19faDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAgIC5oZXJvLS1yZXNvdXJjZXNfX2NvbnRlbnQtaW5uZXIgLmhlcm9fX2gyIHtcbiAgICAgICAgY29sb3I6ICNGQUIwM0E7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtOyB9XG4gICAgICAuaGVyby0tcmVzb3VyY2VzX19jb250ZW50LWlubmVyIC5oZXJvX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAuaGVyby0tcmVzb3VyY2VzLWVudHJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC5oZXJvLS1yZXNvdXJjZXMtZW50cnkgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuICAgIC5oZXJvLS1yZXNvdXJjZXMtZW50cnkgLmhlcm9fX2gxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVyby0tcmVzb3VyY2VzLWVudHJ5IC5oZXJvX19oMSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtOyB9IH1cbiAgICAuaGVyby0tcmVzb3VyY2VzLWVudHJ5IC5oZXJvX19oMiB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07IH1cbiAgICAuaGVyby0tcmVzb3VyY2VzLWVudHJ5IC5oZXJvX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWF4LXdpZHRoOiA1MmNoOyB9XG4gICAgLmhlcm8tLXJlc291cmNlcy1lbnRyeSAuaGVyb19fYXJ0aWNsZS1pbmZvIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmhlcm8tLXJlc291cmNlcy1lbnRyeS0tYmx1ZTphZnRlciwgLmhlcm8tLXJlc291cmNlcy1lbnRyeS0tY3lhbjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM0FBOEVGO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NCwgMjU0LCAyNTQsIDApIDAlLCAjM2FhOGVmIDEwMCUpOyB9XG4gICAgLmhlcm8tLXJlc291cmNlcy1lbnRyeS0tZ3JlZW46YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzJGQjY3QztcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTQsIDI1NCwgMjU0LCAwKSAwJSwgIzJmYjY3YyAxMDAlKTsgfVxuICAgIC5oZXJvLS1yZXNvdXJjZXMtZW50cnktLXJlZDphZnRlciwgLmhlcm8tLXJlc291cmNlcy1lbnRyeS0tbWFnZW50YTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NCwgMjU0LCAyNTQsIDApIDAlLCAjZTEzNDI5IDEwMCUpOyB9XG4gICAgLmhlcm8tLXJlc291cmNlcy1lbnRyeS0teWVsbG93OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGQUIwM0E7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCkgMCUsICNmYWIwM2EgMTAwJSk7IH1cblxuLmhlcm8gLmJyZWFkY3J1bWItLWN5YW4ge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzNBQThFRjsgfVxuICAuaGVybyAuYnJlYWRjcnVtYi0tY3lhbiBhIHtcbiAgICBjb2xvcjogIzNBQThFRjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5oZXJvIC5icmVhZGNydW1iLS1jeWFuIGE6aG92ZXIsIC5oZXJvIC5icmVhZGNydW1iLS1jeWFuIGE6Zm9jdXMsIC5oZXJvIC5icmVhZGNydW1iLS1jeWFuIGE6YWN0aXZlOmhvdmVyLCAuaGVybyAuYnJlYWRjcnVtYi0tY3lhbiBhIGE6YWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjM0FBOEVGO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5oZXJvIC5icmVhZGNydW1iLS1ncmVlbiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMkZCNjdDOyB9XG4gIC5oZXJvIC5icmVhZGNydW1iLS1ncmVlbiBhIHtcbiAgICBjb2xvcjogIzJGQjY3QztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5oZXJvIC5icmVhZGNydW1iLS1ncmVlbiBhOmhvdmVyLCAuaGVybyAuYnJlYWRjcnVtYi0tZ3JlZW4gYTpmb2N1cywgLmhlcm8gLmJyZWFkY3J1bWItLWdyZWVuIGE6YWN0aXZlOmhvdmVyLCAuaGVybyAuYnJlYWRjcnVtYi0tZ3JlZW4gYSBhOmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzJGQjY3QztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uaGVybyAuYnJlYWRjcnVtYi0tbWFnZW50YSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5oZXJvIC5icmVhZGNydW1iLS1tYWdlbnRhIGEge1xuICAgIGNvbG9yOiAjRTEzNDI5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmhlcm8gLmJyZWFkY3J1bWItLW1hZ2VudGEgYTpob3ZlciwgLmhlcm8gLmJyZWFkY3J1bWItLW1hZ2VudGEgYTpmb2N1cywgLmhlcm8gLmJyZWFkY3J1bWItLW1hZ2VudGEgYTphY3RpdmU6aG92ZXIsIC5oZXJvIC5icmVhZGNydW1iLS1tYWdlbnRhIGEgYTphY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6ICNFMTM0Mjk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmhlcm8gLmJyZWFkY3J1bWItLXllbGxvdyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjRkFCMDNBOyB9XG4gIC5oZXJvIC5icmVhZGNydW1iLS15ZWxsb3cgYSB7XG4gICAgY29sb3I6ICNGQUIwM0E7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuaGVybyAuYnJlYWRjcnVtYi0teWVsbG93IGE6aG92ZXIsIC5oZXJvIC5icmVhZGNydW1iLS15ZWxsb3cgYTpmb2N1cywgLmhlcm8gLmJyZWFkY3J1bWItLXllbGxvdyBhOmFjdGl2ZTpob3ZlciwgLmhlcm8gLmJyZWFkY3J1bWItLXllbGxvdyBhIGE6YWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjRkFCMDNBO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wb3N0Y29kZS1zZWFyY2gge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLnBvc3Rjb2RlLXNlYXJjaCBmb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBvc3Rjb2RlLXNlYXJjaF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgcGFkZGluZzogMS41ZW07IH1cbiAgLnBvc3Rjb2RlLXNlYXJjaF9fYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH1cbiAgICAucG9zdGNvZGUtc2VhcmNoX19idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAucG9zdGNvZGUtc2VhcmNoX19idXR0b24taW1hZ2Uge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4ubmV3c2xldHRlci1mb3JtIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IGF1dG87IH1cbiAgLm5ld3NsZXR0ZXItZm9ybSBmb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm5ld3NsZXR0ZXItZm9ybV9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgcGFkZGluZzogMS41ZW0gNmVtIDEuNWVtIDEuNWVtOyB9XG4gIC5uZXdzbGV0dGVyLWZvcm1fX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IDRlbTtcbiAgbWFyZ2luLXRvcDogLjVlbTsgfVxuXG5zZWxlY3Qge1xuICBtaW4taGVpZ2h0OiAyZW07XG4gIG1hcmdpbi10b3A6IC41ZW07IH1cblxubGFiZWwge1xuICBib3JkZXItYm90dG9tOiAuNWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgbWFyZ2luOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB3aWR0aDogMS4xNWVtO1xuICBoZWlnaHQ6IDEuMTVlbTtcbiAgYm9yZGVyOiAwLjE1ZW0gc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwLjE1ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4wNzVlbSk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogNnB4ICFpbXBvcnRhbnQ7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMC42NWVtO1xuICBoZWlnaHQ6IDAuNjVlbTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDE0JSA0NCUsIDAgNjUlLCA1MCUgMTAwJSwgMTAwJSAxNiUsIDgwJSAwJSwgNDMlIDYyJSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICB0cmFuc2l0aW9uOiAxMjBtcyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFlbSAxZW0gdmFyKC0tZm9ybS1jb250cm9sLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQ2FudmFzVGV4dDtcbiAgdG9wOiAuMjVlbTtcbiAgbGVmdDogLjI1ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICBvdXRsaW5lOiAwLjE1ZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBvdXRsaW5lLW9mZnNldDogMC4xNWVtOyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCB7XG4gIC0tZm9ybS1jb250cm9sLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgY29sb3I6ICNGOEY4Rjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNoZWNrYm94LWNvbHVtbnMge1xuICBjb2x1bW5zOiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNoZWNrYm94LWNvbHVtbnMge1xuICAgICAgY29sdW1uczogMjsgfSB9XG5cbi5jaGVja2JveC1jb2x1bW5zX19jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2hlY2tib3gtY29sdW1uc19fY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVlbTsgfVxuICAuY2hlY2tib3gtY29sdW1uc19fY2hlY2tib3ggW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCwgLmNoZWNrYm94LWNvbHVtbnNfX2NoZWNrYm94IFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjhlbTsgfVxuXG4uY2hlY2tib3gtY29sdW1uc19fbGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uZm9ybS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBtYXJnaW46IC40ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgYm94LXNoYWRvdzogMCA2cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvcm0tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMmVtO1xuICAgICAgcGFkZGluZzogNGVtOyB9IH1cbiAgLmZvcm0tY29udGFpbmVyLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5lcnJvcnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAxZW07IH1cbiAgLmVycm9ycyBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxMzQyOTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogMC42ZW07XG4gICAgZm9udC1zaXplOiAuOGVtOyB9XG5cbi5mb3JtLXJlc2V0IGxhYmVsLCAuZm9ybS1yZXNldCBpbnB1dCwgLmZvcm0tcmVzZXQgdGV4dGFyZWEsIC5mb3JtLXJlc2V0IHNlbGVjdCwgLmZvcm0tcmVzZXQgYnV0dG9uLCAuZm9ybS1yZXNldCAub25Gb3JtU3VibWl0dGVkRmVlZGJhY2tNZXNzYWdlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsgfVxuXG4uZm9ybS1yZXNldCAub25Gb3JtU3VibWl0dGVkRmVlZGJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlc2V0IHRhYmxlIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uZm9ybS1yZXNldCB0YWJsZS5tdWx0aSAudGV4dEZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCB0YWJsZS5tdWx0aSAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgdGFibGUubXVsdGkgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCB0YWJsZS5tdWx0aSAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IHRhYmxlLm11bHRpIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCB0YWJsZS5tdWx0aSAubG9va3VwRm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IC50ZXh0Rm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IC5vcHRpb25TZXRGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IC5sb29rdXBGb3JtRmllbGRCbG9jayB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uZm9ybS1yZXNldCB0aCB7XG4gIHBhZGRpbmc6IDNweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAlICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0tcmVzZXQgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIHNlbGVjdCwgLmZvcm0tcmVzZXQgLnRleHRGb3JtRmllbGRCbG9jayBpbnB1dCwgLmZvcm0tcmVzZXQgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2sgaW5wdXQsIC5mb3JtLXJlc2V0IC5sb29rdXBGb3JtRmllbGRCbG9jayBpbnB1dCwgLmZvcm0tcmVzZXQgLm1hcmtldGluZ0Zvcm0gdGV4dGFyZWEsIC5mb3JtLXJlc2V0IGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIkNhcHRjaGFcIl0gaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggMTZweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmZvcm0tcmVzZXQgLnRleHRGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2ssIC5mb3JtLXJlc2V0IC50d29PcHRpb25Gb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAuZm9ybS1yZXNldCAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jaywgLmZvcm0tcmVzZXQgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIHtcbiAgZ2FwOiA0cHg7IH1cblxuLmZvcm0tcmVzZXQgLmNvbnNlbnRCbG9jayB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uZm9ybS1yZXNldCBkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJTdWJtaXRCdXR0b25cIl0ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0tcmVzZXQgLnN1Ym1pdEJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZvcm0tcmVzZXQgZGl2W2RhdGEtY2FjaGVkLWZvcm0tdXJsXSBidXR0b24uc3VibWl0QnV0dG9uIHtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UxMzQyOSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0OyB9XG4gIC5mb3JtLXJlc2V0IGRpdltkYXRhLWNhY2hlZC1mb3JtLXVybF0gYnV0dG9uLnN1Ym1pdEJ1dHRvbjpob3ZlciwgLmZvcm0tcmVzZXQgZGl2W2RhdGEtY2FjaGVkLWZvcm0tdXJsXSBidXR0b24uc3VibWl0QnV0dG9uOmFjdGl2ZSwgLmZvcm0tcmVzZXQgZGl2W2RhdGEtY2FjaGVkLWZvcm0tdXJsXSBidXR0b24uc3VibWl0QnV0dG9uOmFmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwMWMxNCAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlc2V0LS1yZXZlcnNlIC5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFja01lc3NhZ2Uge1xuICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJlc2V0LS1yZXZlcnNlIGxhYmVsIHtcbiAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuXG4udGV4dEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlciwgLnR3b29wdGlvbl9jaGVja2JveCBsYWJlbDo6YWZ0ZXIsIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlciwgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlciwgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsOjphZnRlciwgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi50d29vcHRpb25fY2hlY2tib3ggbGFiZWw6OmFmdGVyLCAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLCAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsIC5jb25zZW50QmxvY2sgbGFiZWw6OmFmdGVyLCAuZXZlbnRTZXNzaW9uIGxhYmVsOjphZnRlciwgZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBsYWJlbFtpZF49XCJ3bHNwaXNwSGlwSW5zdHJ1Y3Rpb25Db250YWluZXJcIl06OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiNpdWJlbmRhLWNzLWJhbm5lciAuaXViZW5kYS1ncmFudWxhci1jb250cm9scy1jb250YWluZXIgLmdyYW51bGFyLWNvbnRyb2wtY2hlY2tib3ggaW5wdXQuc3R5bGUxOmNoZWNrZWQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZy1yZWNhcHRjaGEge1xuICBwYWRkaW5nLXRvcDogMjVweDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU2RjZGO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMzJweCAzMnB4IDAgMzJweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogNWVtIDA7XG4gIHBhZGRpbmc6IDNlbSA1ZW0gM2VtIDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZzogM2VtIDhlbSAzZW0gNGVtOyB9IH1cbiAgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogJ1xcMDIwMUMnO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtc2l6ZTogMTQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDIwMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwcHg7IH0gfVxuICBibG9ja3F1b3RlIGNpdGUge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgYmxvY2txdW90ZSBjaXRlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4udGFicy1zZWN0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yZW07XG4gIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG5cbi50YWJzLXRpdGxlIGEge1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XG4gIG1hcmdpbi1ib3R0b206IC41ZW07IH1cbiAgLnRhYnMtdGl0bGUgYTpmb2N1cywgLnRhYnMtdGl0bGUgYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRhYnMtdGl0bGUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4udGFicy1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGFicy1wYW5lbDphZnRlciwgLnRhYnMtcGFuZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC50YWJzLXBhbmVsOmJlZm9yZSB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGhlaWdodDogMTkwcHg7XG4gICAgdG9wOiA1MHB4O1xuICAgIGxlZnQ6IC03NXB4O1xuICAgIGJhY2tncm91bmQ6ICMyRkI2N0M7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDFzOyB9XG4gIC50YWJzLXBhbmVsIC5zdmctZ2F0b3ItYWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNTE5cHg7XG4gICAgYm90dG9tOiAtNzBweDtcbiAgICByaWdodDogLTcwcHg7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLnRhYnMtcGFuZWwgLnN2Zy1nYXRvci1hZnRlciB7XG4gICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgYm90dG9tOiAtMzVweDtcbiAgICAgICAgcmlnaHQ6IC0zNXB4OyB9IH1cbiAgLnRhYnMtcGFuZWwgLmJ1dHRvbiwgLnRhYnMtcGFuZWwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC50YWJzLXBhbmVsIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzMnB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyB9XG4gIC50YWJzLXBhbmVsIC5jYXJkIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gICAgLnRhYnMtcGFuZWwgLmNhcmRfX3RpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRhYnMtcGFuZWwtLWNhcmQge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLXBhbmVsLS1jYXJkIC5jYXJkIHtcbiAgICBtYXgtd2lkdGg6IDM2OHB4OyB9XG5cbi5idXR0b24sIC5mb3JtLWNvbnRhaW5lciBidXR0b24ge1xuICBwYWRkaW5nOiAxZW0gMS41ZW07IH1cbiAgLmJ1dHRvbjphY3RpdmUsIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlLCAuYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmFjdGl2ZTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbjphY3RpdmU6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwODIwM2E7IH1cbiAgLmJ1dHRvbi0tZ3JlZW4sIC5idXR0b24udGhpcmRseSwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi50aGlyZGx5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMkZCNjdDOyB9XG4gICAgLmJ1dHRvbi0tZ3JlZW46aG92ZXIsIC5idXR0b24udGhpcmRseTpob3ZlciwgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi50aGlyZGx5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNTZGNkY7IH1cbiAgICAuYnV0dG9uLS1ncmVlbjphY3RpdmUsIC5idXR0b24tLWdyZWVuOmZvY3VzLCAuYnV0dG9uLS1ncmVlbjphY3RpdmU6Zm9jdXMsIC5idXR0b24udGhpcmRseTphY3RpdmUsIC5mb3JtLWNvbnRhaW5lciBidXR0b24udGhpcmRseTphY3RpdmUsIC5idXR0b24udGhpcmRseTpmb2N1cywgLmZvcm0tY29udGFpbmVyIGJ1dHRvbi50aGlyZGx5OmZvY3VzLCAuYnV0dG9uLnRoaXJkbHk6YWN0aXZlOmZvY3VzLCAuZm9ybS1jb250YWluZXIgYnV0dG9uLnRoaXJkbHk6YWN0aXZlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNTZGNkY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1tYWdlbnRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5OyB9XG4gICAgLmJ1dHRvbi0tbWFnZW50YTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5OyB9XG4gICAgLmJ1dHRvbi0tbWFnZW50YTphY3RpdmUsIC5idXR0b24tLW1hZ2VudGE6Zm9jdXMsIC5idXR0b24tLW1hZ2VudGE6YWN0aXZlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNFMTM0Mjk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS1jeWFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjM0FBOEVGOyB9XG4gICAgLmJ1dHRvbi0tY3lhbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM0FBOEVGOyB9XG4gICAgLmJ1dHRvbi0tY3lhbjphY3RpdmUsIC5idXR0b24tLWN5YW46Zm9jdXMsIC5idXR0b24tLWN5YW46YWN0aXZlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzQUE4RUY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLS13aGl0ZS1ib3JkZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tLXdoaXRlLWJvcmRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMyk7IH1cbiAgICAuYnV0dG9uLS13aGl0ZS1ib3JkZXI6YWN0aXZlLCAuYnV0dG9uLS13aGl0ZS1ib3JkZXI6Zm9jdXMsIC5idXR0b24tLXdoaXRlLWJvcmRlcjphY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMyk7IH1cbiAgLmJ1dHRvbi0tY2VudGVyIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5idXR0b24tLW5hdnktYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxMDJGNTE7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cbiAgICAuYnV0dG9uLS1uYXZ5LWJvcmRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTAyRjUxO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLS1uYXZ5LWJvcmRlcjphY3RpdmUsIC5idXR0b24tLW5hdnktYm9yZGVyOmZvY3VzLCAuYnV0dG9uLS1uYXZ5LWJvcmRlcjphY3RpdmU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzEwMkY1MTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tLWN5YW4tYm9yZGVyLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tY3lhbiAuYnV0dG9uLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tY3lhbiAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWN5YW4gYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzQUE4RUY7XG4gICAgY29sb3I6ICMzQUE4RUY7IH1cbiAgICAuYnV0dG9uLS1jeWFuLWJvcmRlcjpob3ZlciwgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWN5YW4gLmJ1dHRvbjpob3ZlciwgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWN5YW4gLmZvcm0tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLmZvcm0tY29udGFpbmVyIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1jeWFuIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM0FBOEVGO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLS1jeWFuLWJvcmRlcjphY3RpdmUsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1jeWFuIC5idXR0b246YWN0aXZlLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tY3lhbiAuZm9ybS1jb250YWluZXIgYnV0dG9uOmFjdGl2ZSwgLmZvcm0tY29udGFpbmVyIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1jeWFuIGJ1dHRvbjphY3RpdmUsIC5idXR0b24tLWN5YW4tYm9yZGVyOmZvY3VzLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tY3lhbiAuYnV0dG9uOmZvY3VzLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tY3lhbiAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWN5YW4gYnV0dG9uOmZvY3VzLCAuYnV0dG9uLS1jeWFuLWJvcmRlcjphY3RpdmU6Zm9jdXMsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1jeWFuIC5idXR0b246YWN0aXZlOmZvY3VzLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tY3lhbiAuZm9ybS1jb250YWluZXIgYnV0dG9uOmFjdGl2ZTpmb2N1cywgLmZvcm0tY29udGFpbmVyIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1jeWFuIGJ1dHRvbjphY3RpdmU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzNBQThFRjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tLWdyZWVuLWJvcmRlciwgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIC5idXR0b24sIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1ncmVlbiAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMkZCNjdDO1xuICAgIGNvbG9yOiAjMkZCNjdDOyB9XG4gICAgLmJ1dHRvbi0tZ3JlZW4tYm9yZGVyOmhvdmVyLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tZ3JlZW4gLmJ1dHRvbjpob3ZlciwgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIC5mb3JtLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5mb3JtLWNvbnRhaW5lciAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tZ3JlZW4gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyRkI2N0M7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tLWdyZWVuLWJvcmRlcjphY3RpdmUsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1ncmVlbiAuYnV0dG9uOmFjdGl2ZSwgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIGJ1dHRvbjphY3RpdmUsIC5idXR0b24tLWdyZWVuLWJvcmRlcjpmb2N1cywgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIC5idXR0b246Zm9jdXMsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1ncmVlbiAuZm9ybS1jb250YWluZXIgYnV0dG9uOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIGJ1dHRvbjpmb2N1cywgLmJ1dHRvbi0tZ3JlZW4tYm9yZGVyOmFjdGl2ZTpmb2N1cywgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLWdyZWVuIC5idXR0b246YWN0aXZlOmZvY3VzLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tZ3JlZW4gLmZvcm0tY29udGFpbmVyIGJ1dHRvbjphY3RpdmU6Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tZ3JlZW4gYnV0dG9uOmFjdGl2ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMkZCNjdDO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi0tbWFnZW50YS1ib3JkZXIsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1tYWdlbnRhIC5idXR0b24sIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1tYWdlbnRhIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tbWFnZW50YSBidXR0b24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0UxMzQyOTtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAgIC5idXR0b24tLW1hZ2VudGEtYm9yZGVyOmhvdmVyLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tbWFnZW50YSAuYnV0dG9uOmhvdmVyLCAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tbWFnZW50YSAuZm9ybS1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLW1hZ2VudGEgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNFMTM0Mjk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tLW1hZ2VudGEtYm9yZGVyOmFjdGl2ZSwgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLW1hZ2VudGEgLmJ1dHRvbjphY3RpdmUsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1tYWdlbnRhIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLW1hZ2VudGEgYnV0dG9uOmFjdGl2ZSwgLmJ1dHRvbi0tbWFnZW50YS1ib3JkZXI6Zm9jdXMsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1tYWdlbnRhIC5idXR0b246Zm9jdXMsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1tYWdlbnRhIC5mb3JtLWNvbnRhaW5lciBidXR0b246Zm9jdXMsIC5mb3JtLWNvbnRhaW5lciAuc2VjdGlvbi0tY29udGVudC1zcGxpdC0tbWFnZW50YSBidXR0b246Zm9jdXMsIC5idXR0b24tLW1hZ2VudGEtYm9yZGVyOmFjdGl2ZTpmb2N1cywgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLW1hZ2VudGEgLmJ1dHRvbjphY3RpdmU6Zm9jdXMsIC5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1tYWdlbnRhIC5mb3JtLWNvbnRhaW5lciBidXR0b246YWN0aXZlOmZvY3VzLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLW1hZ2VudGEgYnV0dG9uOmFjdGl2ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi0tYXJyb3csIC5idXR0b24tLWFycm93LWdyZWVuLCAuYnV0dG9uLS1hcnJvdy1tYWdlbnRhLCAuaGVyb19fZGVzY3JpcHRpb24gYTpub3QoW2hyZWZePVwibWFpbHRvOlwiXSksIC5jb250YWN0LWRldGFpbC1zZWN0aW9uIGEge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItcmFkaXVzOiA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgcGFkZGluZzogMi4yZW0gMi40ZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tLWFycm93IGIsIC5idXR0b24tLWFycm93LWdyZWVuIGIsIC5idXR0b24tLWFycm93LW1hZ2VudGEgYiwgLmhlcm9fX2Rlc2NyaXB0aW9uIGE6bm90KFtocmVmXj1cIm1haWx0bzpcIl0pIGIsIC5jb250YWN0LWRldGFpbC1zZWN0aW9uIGEgYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAuYnV0dG9uLS1hcnJvdzo6YWZ0ZXIsIC5idXR0b24tLWFycm93LWdyZWVuOjphZnRlciwgLmJ1dHRvbi0tYXJyb3ctbWFnZW50YTo6YWZ0ZXIsIC5oZXJvX19kZXNjcmlwdGlvbiBhOm5vdChbaHJlZl49XCJtYWlsdG86XCJdKTo6YWZ0ZXIsIC5jb250YWN0LWRldGFpbC1zZWN0aW9uIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3doaXRlLWFycm93LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpOyB9XG4gIC5idXR0b24tLWFycm93OmhvdmVyLCAuYnV0dG9uLS1hcnJvdy1ncmVlbjpob3ZlciwgLmJ1dHRvbi0tYXJyb3ctbWFnZW50YTpob3ZlciwgLmhlcm9fX2Rlc2NyaXB0aW9uIGE6aG92ZXI6bm90KFtocmVmXj1cIm1haWx0bzpcIl0pLCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24tLWFycm93OmhvdmVyOjphZnRlciwgLmJ1dHRvbi0tYXJyb3ctZ3JlZW46aG92ZXI6OmFmdGVyLCAuYnV0dG9uLS1hcnJvdy1tYWdlbnRhOmhvdmVyOjphZnRlciwgLmhlcm9fX2Rlc2NyaXB0aW9uIGE6bm90KFtocmVmXj1cIm1haWx0bzpcIl0pOmhvdmVyOjphZnRlciwgLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24gYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJlbSk7IH1cblxuLmJ1dHRvbi0tYXJyb3ctZ3JlZW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMkZCNjdDOyB9XG4gIC5idXR0b24tLWFycm93LWdyZWVuOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2dyZWVuLWFycm93LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5idXR0b24tLWFycm93LWdyZWVuOmhvdmVyIHtcbiAgICBjb2xvcjogIzJGQjY3QzsgfVxuXG4uYnV0dG9uLS1hcnJvdy1tYWdlbnRhLCAuaGVyb19fZGVzY3JpcHRpb24gYTpub3QoW2hyZWZePVwibWFpbHRvOlwiXSksIC5jb250YWN0LWRldGFpbC1zZWN0aW9uIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5idXR0b24tLWFycm93LW1hZ2VudGE6OmFmdGVyLCAuaGVyb19fZGVzY3JpcHRpb24gYTpub3QoW2hyZWZePVwibWFpbHRvOlwiXSk6OmFmdGVyLCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiBhOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL21hZ2VudGEtY2hldnJvbi1yaWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEuMmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEuMmVtICFpbXBvcnRhbnQ7IH1cbiAgLmJ1dHRvbi0tYXJyb3ctbWFnZW50YTpob3ZlciwgLmhlcm9fX2Rlc2NyaXB0aW9uIGE6aG92ZXI6bm90KFtocmVmXj1cIm1haWx0bzpcIl0pLCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuXG4uYnV0dG9uLS1wdWxsLXVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5idXR0b24gKyAuYnV0dG9uLCAuZm9ybS1jb250YWluZXIgYnV0dG9uICsgLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5idXR0b24gKyBidXR0b24sIC5mb3JtLWNvbnRhaW5lciBidXR0b24gKyBidXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH0gfVxuXG5wICsgLmJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIHAgKyBidXR0b24ge1xuICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmJ1dHRvbi0tZGMge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjRyZW0gIWltcG9ydGFudDsgfVxuICAuYnV0dG9uLS1kYzphY3RpdmUsIC5idXR0b24tLWRjOnZpc2l0ZWQsIC5idXR0b24tLWRjOmZvY3VzLCAuYnV0dG9uLS1kYzphY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tLWRjOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAuNmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IC42ZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvd2hpdGUtY2hldnJvbi1kb3duLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsgfVxuICAuYnV0dG9uLS1kY1thcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl06OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5zZWN0aW9uLS1hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAyRjUxO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MDAlIGNlbnRlciwgMCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jbHVzdGVyLWJsdWUtYW5kLXBpZWNlcy5zdmdcIik7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24tLWFjY29yZGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAlIGNlbnRlciwgMCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH0gfVxuICAuc2VjdGlvbi0tYWNjb3JkaW9uIGgyIHtcbiAgICBjb2xvcjogI0RDRDNDODtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmFjY29yZGlvbi0tcmV2ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYWNjb3JkaW9uLS1yZXZlcnNlIC5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCwgLmFjY29yZGlvbi0tcmV2ZXJzZSAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLS1yZXZlcnNlIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC5hY2NvcmRpb24tLXJldmVyc2UgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICNEQ0QzQzg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNCk7XG4gICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gICAgLmFjY29yZGlvbi0tcmV2ZXJzZSAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLS1yZXZlcnNlIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmFjY29yZGlvbi0tcmV2ZXJzZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4ubG9nby13YWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogM2VtIDA7IH1cbiAgLmxvZ28td2FsbF9fbG9nby1jb250YWluZXIge1xuICAgIG1hcmdpbjogMWVtO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgcGxhY2Utc2VsZjogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYygzMyUgLSAzZW0pOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sb2dvLXdhbGxfX2xvZ28tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM2VtKTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sb2dvLXdhbGxfX2xvZ28tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gM2VtKTsgfSB9XG4gIC5sb2dvLXdhbGxfX2xvZ28ge1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmJyZWFkY3J1bWJzX19jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDcycHg7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6ICNFMTM0Mjk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5icmVhZGNydW1ic19fY29udGFpbmVyIHtcbiAgICAgIHRvcDogMTc1cHg7IH0gfVxuICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciAuYnJlYWRjcnVtYnMge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIC5icmVhZGNydW1ic19fY29udGFpbmVyIC5icmVhZGNydW1icyBsaSBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC44KTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2Utb3V0OyB9XG4gICAgICAgIC5icmVhZGNydW1ic19fY29udGFpbmVyIC5icmVhZGNydW1icyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5icmVhZGNydW1ic19fY29udGFpbmVyIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjMTAyRjUxO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gICAgICAuYnJlYWRjcnVtYnNfX2NvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGk6bnRoLWxhc3QtY2hpbGQoMik6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNGQUIwM0E7IH1cbiAgICAgIC5icmVhZGNydW1ic19fY29udGFpbmVyIC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cblxuLnNlYXJjaC1tb2JpbGUge1xuICBwYWRkaW5nOiAuOGVtO1xuICBtYXJnaW4tcmlnaHQ6IC44ZW07IH1cbiAgLnNlYXJjaC1tb2JpbGUgLmZhIHtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cblxuaHRtbCwgYm9keSB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmEsIGE6YWN0aXZlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2Utb3V0OyB9XG4gIGE6aG92ZXIsIGE6YWN0aXZlOmhvdmVyIHtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxMDJGNTE7IH1cbiAgaDE6ZW1wdHksIC5oMTplbXB0eSwgaDI6ZW1wdHksIC5oMjplbXB0eSwgaDM6ZW1wdHksIC5oMzplbXB0eSwgaDQ6ZW1wdHksIC5oNDplbXB0eSwgaDU6ZW1wdHksIC5oNTplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5oMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1IHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmh4X19tYjAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oeF9fbXQxIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbmgzLCAuaDMge1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmgxIGksIGgxIGVtLCBoMSBzcGFuLCAuaDEgaSwgLmgxIGVtLCAuaDEgc3BhbiwgaDIgaSwgaDIgZW0sIGgyIHNwYW4sIC5oMiBpLCAuaDIgZW0sIC5oMiBzcGFuLCBoMyBpLCBoMyBlbSwgaDMgc3BhbiwgLmgzIGksIC5oMyBlbSwgLmgzIHNwYW4ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNFMTM0Mjk7IH1cblxuLmhlYWRpbmctLWdyZWVuIHtcbiAgY29sb3I6ICMyRkI2N0M7IH1cbiAgLmhlYWRpbmctLWdyZWVuIGEge1xuICAgIGNvbG9yOiAjMkZCNjdDOyB9XG5cbi5oZWFkaW5nLS1kYXJrLWdyZWVuIHtcbiAgY29sb3I6ICMzNTZGNkY7IH1cbiAgLmhlYWRpbmctLWRhcmstZ3JlZW4gYSB7XG4gICAgY29sb3I6ICMzNTZGNkY7IH1cblxuLmhlYWRpbmctLWN5YW4sIC5oZWFkaW5nLS1ibHVlIHtcbiAgY29sb3I6ICMzQUE4RUY7IH1cbiAgLmhlYWRpbmctLWN5YW4gYSwgLmhlYWRpbmctLWJsdWUgYSB7XG4gICAgY29sb3I6ICMzQUE4RUY7IH1cblxuLmhlYWRpbmctLW1hZ2VudGEsIC5oZWFkaW5nLS1yZWQge1xuICBjb2xvcjogI0UxMzQyOTsgfVxuICAuaGVhZGluZy0tbWFnZW50YSBhLCAuaGVhZGluZy0tcmVkIGEge1xuICAgIGNvbG9yOiAjRTEzNDI5OyB9XG5cbi5oZWFkaW5nLS1uYXZ5IHtcbiAgY29sb3I6ICMxMDJGNTE7IH1cbiAgLmhlYWRpbmctLW5hdnkgYSB7XG4gICAgY29sb3I6ICMxMDJGNTE7IH1cblxuLmhlYWRpbmctLXllbGxvdyB7XG4gIGNvbG9yOiAjRkFCMDNBOyB9XG4gIC5oZWFkaW5nLS15ZWxsb3cgYSB7XG4gICAgY29sb3I6ICNGQUIwM0E7IH1cblxub2wge1xuICBjb3VudGVyLXJlc2V0OiBpdGVtOyB9XG5cbm9sIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxZW0gMCAyZW07IH1cblxub2wgbGk6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihpdGVtKSBcIi5cIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xuICByaWdodDogMTBweDtcbiAgLyogc3BhY2UgYmV0d2VlbiBudW1iZXIgYW5kIHRleHQgKi9cbiAgY29sb3I6ICMzQUE4RUY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG5vbFt0eXBlPVwiMVwiXSB7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07IH1cblxub2xbdHlwZT1cIjFcIl0gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbm9sW3R5cGU9XCIxXCJdIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXJzKGl0ZW0sIFwiLlwiKSBcIi5cIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xuICByaWdodDogMTBweDtcbiAgLyogc3BhY2UgYmV0d2VlbiBudW1iZXIgYW5kIHRleHQgKi9cbiAgY29sb3I6ICMzQUE4RUY7IH1cblxub2xbdHlwZT1cImFcIl0ge1xuICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluOyB9XG5cbm9sW3R5cGU9XCJhXCJdIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5vbFt0eXBlPVwiYVwiXSBsaTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGl0ZW0sIGxvd2VyLWxhdGluKSBcIi5cIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xuICByaWdodDogMTBweDtcbiAgY29sb3I6ICMzQUE4RUY7IH1cblxub2JqZWN0LnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTsgfVxuICBvYmplY3Quc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jaGVja2VkLWxpc3QgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jaGVja2VkLWxpc3QgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jaGVja2VkLWxpc3QgdWwgbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi8uLi9pbWcvZ3JlZW4tdGljay5zdmdcIik7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7IH1cblxuYmxvY2txdW90ZSBwIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGJsb2NrcXVvdGUgcCB7XG4gICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gIGNvbG9yOiAjM0FBOEVGOyB9XG4gIGJsb2NrcXVvdGUgZm9vdGVyIGNpdGUge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIGJsb2NrcXVvdGUgZm9vdGVyIGNpdGU6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWN0aW9uLS1zdGF0IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBjbGlwO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG5cbi5zZWN0aW9uLS1zdGF0ICsgLnNlY3Rpb24tLWxvZ28tbGlzdCB7XG4gIG1hcmdpbi10b3A6IDNlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLS1zdGF0ICsgLnNlY3Rpb24tLWxvZ28tbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiA4ZW07IH0gfVxuXG4uc3RhdC1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZ2FwOiAxZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhdC1ncmlkIHtcbiAgICAgIGdhcDogMmVtOyB9IH1cblxuLnN0YXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgYm94LXNoYWRvdzogMnB4IDZweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHBhZGRpbmc6IDEuNWVtO1xuICB3aWR0aDogY2FsYygoMTAwJSAqICgxLzIpKSAtIC41ZW0pO1xuICBwYWRkaW5nOiAuNWVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnN0YXQ6bnRoLW9mLXR5cGUoMykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGF0IHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICogKDEvMykpIC0gMmVtKTtcbiAgICAgIHBhZGRpbmc6IDFlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0YXQge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgKiAoMS80KSkgLSAyZW0pO1xuICAgICAgcGFkZGluZzogMS41ZW07IH0gfVxuICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgYW5kIChub3QgKHRyYW5zbGF0ZTogbm9uZSkpIHtcbiAgICAuc3RhdCB7XG4gICAgICBtYXJnaW46IC41ZW0gIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICogKDEvMikpIC0gMS41ZW0pOyB9IH1cbiAgLnN0YXRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFlbTsgfVxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCAodHJhbnNsYXRlOiBub25lKSkge1xuICAgICAgLnN0YXRfX2NvbnRlbnQgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gIWltcG9ydGFudDsgfSB9XG4gIC5zdGF0IC5zdGF0X19kZWZpbml0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RhdCAuc3RhdF9fZGVmaW5pdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuICAgIC5zdGF0IC5zdGF0X19kZWZpbml0aW9uLS1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsgfVxuICAuc3RhdCAuc3RhdF9fdmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RhdCAuc3RhdF9fdmFsdWUge1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0YXQgLnN0YXRfX3ZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfSB9XG4gICAgLnN0YXQgLnN0YXRfX3ZhbHVlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYmFja2dyb3VuZDogI0ZBQjAzQTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgaGVpZ2h0OiAxMjhweDsgfVxuICAgIC5zdGF0IC5zdGF0X192YWx1ZS5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbjo6YmVmb3JlIHtcbiAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDAlKTtcbiAgICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAxcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnN0YXQgLnN0YXRfX3ZhbHVlLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSk7IH1cbiAgICAuc3RhdCAuc3RhdF9fdmFsdWUtLXNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXgtd2lkdGg6IDE2Y2g7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgZm9udC1zaXplOiAxLjVlbTsgfVxuICAuc3RhdCAuc3RhdF9fbG9nbyB7XG4gICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuICAuc3RhdC0tZ3JlZW4gLnN0YXRfX3ZhbHVlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNDcsIDE4MiwgMTI0LCAwLjQpOyB9XG4gIC5zdGF0LS1jeWFuIC5zdGF0X192YWx1ZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU4LCAxNjgsIDIzOSwgMC40KTsgfVxuICAuc3RhdC0teWVsbG93IC5zdGF0X192YWx1ZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMTc2LCA1OCwgMC40KTsgfVxuICAuc3RhdC0tbWFnZW50YSAuc3RhdF9fdmFsdWU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjUsIDUyLCA0MSwgMC40KTsgfVxuICAuc3RhdC0tZ3JleSAuc3RhdF9fdmFsdWU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODsgfVxuICAuc3RhdC0tYmlnIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zdGF0LS1iaWcgLnN0YXRfX3ZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zdGF0LS1iaWcgLnN0YXRfX3ZhbHVlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuc3RhdC0tYmlnIC5zdGF0X19kZWZpbml0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN0YXQtLWJpZyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICogKDIvMykpIC0gMmVtKTsgfVxuICAgICAgICAuc3RhdC0tYmlnIC5zdGF0X192YWx1ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgICAgLnN0YXQtLWJpZyAuc3RhdF9fZGVmaW5pdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdGF0LS1iaWcge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAqICgzLzQpKSAtIDJlbSk7IH1cbiAgICAgICAgLnN0YXQtLWJpZyAuc3RhdF9fY29udGVudCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICAuc3RhdC0tYmlnIC5zdGF0X19kZWZpbml0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLnN0YXQtLWJpZyAuc3RhdF9fdmFsdWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuc3RhdC0tdGhpcmQsIC5zdGF0LS1zbWFsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGF0LS10aGlyZCwgLnN0YXQtLXNtYWxsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgKiAoMS8zKSkgLSAyZW0pO1xuICAgICAgICBwYWRkaW5nOiAxZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RhdC0tdGhpcmQsIC5zdGF0LS1zbWFsbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICogKDEvMykpIC0gMmVtKTtcbiAgICAgICAgcGFkZGluZzogMWVtOyB9IH1cblxuLnN0YXQtZ3JpZC0tYWx0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGdhcDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhdC1ncmlkLS1hbHQge1xuICAgICAgZ2FwOiAyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGF0LWdyaWQtLWFsdCB7XG4gICAgICBnYXA6IDJlbTsgfSB9XG4gIC5zdGF0LWdyaWQtLWFsdCAuc3RhdCB7XG4gICAgZmxleDogMCAwIGNhbGMoNTAlIC0gMWVtKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RhdC1ncmlkLS1hbHQgLnN0YXQge1xuICAgICAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gMmVtKTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdGF0LWdyaWQtLWFsdCAuc3RhdCB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDJlbSk7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuc3RhdC1ncmlkLS1hbHQgLnN0YXQ6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnNlY3Rpb24tLWJlaGluZCB7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxcHgpOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiA2ZW0gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBjbGlwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgM3B4KTsgfVxuICAuc2VjdGlvbi0tbG9nby1jb2xsZWN0aW9uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNzUlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC0xMCUsIC0xcHgpO1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtNSU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLWxvZ28tY29sbGVjdGlvbjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuc2VjdGlvbi0tbG9nby1jb2xsZWN0aW9uIC5idXR0b24sIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24gLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24gYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTsgfSB9XG5cbi5sb2dvLWNvbGxlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYXNwZWN0LXJhdGlvOiAzLzI7XG4gIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEvMSkge1xuICAgIC5sb2dvLWNvbGxlY3Rpb246OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctdG9wOiA4MCU7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgLmxvZ28tY29sbGVjdGlvbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG4ubG9nby1jb2xsZWN0aW9uX19tYWluIHtcbiAgd2lkdGg6IDIwJTtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAxJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogdW5zZXQ7XG4gIG92ZXJmbG93OiB1bnNldDtcbiAgd2lkdGg6IDEzJTtcbiAgbWF4LXdpZHRoOiAxODBweDtcbiAgbWF4LWhlaWdodDogMTgwcHg7XG4gIGFzcGVjdC1yYXRpbzogMS8xOyB9XG4gIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMS8xKSB7XG4gICAgLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHkge1xuICAgICAgaGVpZ2h0OiA4JTsgfSB9XG5cbi5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5LS1zbWFsbCB7XG4gIHNjYWxlOiAuNjsgfVxuICBAc3VwcG9ydHMgbm90IChzY2FsZTogMSkge1xuICAgIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5LS1zbWFsbCB7XG4gICAgICB3aWR0aDogOCU7XG4gICAgICBoZWlnaHQ6IDUlOyB9IH1cblxuLnNlY3Rpb24tLWxvZ28tY29sbGVjdGlvbi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiAubG9nby1jb2xsZWN0aW9uX190aGlyZC1wYXJ0eSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSksIG9wYWNpdHkgMXMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMG4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDExMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMm4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDIxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoM24pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDMxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoNG4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDQxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoNW4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDUxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoNm4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA2MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDYxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoN24pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA3MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDcxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoOG4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA4MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDgxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoOW4pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA5MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDkxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMTBuKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMTFuKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTEwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTExMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMTJuKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTIwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTIxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMTNuKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTMwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTMxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMTRuKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTQwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTQxMG1zOyB9XG4gIC5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24gLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoMTVuKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTUwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUxMG1zOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDBuKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI5MCUsIC03MCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDFuKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1MCUsIC01MCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDJuKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQ0MCUsIDEzMCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDNuKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwJSwgMjAwJSkgc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNlY3Rpb24tLWxvZ28tY29sbGVjdGlvbi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbi5hY3RpdmUgLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHk6bnRoLW9mLXR5cGUoNG4pIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYwJSwgLTI2MCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDVuKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEyMCUsIDEzNSUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDZuKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1MCUsIDE4NSUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDduKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yOTAlLCA4MCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDhuKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE5MCUsIC0xNzAlKSBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VjdGlvbi0tbG9nby1jb2xsZWN0aW9uLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZSAubG9nby1jb2xsZWN0aW9uX190aGlyZC1wYXJ0eTpudGgtb2YtdHlwZSg5bikge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTgwJSwgMjAlKSBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VjdGlvbi0tbG9nby1jb2xsZWN0aW9uLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZSAubG9nby1jb2xsZWN0aW9uX190aGlyZC1wYXJ0eTpudGgtb2YtdHlwZSgxMG4pIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMyMCUsIDIxMCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDExbikge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyNjAlLCAzMCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDEybikge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTUwJSwgLTE0MCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5Om50aC1vZi10eXBlKDEzbikge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3MCUsIC0xOTAlKSBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VjdGlvbi0tbG9nby1jb2xsZWN0aW9uLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZSAubG9nby1jb2xsZWN0aW9uX190aGlyZC1wYXJ0eTpudGgtb2YtdHlwZSgxNG4pIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwMCUsIC0xMjAlKSBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VjdGlvbi0tbG9nby1jb2xsZWN0aW9uLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZSAubG9nby1jb2xsZWN0aW9uX190aGlyZC1wYXJ0eTpudGgtb2YtdHlwZSgxNW4pIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDE1MCUpIHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLS1pY29uLXByb3BlcnR5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGNsaXA7XG4gIG92ZXJmbG93LXk6IHZpc2libGU7IH1cblxuLmljb24tcHJvcGVydHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRlbTsgfVxuICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgYW5kIChub3QgKHRyYW5zbGF0ZTogbm9uZSkpIHtcbiAgICAuaWNvbi1wcm9wZXJ0eSA+ICoge1xuICAgICAgbWFyZ2luOiAwIDAgNGVtIDAgIWltcG9ydGFudDsgfSB9XG4gIC5pY29uLXByb3BlcnR5X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNGVtO1xuICAgIGdhcDogMWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pY29uLXByb3BlcnR5X19pdGVtIHtcbiAgICAgICAgZ2FwOiAyZW07IH0gfVxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCAodHJhbnNsYXRlOiBub25lKSkge1xuICAgICAgLmljb24tcHJvcGVydHlfX2l0ZW0gPiAqIHtcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAwIDAgIWltcG9ydGFudDsgfSB9XG4gICAgLmljb24tcHJvcGVydHlfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgLmljb24tcHJvcGVydHlfX2l0ZW06bnRoLW9mLXR5cGUoMW4pIC5pY29uLXByb3BlcnR5X19pY29uIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDcsIDE4MiwgMTI0LCAwLjQpOyB9XG4gICAgLmljb24tcHJvcGVydHlfX2l0ZW06bnRoLW9mLXR5cGUoMm4pIC5pY29uLXByb3BlcnR5X19pY29uIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjI1LCA1MiwgNDEsIDAuNCk7IH1cbiAgICAuaWNvbi1wcm9wZXJ0eV9faXRlbTpudGgtb2YtdHlwZSgzbikgLmljb24tcHJvcGVydHlfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg1OCwgMTY4LCAyMzksIDAuNCk7IH1cbiAgICAuaWNvbi1wcm9wZXJ0eV9faXRlbTpudGgtb2YtdHlwZSg0bikgLmljb24tcHJvcGVydHlfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTAsIDE3NiwgNTgsIDAuNCk7IH1cbiAgLmljb24tcHJvcGVydHlfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNDcsIDE4MiwgMTI0LCAwLjQpO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgd2lkdGg6IDVlbTtcbiAgICBoZWlnaHQ6IDVlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaWNvbi1wcm9wZXJ0eV9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgLmljb24tcHJvcGVydHlfX2NvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuNWVtOyB9XG4gICAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIGFuZCAobm90ICh0cmFuc2xhdGU6IG5vbmUpKSB7XG4gICAgICAuaWNvbi1wcm9wZXJ0eV9fY29udGVudCA+ICoge1xuICAgICAgICBtYXJnaW46IDAgMCAuNWVtIDAgIWltcG9ydGFudDsgfSB9XG4gIC5pY29uLXByb3BlcnR5X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pY29uLXByb3BlcnR5X190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07IH0gfVxuICAuaWNvbi1wcm9wZXJ0eS0tY29tcGFjdCB7XG4gICAgbWFyZ2luOiAzZW0gMCAzZW0gMDtcbiAgICBnYXA6IDFlbTsgfVxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCAodHJhbnNsYXRlOiBub25lKSkge1xuICAgICAgLmljb24tcHJvcGVydHktLWNvbXBhY3QgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMWVtIDAgIWltcG9ydGFudDsgfSB9XG4gICAgLmljb24tcHJvcGVydHktLWNvbXBhY3QgLmljb24tcHJvcGVydHlfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFlbTsgfVxuXG4ubG9nby1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvZ28tbGlzdCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5sb2dvLWxpc3RfX2xvZ28tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDFlbTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIHBsYWNlLXNlbGY6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxvZ28tbGlzdF9fbG9nbyB7XG4gICAgbWF4LWhlaWdodDogODBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubG9nby1saXN0X19sb2dvIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi5zZWN0aW9uLS1xdW90ZS1mb3JtIHtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgbWFyZ2luLXRvcDogNmVtICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogY2xpcDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDNweCk7IH1cbiAgLnNlY3Rpb24tLXF1b3RlLWZvcm06OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwMHZ3O1xuICAgIGhlaWdodDogODB2dztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC0xMCUsIC0xcHgpO1xuICAgIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLXF1b3RlLWZvcm06OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDsgfSB9XG5cbi5xdW90ZS1mb3JtX19zZWN0aW9uIHtcbiAgbWFyZ2luOiAzZW0gMDtcbiAgcGFkZGluZzogMCAwIDNlbSAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdW90ZS1mb3JtX19zZWN0aW9uIHtcbiAgICAgIG1hcmdpbjogNmVtIDA7XG4gICAgICBwYWRkaW5nOiAwIDAgNmVtIDA7IH0gfVxuICAucXVvdGUtZm9ybV9fc2VjdGlvbiBwLCAucXVvdGUtZm9ybV9fc2VjdGlvbiBsZWdlbmQsIC5xdW90ZS1mb3JtX19zZWN0aW9uIGgxLCAucXVvdGUtZm9ybV9fc2VjdGlvbiBoMiwgLnF1b3RlLWZvcm1fX3NlY3Rpb24gaDMsIC5xdW90ZS1mb3JtX19zZWN0aW9uIGg0LCAucXVvdGUtZm9ybV9fc2VjdGlvbiBoNSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnF1b3RlLWZvcm1fX3NlY3Rpb246bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjb2xvcjogIzJGQjY3QztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAucXVvdGUtZm9ybV9fc2VjdGlvbjpudGgtb2YtdHlwZSgxbikgLmhlYWRpbmcge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAucXVvdGUtZm9ybV9fc2VjdGlvbjpudGgtb2YtdHlwZSgybikge1xuICAgIGNvbG9yOiAjM0FBOEVGO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAgIC5xdW90ZS1mb3JtX19zZWN0aW9uOm50aC1vZi10eXBlKDJuKSAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5xdW90ZS1mb3JtX19zZWN0aW9uOm50aC1vZi10eXBlKDNuKSB7XG4gICAgY29sb3I6ICNFMTM0Mjk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gICAgLnF1b3RlLWZvcm1fX3NlY3Rpb246bnRoLW9mLXR5cGUoM24pIC5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgLnF1b3RlLWZvcm1fX3NlY3Rpb246bnRoLW9mLXR5cGUoNG4pIHtcbiAgICBjb2xvcjogIzJGQjY3QztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAucXVvdGUtZm9ybV9fc2VjdGlvbjpudGgtb2YtdHlwZSg0bikgLmhlYWRpbmcge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAucXVvdGUtZm9ybV9fc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAucXVvdGUtZm9ybV9fc2VjdGlvbjpsYXN0LWNoaWxkIC5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxudGV4dGFyZWEge1xuICBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggMTZweCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFkZmRkO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbGV4OiAyOyB9XG5cbnNlbGVjdCB7XG4gIG1pbi1oZWlnaHQ6IDMuNWVtO1xuICBtYXJnaW4tdG9wOiAuNWVtOyB9XG5cbmxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzMyMzEzMDsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHdpZHRoOiAxLjE1ZW07XG4gIGhlaWdodDogMS4xNWVtO1xuICBib3JkZXI6IDAuMTVlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTVlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjA3NWVtKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwLjY1ZW07XG4gIGhlaWdodDogMC42NWVtO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMTQlIDQ0JSwgMCA2NSUsIDUwJSAxMDAlLCAxMDAlIDE2JSwgODAlIDAlLCA0MyUgNjIlKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gIHRyYW5zaXRpb246IDEyMG1zIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMWVtIDFlbSB2YXIoLS1mb3JtLWNvbnRyb2wtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBDYW52YXNUZXh0O1xuICB0b3A6IC4xNWVtO1xuICBsZWZ0OiAuMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMC4xNWVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDAuMTVlbTsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xuICAtLWZvcm0tY29udHJvbC1jb2xvcjogJGxpZ2h0LWdyZXk7XG4gIGNvbG9yOiAjRjhGOEY4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggMTZweCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFkZmRkO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbGV4OiAyOyB9XG5cbi5jaGVja2JveC1jb2x1bW5zIHtcbiAgY29sdW1uczogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jaGVja2JveC1jb2x1bW5zIHtcbiAgICAgIGNvbHVtbnM6IDI7IH0gfVxuXG4uY2hlY2tib3gtY29sdW1uc19fY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNoZWNrYm94LWNvbHVtbnNfX2NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41ZW07IH1cbiAgLmNoZWNrYm94LWNvbHVtbnNfX2NoZWNrYm94IFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsIC5jaGVja2JveC1jb2x1bW5zX19jaGVja2JveCBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tbGVmdDogMS44ZW07IH1cblxuLmNoZWNrYm94LWNvbHVtbnNfX2xlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMzJweCAzMnB4IDMycHg7XG4gIG1hcmdpbjogLjRlbTtcbiAgcGFkZGluZzogMWVtO1xuICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9ybS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxZW07XG4gICAgICBwYWRkaW5nOiAyZW0gM2VtOyB9IH1cblxuLmVycm9ycyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFlbTsgfVxuICAuZXJyb3JzIGxpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEzNDI5O1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiAwLjZlbTtcbiAgICBmb250LXNpemU6IC44ZW07IH1cblxuLmlmcmFtZS1jb250YWluZXIge1xuICBtYXJnaW46IDJlbSAwIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaWZyYW1lLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDNlbSAwIDA7IH0gfVxuXG4uYmFja2dyb3VuZC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNGVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00ZW07IH0gfVxuICAuYmFja2dyb3VuZC1pbWFnZS0tY2VudGVyZWQge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uc21hbGwtcHJpbnQge1xuICBmb250LXNpemU6IC44ZW07XG4gIG1hcmdpbjogMmVtIDA7IH1cblxuLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIHBhZGRpbmc6IDJlbSAwO1xuICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC5jb250YWN0LWRldGFpbC1zZWN0aW9uIGEge1xuICAgIGNvbG9yOiAjRTEzNDI5ICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tLW1hZ2VsbGFuLWZ1bGwge1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLW1hZ2VsbGFuLWZ1bGwtLW5vLXBhZGIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4ubWVudS0tbWFnZWxsYW4tZnVsbCB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUtLW1hZ2VsbGFuLWZ1bGwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cbiAgICAgIC5tZW51LS1tYWdlbGxhbi1mdWxsIGEge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5tZW51LS1tYWdlbGxhbi1mdWxsIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3BjO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyZW0pO1xuICAgICAgICAgIHRvcDogM2VtO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxMDJGNTE7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW51LS1tYWdlbGxhbi1wYXJlbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lbnVfX2Z1bGwtd2lkdGgtaXRlbSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudV9fZnVsbC13aWR0aC1pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2VjdGlvbi0tY29udGVudC1zcGxpdCAubWVkaXVtLW9yZGVyLTIgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH0gfVxuXG4uc2VjdGlvbi0tY29udGVudC1zcGxpdC0tY3lhbiBoNSB7XG4gIGNvbG9yOiAjM0FBOEVGOyB9XG5cbi5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1jeWFuIHVsIGxpOjptYXJrZXIge1xuICBjb2xvcjogIzNBQThFRjsgfVxuXG4uc2VjdGlvbi0tY29udGVudC1zcGxpdC0tZ3JlZW4gaDUge1xuICBjb2xvcjogIzJGQjY3QzsgfVxuXG4uc2VjdGlvbi0tY29udGVudC1zcGxpdC0tZ3JlZW4gdWwgbGk6Om1hcmtlciB7XG4gIGNvbG9yOiAjMkZCNjdDOyB9XG5cbi5zZWN0aW9uLS1jb250ZW50LXNwbGl0LS1tYWdlbnRhIGg1IHtcbiAgY29sb3I6ICNFMTM0Mjk7IH1cblxuLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQtLW1hZ2VudGEgdWwgbGk6Om1hcmtlciB7XG4gIGNvbG9yOiAjRTEzNDI5OyB9XG5cbi5zZWN0aW9uLS1zbmlwcGV0cy1ieS10d28ge1xuICB6LWluZGV4OiA0OyB9XG5cbi5jZWxsLS1hbHRlcm5hdGUtdW5kZXJsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5jZWxsLS1hbHRlcm5hdGUtdW5kZXJsaW5lOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM0FBOEVGOyB9XG4gIC5jZWxsLS1hbHRlcm5hdGUtdW5kZXJsaW5lOm50aC1vZi10eXBlKDFuKTo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGQUIwM0E7IH1cbiAgLmNlbGwtLWFsdGVybmF0ZS11bmRlcmxpbmU6bnRoLW9mLXR5cGUoMm4pOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNBQThFRjsgfVxuICAuY2VsbC0tYWx0ZXJuYXRlLXVuZGVybGluZTpudGgtb2YtdHlwZSgzbik6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMkZCNjdDOyB9XG4gIC5jZWxsLS1hbHRlcm5hdGUtdW5kZXJsaW5lOm50aC1vZi10eXBlKDRuKTo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNFMTM0Mjk7IH1cbiAgLmNlbGwtLWFsdGVybmF0ZS11bmRlcmxpbmUgcCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuY2VsbC0tYWx0ZXJuYXRlLXVuZGVybGluZSAuYnV0dG9uLS1hcnJvdywgLmNlbGwtLWFsdGVybmF0ZS11bmRlcmxpbmUgLmJ1dHRvbi0tYXJyb3ctZ3JlZW4sIC5jZWxsLS1hbHRlcm5hdGUtdW5kZXJsaW5lIC5idXR0b24tLWFycm93LW1hZ2VudGEsIC5jZWxsLS1hbHRlcm5hdGUtdW5kZXJsaW5lIC5oZXJvX19kZXNjcmlwdGlvbiBhOm5vdChbaHJlZl49XCJtYWlsdG86XCJdKSwgLmhlcm9fX2Rlc2NyaXB0aW9uIC5jZWxsLS1hbHRlcm5hdGUtdW5kZXJsaW5lIGE6bm90KFtocmVmXj1cIm1haWx0bzpcIl0pLCAuY2VsbC0tYWx0ZXJuYXRlLXVuZGVybGluZSAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiBhLCAuY29udGFjdC1kZXRhaWwtc2VjdGlvbiAuY2VsbC0tYWx0ZXJuYXRlLXVuZGVybGluZSBhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWxvZ28tZmVhdHVyZS1jYXJkcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1sb2dvLWZlYXR1cmUtY2FyZHMgaDIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50YWJzLS1sb2dvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGFicy0tbG9nb3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAxLjVlbTsgfSB9XG4gIC50YWJzLS1sb2dvczo6YmVmb3JlLCAudGFicy0tbG9nb3M6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWJzLXRpdGxlLS1sb2dvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbm9uZTsgfVxuICAudGFicy10aXRsZS0tbG9nby5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5O1xuICAgIGFuaW1hdGlvbjogZmFkZUluIC40cyBub3JtYWwgZm9yd2FyZHMgZWFzZS1vdXQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNWVtKTtcbiAgICBsZWZ0OiAuNzVlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGFicy10aXRsZS0tbG9nby5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNWVtKTtcbiAgICAgICAgbGVmdDogMS4yNWVtOyB9IH1cbiAgLnRhYnMtdGl0bGUtLWxvZ28gPiBhIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIC4yNXJlbTsgfVxuICAgIC50YWJzLXRpdGxlLS1sb2dvID4gYSBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA4MHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudGFicy10aXRsZS0tbG9nbyA+IGEgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDk2cHg7IH0gfVxuXG4udGFicy1jb250ZW50LS1sb2dvcyB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50YWJzLWNvbnRlbnQtLWxvZ29zIHtcbiAgICAgIG1hcmdpbi10b3A6IDRlbTsgfSB9XG5cbi50YWJzLXBhbmVsLS1jYXJkLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBwYWRkaW5nOiAyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGFicy1wYW5lbC0tY2FyZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNGVtOyB9IH1cbiAgLnRhYnMtcGFuZWwtLWNhcmQtY29udGFpbmVyIC5jYXJkIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudGFicy1wYW5lbC0tY2FyZC1jb250YWluZXIuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudGFicy1wYW5lbC0tY2FyZC1jb250YWluZXIuaXMtYWN0aXZlIC5jYXJkIHtcbiAgICAgIGFuaW1hdGlvbjogZmFkZUluIC40cyBub3JtYWwgZm9yd2FyZHMgZWFzZS1vdXQ7IH1cblxuLnNlY3Rpb24tLWNvbHVtbmVkLWxpc3RfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjMDYxMjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogM2VtIDJlbTtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi0tY29sdW1uZWQtbGlzdF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA1ZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLS1jb2x1bW5lZC1saXN0X19jb250ZW50IHVsIHtcbiAgICAgIGNvbHVtbnM6IDEwMHB4IDI7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi0tY29sdW1uZWQtbGlzdF9fY29udGVudCB1bCB7XG4gICAgICBjb2x1bW5zOiAxMDBweCAzO1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfSB9XG4gIC5zZWN0aW9uLS1jb2x1bW5lZC1saXN0X19jb250ZW50IHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLnNlY3Rpb24tLXZpZGVvLWdhbGxlcnlfX2l0ZW0gaDMge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5zZWN0aW9uLS12aWRlby1nYWxsZXJ5X19pdGVtIGltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogIzZBNkE2QTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnJldmVhbC0tdmlkZW8ge1xuICB3aWR0aDogMTAwdnc7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIHBhZGRpbmc6IDJlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXJnaW46IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMDAwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwtLXZpZGVvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEyMDBweCAxMjAwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9IH1cblxuLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gICAgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLS10cmVuZGluZy1hcnRpY2xlc19faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5zZWN0aW9uLS10cmVuZGluZy1hcnRpY2xlc19faXRlbSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5zZWN0aW9uLS10cmVuZGluZy1hcnRpY2xlc19faXRlbSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtLS1pbnRybyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VjdGlvbi0tdHJlbmRpbmctYXJ0aWNsZXNfX2l0ZW0tLWdyZWVuIGEsIC5zZWN0aW9uLS10cmVuZGluZy1hcnRpY2xlc19faXRlbS0tZ3JlZW4gc3BhbiB7XG4gICAgICBjb2xvcjogIzJGQjY3QzsgfVxuICAgIC5zZWN0aW9uLS10cmVuZGluZy1hcnRpY2xlc19faXRlbS0tYmx1ZSBhLCAuc2VjdGlvbi0tdHJlbmRpbmctYXJ0aWNsZXNfX2l0ZW0tLWJsdWUgc3BhbiwgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtLS1jeWFuIGEsIC5zZWN0aW9uLS10cmVuZGluZy1hcnRpY2xlc19faXRlbS0tY3lhbiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjM0FBOEVGOyB9XG4gICAgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtLS1yZWQgYSwgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtLS1yZWQgc3BhbiwgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtLS1tYWdlbnRhIGEsIC5zZWN0aW9uLS10cmVuZGluZy1hcnRpY2xlc19faXRlbS0tbWFnZW50YSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG5cbi5yZXNvdXJjZXNfX2ZpbHRlcnMge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVzb3VyY2VzX19maWx0ZXJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAucmVzb3VyY2VzX19maWx0ZXJzIC5ncmlkLXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJlc291cmNlc19fZmlsdGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyMC44MzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfSB9XG5cbi5yZXNvdXJjZXNfX2ZpbHRlciBhLCAucmVzb3VyY2VzX19maWx0ZXIgc2VsZWN0IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5yZXNvdXJjZXNfX2ZpbHRlciBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogMC40ZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAucmVzb3VyY2VzX19maWx0ZXIgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cblxuLnJlc291cmNlc19fZmlsdGVyIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAucmVzb3VyY2VzX19maWx0ZXIgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ucmVzb3VyY2VzX19maWx0ZXItLXNlYXJjaCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS41ZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVzb3VyY2VzX19maWx0ZXItLXNlYXJjaCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbi5yZXNvdXJjZXNfX2ZpbHRlciAubWVudV9fc3VidGl0bGUge1xuICBtYXJnaW4tbGVmdDogLTFlbTsgfVxuXG4ucmVzb3VyY2VzX19zZWFyY2ggZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmVzb3VyY2VzX19zZWFyY2gtaW5wdXQsIC5yZXNvdXJjZXNfX3NlYXJjaC1zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG5cbi5yZXNvdXJjZXNfX3NlYXJjaC1zZWFyY2gge1xuICBwYWRkaW5nOiAxLjVlbTtcbiAgYm9yZGVyLWNvbG9yOiAjMTAyRjUxOyB9XG5cbi5yZXNvdXJjZXNfX3NlYXJjaC1idXR0b24sIC5yZXNvdXJjZXNfX3NlYXJjaC1idXR0b246aG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMXB4O1xuICB0b3A6IDA7XG4gIGhlaWdodDogMy42MjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24tbmF2LXNlYXJjaC5zdmdcIik7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA2MCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cblxuLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fY29udGVudCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNGVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi0tcmVzb3VyY2VzLWVudHJ5X19jb250ZW50IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fY29udGVudCBwIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fc2lkZS1iYXIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi0tcmVzb3VyY2VzLWVudHJ5X19zaWRlLWJhciB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfSB9XG4gIC5zZWN0aW9uLS1yZXNvdXJjZXMtZW50cnlfX3NpZGUtYmFyIC5jYXJkLS1wb3N0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fd2hpdGVwYXBlciwgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fYXJ0aWNsZSB7XG4gIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAuc2VjdGlvbi0tcmVzb3VyY2VzLWVudHJ5X193aGl0ZXBhcGVyIGltZywgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fYXJ0aWNsZSBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gIC5zZWN0aW9uLS1yZXNvdXJjZXMtZW50cnlfX3doaXRlcGFwZXIgc3BhbiwgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fYXJ0aWNsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fd2hpdGVwYXBlciBoMywgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fYXJ0aWNsZSBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zZWN0aW9uLS1yZXNvdXJjZXMtZW50cnlfX3doaXRlcGFwZXIgaDMgYSwgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fYXJ0aWNsZSBoMyBhIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zZWN0aW9uLS1yZXNvdXJjZXMtZW50cnlfX2FydGljbGUgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fYXJ0aWNsZSBzcGFuIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5zZWN0aW9uLS1yZXNvdXJjZXMtZW50cnlfX2FydGljbGUtLWJsdWUgc3BhbiA+IGEsIC5zZWN0aW9uLS1yZXNvdXJjZXMtZW50cnlfX2FydGljbGUtLWN5YW4gc3BhbiA+IGEge1xuICBjb2xvcjogIzNBQThFRjsgfVxuXG4uc2VjdGlvbi0tcmVzb3VyY2VzLWVudHJ5X19hcnRpY2xlLS1ncmVlbiBzcGFuID4gYSB7XG4gIGNvbG9yOiAjMkZCNjdDOyB9XG5cbi5zZWN0aW9uLS1yZXNvdXJjZXMtZW50cnlfX2FydGljbGUtLXJlZCBzcGFuID4gYSwgLnNlY3Rpb24tLXJlc291cmNlcy1lbnRyeV9fYXJ0aWNsZS0tbWFnZW50YSBzcGFuID4gYSB7XG4gIGNvbG9yOiAjRTEzNDI5OyB9XG5cbi5yZXNvdXJjZV9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cblxuLnJlc291cmNlc19fcGFnZS1idWlsZGVyIC5zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDNlbSAhaW1wb3J0YW50OyB9XG4gIC5yZXNvdXJjZXNfX3BhZ2UtYnVpbGRlciAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnJlc291cmNlc19fcGFnZS1idWlsZGVyIC5zZWN0aW9uLS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucmVzb3VyY2VzX19wYWdlLWJ1aWxkZXIgLnNlY3Rpb24tLWltYWdlLWZ1bGwtd2lkdGggLmNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yZXNvdXJjZXNfX3BhZ2UtYnVpbGRlciAuc2VjdGlvbi0taW1hZ2UtZnVsbC13aWR0aCBpbWcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMzJweDsgfVxuICAucmVzb3VyY2VzX19wYWdlLWJ1aWxkZXIgLnNlY3Rpb24tLXF1b3RhdGlvbi1jYWxsb3V0IC5xdW90YXRpb24tY2FsbG91dF9fY2FsbG91dCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi5yZXNvdXJjZXNfX3BhZ2UtYnVpbGRlciAuY2VsbC0tcmljaC10ZXh0OmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucmVzb3VyY2VzLWF1dGhvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDsgfVxuICAucmVzb3VyY2VzLWF1dGhvcl9fYXZhdGFyIGltZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRjhGOEY4OyB9XG4gIC5yZXNvdXJjZXMtYXV0aG9yX19zb2NpYWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyZW07IH1cbiAgICAucmVzb3VyY2VzLWF1dGhvcl9fc29jaWFsIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5yZXNvdXJjZXMtYXV0aG9yX19zY3JlZW4tbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gIC5yZXNvdXJjZXMtYXV0aG9yX19yb2xlLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5yZXNvdXJjZXMtYXV0aG9yX19zb2NpYWwtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnJlc291cmNlcy1hdXRob3JfX3NvY2lhbC1saW5rIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAucmVzb3VyY2VzLWF1dGhvcl9fc29jaWFsLWxpbmsgaW1nIHtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDAgMC4yZW0gMWVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuXG4uYXNpZGUge1xuICBiYWNrZ3JvdW5kOiAjMDYxMjFFO1xuICBwYWRkaW5nOiA0ZW0gM2VtO1xuICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG4gIC5hc2lkZV9faW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICAgIC5hc2lkZV9faW50cm8gaDMge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5hc2lkZV9fYmFzZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH1cbiAgLmFzaWRlX19iYXNlIC5idXR0b24sIC5hc2lkZV9fYmFzZSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLmFzaWRlX19iYXNlIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBwYWRkaW5nOiAxLjRlbSAxLjZlbTsgfVxuXG4uc2VjdGlvbi0tdGVhbS1ncmlkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2VjdGlvbi0tdGVhbS1ncmlkIC5jYXJkX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuc2VjdGlvbi0tdGVhbS1ncmlkIC5jYXJkX19zdXJ0aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAuc2VjdGlvbi0tdGVhbS1ncmlkIC5jYXJkX19mb290ZXItc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuc2VjdGlvbi0tdGVhbS1ncmlkIC5jYXJkX19mb290ZXItc2VjdGlvbiBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAzNXB4OyB9XG5cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCwgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGEsIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLXByZXZpb3VzIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQgYTo6YmVmb3JlLCAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlciwgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIHJpZ2h0OiAtMmVtO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL21hZ2VudGEtY2hldnJvbi1yaWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7IH1cbiAgICAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGE6aG92ZXIsIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAgICAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhOmhvdmVyOjphZnRlciwgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMWVtKTsgfVxuXG4ucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBsZWZ0OiAtMmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoNTAlKTsgfVxuXG4ucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOmhvdmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSg1MCUpIHRyYW5zbGF0ZVgoMWVtKTsgfVxuXG4uc2VjdGlvbi0tb2ZmaWNlIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIC5zZWN0aW9uLS1vZmZpY2VfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi0tb2ZmaWNlX19jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLnNlY3Rpb24tLW9mZmljZV9fY29udGFpbmVyLS1uby1wYWQtbHIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIC5zZWN0aW9uLS1vZmZpY2VfX2NvbnRhaW5lci0tdHJpcHR5Y2gge1xuICAgICAgbWFyZ2luLXRvcDogM2VtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAuc2VjdGlvbi0tb2ZmaWNlX19jb250YWluZXItLXRyaXB0eWNoIC5zZWN0aW9uLS1vZmZpY2VfX2RldGFpbHMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAgICAgICAgIC5zZWN0aW9uLS1vZmZpY2VfX2NvbnRhaW5lci0tdHJpcHR5Y2ggLnNlY3Rpb24tLW9mZmljZV9fZGV0YWlsczpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zZWN0aW9uLS1vZmZpY2VfX2dyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuc2VjdGlvbi0tb2ZmaWNlX19pbm5lciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi0tb2ZmaWNlX19pbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi0tb2ZmaWNlX19pbm5lciB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjg3NXJlbSAvIDIpOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLnNlY3Rpb24tLW9mZmljZV9faW5uZXItLW5vLW1hZy1sciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAuc2VjdGlvbi0tb2ZmaWNlX19pbWFnZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLW9mZmljZV9faW1hZ2Uge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi0tb2ZmaWNlX19pbWFnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC5zZWN0aW9uLS1vZmZpY2VfX2ltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7IH1cbiAgICAuc2VjdGlvbi0tb2ZmaWNlX19pbWFnZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1JTtcbiAgICAgIHJpZ2h0OiAtMjAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgYmFja2dyb3VuZDogIzNBQThFRjtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCkgMCUsICMzYWE4ZWYgMTAwJSk7XG4gICAgICBjbGlwLXBhdGg6IGNpcmNsZSgwKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdHJhbnNpdGlvbjogY2xpcC1wYXRoIDFzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tLW9mZmljZV9faW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICB0b3A6IDE1JTtcbiAgICAgICAgICBsZWZ0OiAtMzUlO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLS1vZmZpY2VfX2ltYWdlOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgIC5zZWN0aW9uLS1vZmZpY2VfX2ltYWdlLS1ibHVlOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM0FBOEVGO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTQsIDI1NCwgMjU0LCAwKSAwJSwgIzNhYThlZiAxMDAlKTsgfVxuICAgIC5zZWN0aW9uLS1vZmZpY2VfX2ltYWdlLS1ncmVlbjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzJGQjY3QztcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCkgMCUsICMyZmI2N2MgMTAwJSk7IH1cbiAgICAuc2VjdGlvbi0tb2ZmaWNlX19pbWFnZS0tcmVkOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTQsIDI1NCwgMjU0LCAwKSAwJSwgI2UxMzQyOSAxMDAlKTsgfVxuICAgIC5zZWN0aW9uLS1vZmZpY2VfX2ltYWdlLS15ZWxsb3c6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGQUIwM0E7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NCwgMjU0LCAyNTQsIDApIDAlLCAjZmFiMDNhIDEwMCUpOyB9XG4gIC5zZWN0aW9uLS1vZmZpY2VfX2RldGFpbHMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLS1vZmZpY2VfX2RldGFpbHMge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSAvIDIpOyB9IH1cbiAgICAuc2VjdGlvbi0tb2ZmaWNlX19kZXRhaWxzIHAgYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5zZWN0aW9uLS1vZmZpY2VfX2RldGFpbHMgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMmVtOyB9XG4gICAgICAuc2VjdGlvbi0tb2ZmaWNlX19kZXRhaWxzIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgICAgLnNlY3Rpb24tLW9mZmljZV9fZGV0YWlscyB1bCBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIC5zZWN0aW9uLS1vZmZpY2VfX2RldGFpbHMgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLW9mZmljZV9fZGV0YWlscy0tZ3JpZCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAuc2VjdGlvbi0tb2ZmaWNlX19kZXRhaWxzLS1ibHVlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM0FBOEVGOyB9XG4gICAgLnNlY3Rpb24tLW9mZmljZV9fZGV0YWlscy0tZ3JlZW4ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyRkI2N0M7IH1cbiAgICAuc2VjdGlvbi0tb2ZmaWNlX19kZXRhaWxzLS1yZWQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFMTM0Mjk7IH1cbiAgICAuc2VjdGlvbi0tb2ZmaWNlX19kZXRhaWxzLS15ZWxsb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQUIwM0E7IH1cbiAgLnNlY3Rpb24tLW9mZmljZS0tYmdyb3VuZC1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5zZWN0aW9uLS1vZmZpY2UuYWN0aXZlIC5zZWN0aW9uLS1vZmZpY2VfX2ltYWdlOmJlZm9yZSB7XG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTsgfVxuXG4uc2VjdGlvbi0tZmFxcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogNjUwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNGVtOyB9IH1cbiAgICAuc2VjdGlvbi0tZmFxcyAuYmFja2dyb3VuZC1pbWFnZS5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDRzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gICAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2UuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1MzBkZWcpOyB9XG4gICAgLnNlY3Rpb24tLWZhcXMgLmJhY2tncm91bmQtaW1hZ2UtLXJpZ2h0IHtcbiAgICAgIHRvcDogMTAwcHg7XG4gICAgICByaWdodDogLTIuNWVtOyB9XG4gIC5zZWN0aW9uLS1mYXFzX19jb2wtZmFxcyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi0tZmFxc19fY29sLWZhcXMge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2NvbC1mYXFzLS1mdWxsLXdpZHRoIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAuc2VjdGlvbi0tZmFxc19fY29sLXNpZGViYXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLXRvcDogNGVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLS1mYXFzX19jb2wtc2lkZWJhciB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDVlbTsgfVxuICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24uaXMtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLWN5YW46YmVmb3JlLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1jeWFuOmhvdmVyLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1jeWFuOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzNBQThFRjsgfVxuICAgICAgICAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1ncmVlbjpiZWZvcmUsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLWdyZWVuOmhvdmVyLCAuc2VjdGlvbi0tZmFxc19fZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLS1ncmVlbjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMyRkI2N0M7IH1cbiAgICAgICAgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS0tbWFnZW50YTpiZWZvcmUsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLW1hZ2VudGE6aG92ZXIsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLW1hZ2VudGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gICAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLXllbGxvdzpiZWZvcmUsIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUtLXllbGxvdzpob3ZlciwgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS0teWVsbG93OmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI0ZBQjAzQTsgfVxuICAgICAgLnNlY3Rpb24tLWZhcXNfX2ZhcS1hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAgIC5zZWN0aW9uLS1mYXFzX19mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCBwIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnNlY3Rpb24tLWZhcXNfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAuc2VjdGlvbi0tZmFxc19faGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuICAgIC5zZWN0aW9uLS1mYXFzX19oZWFkZXItLWN5YW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM0FBOEVGOyB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2hlYWRlci0tZ3JlZW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMkZCNjdDOyB9XG4gICAgLnNlY3Rpb24tLWZhcXNfX2hlYWRlci0tbWFnZW50YSB7XG4gICAgICBib3JkZXItY29sb3I6ICNFMTM0Mjk7IH1cbiAgICAuc2VjdGlvbi0tZmFxc19faGVhZGVyLS15ZWxsb3cge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkFCMDNBOyB9XG5cbi5mYXFzX19zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAuZmFxc19fc2VhcmNoIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuXG4uZmFxc19fbm8tcmVzdWx0cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDIuNWVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Y4RjhGODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5mYXFzX19uby1yZXN1bHRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuZmFxc19fbm8tcmVzdWx0cy5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuZmFxc19fZmFxLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDNlbTsgfSB9XG5cbi5mYXFzX190b3BpY3Mge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZhcXNfX3RvcGljcyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5mcmFnbWVudC1pZGVudGlmaWVyICsgLnNlY3Rpb24tLWZhcXMge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uc2VjdGlvbi0tY2FyZWVycy1yb2xlcy0tbGlnaHQtZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjg7IH1cblxuLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXMgaGVhZGVyIHAge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDEwMCU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogM2VtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAuc2VjdGlvbi0tY2FyZWVycy1yb2xlc19fY2FyZC1jYXJlZXI6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyLXRpdGxlIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyLXRpdGxlIHtcbiAgICAgICAgZmxleDogMCAwIDQwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMCAxZW07IH0gfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLXJvbGVzX19jYXJkLWNhcmVlci10aXRsZSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gIC5zZWN0aW9uLS1jYXJlZXJzLXJvbGVzX19jYXJkLWNhcmVlci1kZXNjcmlwdGlvbiB7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZmxleDogMCAwIDYwJTtcbiAgICAgICAgcGFkZGluZzogMCAxZW07IH0gfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLXJvbGVzX19jYXJkLWNhcmVlci1kZXNjcmlwdGlvbiBwIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLXJvbGVzX19jYXJkLWNhcmVlci1kZXNjcmlwdGlvbiAuYnV0dG9uLS1hcnJvdywgLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyLWRlc2NyaXB0aW9uIC5idXR0b24tLWFycm93LWdyZWVuLCAuc2VjdGlvbi0tY2FyZWVycy1yb2xlc19fY2FyZC1jYXJlZXItZGVzY3JpcHRpb24gLmJ1dHRvbi0tYXJyb3ctbWFnZW50YSwgLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyLWRlc2NyaXB0aW9uIC5oZXJvX19kZXNjcmlwdGlvbiBhOm5vdChbaHJlZl49XCJtYWlsdG86XCJdKSwgLmhlcm9fX2Rlc2NyaXB0aW9uIC5zZWN0aW9uLS1jYXJlZXJzLXJvbGVzX19jYXJkLWNhcmVlci1kZXNjcmlwdGlvbiBhOm5vdChbaHJlZl49XCJtYWlsdG86XCJdKSwgLnNlY3Rpb24tLWNhcmVlcnMtcm9sZXNfX2NhcmQtY2FyZWVyLWRlc2NyaXB0aW9uIC5jb250YWN0LWRldGFpbC1zZWN0aW9uIGEsIC5jb250YWN0LWRldGFpbC1zZWN0aW9uIC5zZWN0aW9uLS1jYXJlZXJzLXJvbGVzX19jYXJkLWNhcmVlci1kZXNjcmlwdGlvbiBhIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNWVtOyB9XG5cbi5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdfX2Rlc2NyaXB0aW9uIHtcbiAgbWF4LXdpZHRoOiA1NWNoO1xuICBtYXJnaW46IDAgYXV0byAyZW0gYXV0bzsgfVxuXG4uc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nX19sb2NhdGlvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4uc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nX19zeW5vcHNpcyB7XG4gIG1hcmdpbjogMCAwIDFlbTsgfVxuXG4uc2VjdGlvbi0tY3RhLXRleHQgcCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc2VjdGlvbi0td2hpdGVwYXBlci1mb3JtIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIC5zZWN0aW9uLS13aGl0ZXBhcGVyLWZvcm1fX2Zvcm0ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLXdoaXRlcGFwZXItZm9ybV9fZm9ybSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXdoaXRlcGFwZXItZm9ybV9fZm9ybSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg1NC4xNjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAuc2VjdGlvbi0td2hpdGVwYXBlci1mb3JtX19mb3JtIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2VjdGlvbi0td2hpdGVwYXBlci1mb3JtX19mb3JtIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogOTAlOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLS13aGl0ZXBhcGVyLWZvcm1fX2Zvcm0gLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLnNlY3Rpb24tLXRlcm1zLXBhZ2VzIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnNlY3Rpb24tLXRlcm1zLXBhZ2VzIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzEwMkY1MTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi0tdGVybXMtcGFnZXMgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDZlbTsgfSB9XG4gIC5zZWN0aW9uLS10ZXJtcy1wYWdlcyBwIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuc2VjdGlvbi0tdGVybXMtcGFnZXMgYSB7XG4gICAgY29sb3I6ICMxMDJGNTE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNlY3Rpb24tLXRlcm1zLXBhZ2VzICsgLnNlY3Rpb24tLWNhcmQtZ3JpZC1maWxlcyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmNvb2tpZS1tZXNzYWdlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyMDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAxNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTYpOyB9XG4gIC5jb29raWUtbWVzc2FnZSBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbWFyZ2luOiAxZW0gMDsgfVxuICAuY29va2llLW1lc3NhZ2UgLmJ1dHRvbiwgLmNvb2tpZS1tZXNzYWdlIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuY29va2llLW1lc3NhZ2UgYnV0dG9uIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2VjdGlvbi0tY3RhLWJhciAuZ3JpZC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjRTEzNDI5O1xuICBwYWRkaW5nOiAxLjVlbSAyLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMzJweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5zZWN0aW9uLS1jdGEtYmFyIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uc2VjdGlvbi0tY3RhLWJhciBoMiwgLnNlY3Rpb24tLWN0YS1iYXIgaDMge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zZWN0aW9uLS1jdGEtYmFyIG9iamVjdCB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDsgfSB9XG5cbi5zZWN0aW9uLS1jdGEtYmFyIC5jZWxsX19idXR0b24ge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5zZWN0aW9uLS1jdGEtYmFyIC5jZWxsX19idXR0b24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLnNlY3Rpb24tLWN0YS1iYXIgLmNlbGxfX2J1dHRvbiAuYnV0dG9uLCAuc2VjdGlvbi0tY3RhLWJhciAuY2VsbF9fYnV0dG9uIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuc2VjdGlvbi0tY3RhLWJhciAuY2VsbF9fYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5zZWN0aW9uLS1zdWJzY3JpYmUge1xuICBiYWNrZ3JvdW5kOiAjMTAyRjUxO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2VjdGlvbi0tc3Vic2NyaWJlIC5zdmctZ2F0b3ItYmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGhlaWdodDogMTkwcHg7XG4gICAgdG9wOiAtMTYwcHg7XG4gICAgbGVmdDogLTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3ZnLWdhdG9yLWJlZm9yZSB7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgbGVmdDogLTI1cHg7IH0gfVxuICAuc2VjdGlvbi0tc3Vic2NyaWJlIC5zdmctZ2F0b3ItYWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiAxOTBweDtcbiAgICBib3R0b206IC0xNTBweDtcbiAgICByaWdodDogLTEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3ZnLWdhdG9yLWFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4OyB9IH1cbiAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VjdGlvbi0tc3Vic2NyaWJlIC5zdWJzY3JpYmVfX2NvbnRlbnQ6YWZ0ZXIsIC5zZWN0aW9uLS1zdWJzY3JpYmUgLnN1YnNjcmliZV9fY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMzJweCAzMnB4IDMycHggMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMXM7IH1cbiAgICAuc2VjdGlvbi0tc3Vic2NyaWJlIC5zdWJzY3JpYmVfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgbGVmdDogLTE1MHB4O1xuICAgICAgYmFja2dyb3VuZDogIzNBQThFRjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuICAgIC5zZWN0aW9uLS1zdWJzY3JpYmUgLnN1YnNjcmliZV9fY29udGVudDphZnRlciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgcmlnaHQ6IC0xNTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICMyRkI2N0M7IH1cbiAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19wcml2YWN5IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgZm9udC1zaXplOiAuOGVtOyB9XG4gICAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19wcml2YWN5IHAge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19wcml2YWN5IGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19wcml2YWN5IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19mb3JtIHtcbiAgICBtYXJnaW46IDJlbSAwOyB9XG4gICAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19mb3JtIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnNlY3Rpb24tLXN1YnNjcmliZSAuc3Vic2NyaWJlX19mb3JtIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNlY3Rpb24tLXN1YnNjcmliZS5hY3RpdmUgLnN1YnNjcmliZV9fY29udGVudDpiZWZvcmUge1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDsgfVxuICAuc2VjdGlvbi0tc3Vic2NyaWJlLmFjdGl2ZSAuc3Vic2NyaWJlX19jb250ZW50OmFmdGVyIHtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IDc1cHg7IH1cblxuLmNhcmRfX25ld3MgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMWVtIDFlbSAxZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIGFzcGVjdC1yYXRpbzogNS8zO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uY2FyZF9fbmV3cy1kYXRhLS1ibHVlLCAuY2FyZF9fbmV3cy1kYXRhLS1jeWFuIHtcbiAgY29sb3I6ICMzQUE4RUY7IH1cblxuLmNhcmRfX25ld3MtZGF0YS0tZ3JlZW4ge1xuICBjb2xvcjogIzJGQjY3QzsgfVxuXG4uY2FyZF9fbmV3cy1kYXRhLS15ZWxsb3cge1xuICBjb2xvcjogI0ZBQjAzQTsgfVxuXG4uY2FyZF9fbmV3cy1kYXRhLS1yZWQsIC5jYXJkX19uZXdzLWRhdGEtLW1hZ2VudGEge1xuICBjb2xvcjogI0UxMzQyOTsgfVxuXG4uY2FyZF9fbmV3cy0tc3BsaXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0U4RThFODtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmNhcmRfX25ld3MtLXNwbGl0IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC5jYXJkX19uZXdzLS1zcGxpdCAuY2FyZF9faW1hZ2UgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAxZW0gMCAxZW0gMWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYXJkX19uZXdzLS1zcGxpdCAuY2FyZF9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4OyB9IH1cbiAgLmNhcmRfX25ld3MtLXNwbGl0IC5jYXJkX19jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAuY2FyZF9fbmV3cy0tc3BsaXQgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuY2FyZF9fbmV3cy0tc3BsaXQgLmNhcmRfX25ld3MtZGF0YSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2VjdGlvbi0tZmVhdHVyZWQtbmV3cyBhOmhvdmVyLCAuc2VjdGlvbi0tbmV3cy1wYWdlIGE6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2VjdGlvbi0tZmVhdHVyZWQtbmV3cyAubmV3cy1sYXRlc3QtdGhyZWUsIC5zZWN0aW9uLS1uZXdzLXBhZ2UgLm5ld3MtbGF0ZXN0LXRocmVlIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH0gfVxuXG4uc2VjdGlvbi0tZmVhdHVyZWQtbmV3cyAubmV3cy1sYXRlc3QtdGhyZWUgYSAuY2FyZF9fY29udGVudCwgLnNlY3Rpb24tLW5ld3MtcGFnZSAubmV3cy1sYXRlc3QtdGhyZWUgYSAuY2FyZF9fY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLWZlYXR1cmVkLW5ld3MgLm5ld3MtbGF0ZXN0LXRocmVlIGEgLmNhcmRfX2NvbnRlbnQsIC5zZWN0aW9uLS1uZXdzLXBhZ2UgLm5ld3MtbGF0ZXN0LXRocmVlIGEgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi0tZmVhdHVyZWQtbmV3cyAubmV3cy1sYXRlc3QtdGhyZWUgYSAuY2FyZF9fY29udGVudCwgLnNlY3Rpb24tLW5ld3MtcGFnZSAubmV3cy1sYXRlc3QtdGhyZWUgYSAuY2FyZF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgfSB9XG5cbi5zZWN0aW9uLS1mZWF0dXJlZC1uZXdzIC5uZXdzLWxhdGVzdC10aHJlZSBhOmxhc3Qtb2YtdHlwZSAuY2FyZF9fbmV3cywgLnNlY3Rpb24tLW5ld3MtcGFnZSAubmV3cy1sYXRlc3QtdGhyZWUgYTpsYXN0LW9mLXR5cGUgLmNhcmRfX25ld3Mge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zZWN0aW9uLS1uZXdzLXBhZ2UgLm5ld3MtbGF0ZXN0LXRocmVlIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbi5zZWN0aW9uLS1mZWF0dXJlZC1uZXdzLS1zbWFsbCBoZWFkZXIgaDUge1xuICBjb2xvcjogIzNBQThFRjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2VjdGlvbi0tZmVhdHVyZWQtbmV3cy0tc21hbGxfX2dyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2VjdGlvbi0tZmVhdHVyZWQtbmV3cy0tc21hbGxfX2dyaWQgYSB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zZWN0aW9uLS1mZWF0dXJlZC1uZXdzLS1zbWFsbF9fZ3JpZC0td3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNlY3Rpb24tLWZlYXR1cmVkLW5ld3MtLXNtYWxsIC5jYXJkX19uZXdzLS1zcGxpdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cblxuLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5pY29uLWdyaWQtdHdvLWNvbF9faGVhZGVyIHAge1xuICBtYXgtd2lkdGg6IDgwY2g7IH1cblxuLmljb24tZ3JpZC10d28tY29sX19ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4uaWNvbi1ncmlkLXR3by1jb2xfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiA2MHB4O1xuICBmbGV4OiAwIDAgNjBweDtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgYm9yZGVyLXJhZGl1czogMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pY29uLWdyaWQtdHdvLWNvbF9faWNvbiB7XG4gICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICBmbGV4OiAwIDAgOTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5pY29uLWdyaWQtdHdvLWNvbF9faWNvbiBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAzMHB4OyB9IH1cblxuLmljb24tZ3JpZC10d28tY29sX19jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTsgfVxuICAuaWNvbi1ncmlkLXR3by1jb2xfX2NvbnRlbnQgcCwgLmljb24tZ3JpZC10d28tY29sX19jb250ZW50IGgyLCAuaWNvbi1ncmlkLXR3by1jb2xfX2NvbnRlbnQgaDMge1xuICAgIG1hcmdpbjogMDsgfVxuICAuaWNvbi1ncmlkLXR3by1jb2xfX2NvbnRlbnQgaDIsIC5pY29uLWdyaWQtdHdvLWNvbF9fY29udGVudCBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uaWNvbi1ncmlkLXRocmVlLWNvbF9fZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nOiAzZW0gMmVtO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5pY29uLWdyaWQtdGhyZWUtY29sX19oZWFkZXIgcCB7XG4gIG1heC13aWR0aDogODBjaDtcbiAgbWFyZ2luOiAxZW0gYXV0bzsgfVxuXG4uaWNvbi1ncmlkLXRocmVlLWNvbF9faGVhZGVyOmhhcyhwKSB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4uaWNvbi1ncmlkLXRocmVlLWNvbF9fYmxvY2sge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jayB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5pY29uLWdyaWQtdGhyZWUtY29sX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG4gIGJvcmRlci1yYWRpdXM6IDQ1cHg7XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuaWNvbi1ncmlkLXRocmVlLWNvbF9faWNvbiBpbWcge1xuICAgIG1heC13aWR0aDogNzUlOyB9XG5cbi5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMS41ZW07IH1cbiAgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgcCwgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgaDIsIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IGgzLCAuaWNvbi1ncmlkLXRocmVlLWNvbF9fY29udGVudCBoNCwgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgaDUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuaWNvbi1ncmlkLXRocmVlLWNvbF9fY29udGVudCBoMiwgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgaDMsIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IGg0LCAuaWNvbi1ncmlkLXRocmVlLWNvbF9fY29udGVudCBoNSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjMTAyRjUxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaWNvbi1ncmlkLXRocmVlLWNvbF9fY29udGVudCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9IH1cbiAgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgLmJ1dHRvbiwgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IGJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMS41ZW07IH1cblxuLmljb24tZ3JpZC10aHJlZS1jb2xfX2J1dHRvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy10b3A6IDNlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDY1MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sIC5iYWNrZ3JvdW5kLWltYWdlLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCA0cyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wgLmJhY2tncm91bmQtaW1hZ2UuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wgLmJhY2tncm91bmQtaW1hZ2UtLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sIC5iYWNrZ3JvdW5kLWltYWdlLS1yaWdodCB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAtMi41ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wgLmJhY2tncm91bmQtaW1hZ2UtLXJpZ2h0IHtcbiAgICAgICAgYm90dG9tOiA1MHB4OyB9IH1cbiAgICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbCAuYmFja2dyb3VuZC1pbWFnZS0tcmlnaHQuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMi43czsgfVxuXG4uc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ncmlkLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICMxMDJGNTE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9fZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAzMnB4OyB9IH1cblxuLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9faGVhZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19oZWFkZXIgaDIsIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2hlYWRlciBoMywgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9faGVhZGVyIGg0LCAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19oZWFkZXIgaDUge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2ljb24ge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBtYXJnaW4tbGVmdDogMS41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDE1cHggMTVweCAxNXB4IDA7IH1cbiAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9faWNvbiBpbWcge1xuICAgIG1heC13aWR0aDogNjAlOyB9XG4gIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2ljb24tLWN5YW4ge1xuICAgIGJhY2tncm91bmQ6ICMzQUE4RUY7IH1cbiAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9faWNvbi0tZGFyay1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzM1NkY2RjsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19pY29uLS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzJGQjY3QzsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19pY29uLS1tYWdlbnRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5OyB9XG4gIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2ljb24tLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZDogI0ZBQjAzQTsgfVxuXG4uc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IGg1IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4zKTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IGg1IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IGg1IGE6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy93aGl0ZS1jaGV2cm9uLXJpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTsgfVxuXG4uc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IHAge1xuICBmb250LXNpemU6IDAuOXJlbTsgfVxuXG4uc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IC5idXR0b24sIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMS41ZW0gIWltcG9ydGFudDsgfVxuXG4uc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jayB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tY3lhbiAuaWNvbi1ncmlkLXRocmVlLWNvbF9faWNvbiB7XG4gICAgYmFja2dyb3VuZDogIzNBQThFRjsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tY3lhbiAuaWNvbi1ncmlkLXRocmVlLWNvbF9fY29udGVudCBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM0FBOEVGOyB9XG4gICAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9fYmxvY2stLWN5YW4gLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgYTpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogIzNBQThFRjsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tZGFyay1ncmVlbiAuaWNvbi1ncmlkLXRocmVlLWNvbF9faWNvbiB7XG4gICAgYmFja2dyb3VuZDogIzM1NkY2RjsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tZGFyay1ncmVlbiAuaWNvbi1ncmlkLXRocmVlLWNvbF9fY29udGVudCBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzU2RjZGOyB9XG4gICAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9fYmxvY2stLWRhcmstZ3JlZW4gLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgYTpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogIzM1NkY2RjsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tZ3JlZW4gLmljb24tZ3JpZC10aHJlZS1jb2xfX2ljb24ge1xuICAgIGJhY2tncm91bmQ6ICMyRkI2N0M7IH1cbiAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9fYmxvY2stLWdyZWVuIC5pY29uLWdyaWQtdGhyZWUtY29sX19jb250ZW50IGE6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyRkI2N0M7IH1cbiAgICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tZ3JlZW4gLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgYTpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogIzJGQjY3QzsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tbWFnZW50YSAuaWNvbi1ncmlkLXRocmVlLWNvbF9faWNvbiB7XG4gICAgYmFja2dyb3VuZDogI0UxMzQyOTsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0tbWFnZW50YSAuaWNvbi1ncmlkLXRocmVlLWNvbF9fY29udGVudCBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRTEzNDI5OyB9XG4gICAgLnNlY3Rpb24tLWljb24tZ3JpZC10aHJlZS1jb2wtLXRvcCAuaWNvbi1ncmlkLXRocmVlLWNvbF9fYmxvY2stLW1hZ2VudGEgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgYTpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAuc2VjdGlvbi0taWNvbi1ncmlkLXRocmVlLWNvbC0tdG9wIC5pY29uLWdyaWQtdGhyZWUtY29sX19ibG9jay0teWVsbG93IC5pY29uLWdyaWQtdGhyZWUtY29sX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkFCMDNBOyB9XG4gIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2Jsb2NrLS15ZWxsb3cgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgYTpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZBQjAzQTsgfVxuICAgIC5zZWN0aW9uLS1pY29uLWdyaWQtdGhyZWUtY29sLS10b3AgLmljb24tZ3JpZC10aHJlZS1jb2xfX2Jsb2NrLS15ZWxsb3cgLmljb24tZ3JpZC10aHJlZS1jb2xfX2NvbnRlbnQgYTpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI0ZBQjAzQTsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbDpiZWZvcmUsIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXBhbmVsOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tY2FyZC1jb250YWluZXIge1xuICBwYWRkaW5nOiAyZW0gMS4yNWVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLWNhcmQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDRlbSAxZW07IH0gfVxuICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tY2FyZC1jb250YWluZXItLWxvY2F0aW9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tY2FyZC1jb250YWluZXItLWxvY2F0aW9ucyAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fdGFicy1wYW5lbC1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXBhbmVsLS1jeWFuIC5idXR0b24sIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXBhbmVsLS1jeWFuIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tY3lhbiBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjM0FBOEVGOyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXBhbmVsLS1jeWFuIGxpOmJlZm9yZSB7XG4gIGNvbG9yOiAjM0FBOEVGICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLWRhcmstZ3JlZW4gLmJ1dHRvbiwgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLWRhcmstZ3JlZW4gLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXBhbmVsLS1kYXJrLWdyZWVuIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMzNTZGNkY7IH1cblxuLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLWRhcmstZ3JlZW4gbGk6YmVmb3JlIHtcbiAgY29sb3I6ICMzNTZGNkYgIWltcG9ydGFudDsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tZ3JlZW4gLmJ1dHRvbiwgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLWdyZWVuIC5mb3JtLWNvbnRhaW5lciBidXR0b24sIC5mb3JtLWNvbnRhaW5lciAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tZ3JlZW4gYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzQ3QjQ3QjsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tZ3JlZW4gbGk6YmVmb3JlIHtcbiAgY29sb3I6ICM0N0I0N0IgIWltcG9ydGFudDsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tbWFnZW50YSAuYnV0dG9uLCAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tbWFnZW50YSAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLW1hZ2VudGEgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI0UxMzQyOTsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1wYW5lbC0tbWFnZW50YSBsaTpiZWZvcmUge1xuICBjb2xvcjogI0UxMzQyOSAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXBhbmVsLS15ZWxsb3cgLmJ1dHRvbiwgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLXllbGxvdyAuZm9ybS1jb250YWluZXIgYnV0dG9uLCAuZm9ybS1jb250YWluZXIgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtcGFuZWwtLXllbGxvdyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjRkFCMDNBOyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXBhbmVsLS15ZWxsb3cgbGk6YmVmb3JlIHtcbiAgY29sb3I6ICNGQUIwM0EgIWltcG9ydGFudDsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07IH0gfVxuICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1jb250ZW50LS13aGl0ZS1mYWRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy1jb250ZW50LS13aGl0ZS1mYWRlIC50YWJzLXBhbmVsLS1jYXJkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLWNvbnRlbnQtLXdoaXRlLWZhZGUgLnRhYnMtcGFuZWwtLWNhcmQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjRlbTsgfSB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy10aXRsZSBhOmZvY3VzLCAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy10aXRsZSBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogIzEwMkY1MTsgfVxuICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy10aXRsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogI0U4RThFODtcbiAgICBhbmltYXRpb246IGZhZGVJbiAuNHMgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjVlbSk7XG4gICAgbGVmdDogLjc1ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtdGl0bGU6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41ZW0pO1xuICAgICAgICBsZWZ0OiAxLjI1ZW07IH0gfVxuICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy10aXRsZS0tY3lhbi5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzQUE4RUY7IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtdGl0bGUtLWRhcmstZ3JlZW4uaXMtYWN0aXZlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzU2RjZGOyB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXRpdGxlLS1ncmVlbi5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0N0I0N0I7IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtdGl0bGUtLW1hZ2VudGEuaXMtYWN0aXZlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTEzNDI5OyB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLXRpdGxlLS15ZWxsb3cuaXMtYWN0aXZlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkFCMDNBOyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtLWNvbnRlbnQgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IDFlbTsgfVxuICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtLWNvbnRlbnQgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtLWNvbnRlbnQ6OmJlZm9yZSwgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtLWNvbnRlbnQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLS12ZXJ0aWNhbCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogNGVtOyB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZSBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzIC50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMgLnRhYnMtLXZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogaW5pdGlhbDtcbiAgICAgIGJhY2tncm91bmQ6ICNFMTM0Mjk7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicyAudGFicy0tdmVydGljYWwgLnRhYnMtdGl0bGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX190YWJzLXBhbmVsLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fdGFicy1wYW5lbC1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2ltYWdlLCAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2ltYWdlLCAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY29udGVudCB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNlbTsgfSB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDEuNWVtOyB9XG4gICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NvbnRlbnQgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcMjAzQVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NvbnRlbnQgLmJ1dHRvbiwgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NvbnRlbnQgLmZvcm0tY29udGFpbmVyIGJ1dHRvbiwgLmZvcm0tY29udGFpbmVyIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jb250ZW50IGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1wZW9wbGUge1xuICBiYWNrZ3JvdW5kOiByZWQ7IH1cblxuLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDIuNGVtOyB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24taW1hZ2Uge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLWltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbSAwIDFlbSAxZW07XG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgIGFzcGVjdC1yYXRpbzogNSAvIDM7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24taW1hZ2UgaW1nIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDUgLyA0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24taW1hZ2Uge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLWNvbnRlbnQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMWVtIDFlbSAxZW07XG4gICAgcGFkZGluZzogMS40ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tY29udGVudCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICB3aWR0aDogY2FsYyg3NSUgLSAxZW0pOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1jb250ZW50IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1jb250ZW50IGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24taW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLWluZm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1pbmZvIGgzLCAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1pbmZvIHVsIHtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1pbmZvIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tYWRkcmVzcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tYWRkcmVzcyB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLWFkZHJlc3MgcCwgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tYWRkcmVzcyBhIHtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1hZGRyZXNzIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1hZGRyZXNzIGEge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1vcGVuaW5nLWhvdXJzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tb3BlbmluZy1ob3VycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLW9wZW5pbmctaG91cnMgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLW9wZW5pbmctaG91cnMgdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLW9wZW5pbmctaG91cnMgdWwgbGkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgICAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1vcGVuaW5nLWhvdXJzIHVsIGxpIHNwYW4ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tb3BlbmluZy1ob3VycyB1bCBsaSBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX2NhcmQtbG9jYXRpb24tb3BlbmluZy1ob3VycyB1bCBsaSBzcGFuIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICAgICAgICAuc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19fY2FyZC1sb2NhdGlvbi1vcGVuaW5nLWhvdXJzIHVsIGxpIHNwYW46bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMtLW1hZ2VudGEgLnRhYnMtY29udGVudCB1bCBsaTpiZWZvcmUge1xuICBjb2xvcjogI0UxMzQyOTsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicy0tbWFnZW50YSAudGFicy10aXRsZS5pcy1hY3RpdmU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjRTEzNDI5OyB9XG5cbi5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzLS1jeWFuIC50YWJzLWNvbnRlbnQgdWwgbGk6YmVmb3JlIHtcbiAgY29sb3I6ICMzQUE4RUY7IH1cblxuLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnMtLWN5YW4gLnRhYnMtdGl0bGUuaXMtYWN0aXZlOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzNBQThFRjsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicy0tZ3JlZW4gLnRhYnMtY29udGVudCB1bCBsaTpiZWZvcmUge1xuICBjb2xvcjogIzJGQjY3QzsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFicy0tZ3JlZW4gLnRhYnMtdGl0bGUuaXMtYWN0aXZlOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzJGQjY3QzsgfVxuXG4uc2VjdGlvbi0tdGFiYmVkLWNvbnRlbnQtdGFic19faGVhZGVyLXRoaW4gaDIge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5hbGlnbi1pdGVtcy0tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5jZWxsLS1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA2OHB4O1xuICAgIHotaW5kZXg6IDIwMDsgfVxuICAudGFicy0tdmVydGljYWwge1xuICAgIHRvcDogLTYwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudGFicy0tdmVydGljYWw6aG92ZXIge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAudGFicy0tdmVydGljYWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IC42ZW0gIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAuNmVtICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvY2hldnJvbi1kb3duLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAxZW07XG4gICAgICB0b3A6IDEuNWVtO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50YWJzLS12ZXJ0aWNhbCAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgICBvcmRlcjogMTsgfSB9XG5cbi5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIC5jZWxsLS1yaWNoLXRleHQgaDEsIC5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIC5jZWxsLS1yaWNoLXRleHQgaDIsIC5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIC5jZWxsLS1yaWNoLXRleHQgaDMsIC5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIC5jZWxsLS1yaWNoLXRleHQgaDQsIC5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIC5jZWxsLS1yaWNoLXRleHQgaDUsIC5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIC5jZWxsLS1yaWNoLXRleHQgcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zZWN0aW9uLS1yaWNoLXRleHQtLWNlbnRlcmVkIC5jZWxsLS1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VjdGlvbi0tcmljaC10ZXh0X19oZWFkZXItdGhpbiBoMiwgLnNlY3Rpb24tLXJpY2gtdGV4dF9faGVhZGVyLXRoaW4gaDMge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgZmlndXJlIHtcbiAgbWFyZ2luOiA0ZW0gYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGNsaXA7IH1cbiAgLmNlbGwtLXJpY2gtdGV4dCBmaWd1cmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3doaXRlLXJpbmctd2l0aC1jdXQuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMjAlO1xuICAgIHotaW5kZXg6IC0xOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgdmlkZW8ge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC0tcmljaC10ZXh0OmVtcHR5LCAuY2VsbC0tcmljaC10ZXh0Oi1tb3otb25seS13aGl0ZXNwYWNlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgb2wge1xuICBtYXJnaW46IDJlbSAwIDEuMjVlbSAyZW07IH1cbiAgLmNlbGwtLXJpY2gtdGV4dCBvbCBsaSB7XG4gICAgbWFyZ2luOiAuNWVtIDA7IH1cblxuLmNlbGwtLXJpY2gtdGV4dCBwIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFlbSAwOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgaDEsIC5jZWxsLS1yaWNoLXRleHQgaDIsIC5jZWxsLS1yaWNoLXRleHQgaDMsIC5jZWxsLS1yaWNoLXRleHQgaDQsIC5jZWxsLS1yaWNoLXRleHQgaDUge1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuICAuY2VsbC0tcmljaC10ZXh0IGgxOmZpcnN0LW9mLXR5cGUsIC5jZWxsLS1yaWNoLXRleHQgaDI6Zmlyc3Qtb2YtdHlwZSwgLmNlbGwtLXJpY2gtdGV4dCBoMzpmaXJzdC1vZi10eXBlLCAuY2VsbC0tcmljaC10ZXh0IGg0OmZpcnN0LW9mLXR5cGUsIC5jZWxsLS1yaWNoLXRleHQgaDU6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY2VsbC0tcmljaC10ZXh0IGg1ICsgaDIge1xuICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuXG4uY2VsbC0tcmljaC10ZXh0IGE6bm90KC5idXR0b24pIHtcbiAgY29sb3I6ICNFMTM0Mjk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jZWxsLS1yaWNoLXRleHQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc2VjdGlvbi0taGVhZGVyLXRleHQtd2VpZ2h0LS1saWdodCBoMSwgLnNlY3Rpb24tLWhlYWRlci10ZXh0LXdlaWdodC0tbGlnaHQgaDIsIC5zZWN0aW9uLS1oZWFkZXItdGV4dC13ZWlnaHQtLWxpZ2h0IGgzLCAuc2VjdGlvbi0taGVhZGVyLXRleHQtd2VpZ2h0LS1saWdodCBoNCwgLnNlY3Rpb24tLWhlYWRlci10ZXh0LXdlaWdodC0tbGlnaHQgaDUge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5xdW90YXRpb24tY2FsbG91dF9fY2FsbG91dCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjMzU2RjZGO1xuICBib3JkZXItcmFkaXVzOiAzMnB4IDMycHggMzJweCAwO1xuICBwYWRkaW5nOiAzZW0gMmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdW90YXRpb24tY2FsbG91dF9fY2FsbG91dCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDNlbSA0ZW07IH0gfVxuXG4ucXVvdGF0aW9uLWNhbGxvdXRfX3F1b3RlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdW90YXRpb24tY2FsbG91dF9fcXVvdGUge1xuICAgICAgcGFkZGluZy1yaWdodDogN2VtOyB9IH1cbiAgLnF1b3RhdGlvbi1jYWxsb3V0X19xdW90ZTphZnRlciB7XG4gICAgY29udGVudDogJ1xcMDIwMUMnO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDE0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucXVvdGF0aW9uLWNhbGxvdXRfX3F1b3RlOmFmdGVyIHtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICByaWdodDogLTMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjAwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsgfSB9XG5cbi5xdW90YXRpb24tY2FsbG91dF9fcHJvZmlsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuICAucXVvdGF0aW9uLWNhbGxvdXRfX3Byb2ZpbGUgaW1nIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIG1hcmdpbi1yaWdodDogMS41ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnF1b3RhdGlvbi1jYWxsb3V0X19wcm9maWxlIGltZyB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7IH0gfVxuICAucXVvdGF0aW9uLWNhbGxvdXRfX3Byb2ZpbGUgLm5hbWUsIC5xdW90YXRpb24tY2FsbG91dF9fcHJvZmlsZSAucG9zaXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucXVvdGF0aW9uLWNhbGxvdXRfX3Byb2ZpbGUgLm5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnNlY3Rpb24tLXF1b3RhdGlvbi1jYWxsb3V0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2VjdGlvbi0tcXVvdGF0aW9uLWNhbGxvdXQgLmFsaWduLWxlZnQgLnF1b3RhdGlvbi1jYWxsb3V0X19jYWxsb3V0IHtcbiAgYm9yZGVyLXJhZGl1czogMzJweCAzMnB4IDAgMzJweDsgfVxuXG4uc2VjdGlvbi0tcXVvdGF0aW9uLWNhbGxvdXQgLmJhY2tncm91bmQtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMzAwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi0tcXVvdGF0aW9uLWNhbGxvdXQgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMGVtO1xuICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgLnNlY3Rpb24tLXF1b3RhdGlvbi1jYWxsb3V0IC5iYWNrZ3JvdW5kLWltYWdlLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCA0cyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgLnNlY3Rpb24tLXF1b3RhdGlvbi1jYWxsb3V0IC5iYWNrZ3JvdW5kLWltYWdlLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gIC5zZWN0aW9uLS1xdW90YXRpb24tY2FsbG91dCAuYmFja2dyb3VuZC1pbWFnZS0tbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXF1b3RhdGlvbi1jYWxsb3V0IC5iYWNrZ3JvdW5kLWltYWdlLS1sZWZ0IHtcbiAgICAgICAgbGVmdDogNTBweDsgfSB9XG5cbi5zZWN0aW9uLS1xdW90YXRpb24tY2FsbG91dC0tbmF2eSAucXVvdGF0aW9uLWNhbGxvdXRfX2NhbGxvdXQge1xuICBiYWNrZ3JvdW5kOiAjMTAyRjUxOyB9XG5cbi5zZWN0aW9uLS1xdW90YXRpb24tY2FsbG91dC0tZ3JlZW4gLnF1b3RhdGlvbi1jYWxsb3V0X19jYWxsb3V0IHtcbiAgYmFja2dyb3VuZDogIzJGQjY3QzsgfVxuXG4uY2FyZF9fY291cnNlcyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gIC5jYXJkX19jb3Vyc2VzOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJkX19jb3Vyc2VzIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNmVtOyB9XG4gICAgICAuY2FyZF9fY291cnNlczpudGgtbGFzdC1jaGlsZCgtbiszKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuY2FyZF9fY291cnNlcyBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHggMzJweCAzMnB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgLmNhcmRfX2NvdXJzZXMtZGF0YSB7XG4gICAgY29sb3I6ICMzNTZGNkY7IH1cbiAgICAuY2FyZF9fY291cnNlcy1kYXRhLS1jeWFuIHtcbiAgICAgIGNvbG9yOiAjM0FBOEVGOyB9XG4gICAgLmNhcmRfX2NvdXJzZXMtZGF0YS0tZ3JlZW4ge1xuICAgICAgY29sb3I6ICMyRkI2N0M7IH1cbiAgLmNhcmRfX2NvdXJzZXMgLmNhcmRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnNlY3Rpb24tLWNvdXJzZXNfX2hlYWRlciBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zZWN0aW9uLS1jb3Vyc2VzX19oZWFkZXIgaDUge1xuICBjb2xvcjogIzM1NkY2RjsgfVxuXG4uY2FyZF9fY291cnNlIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY2FyZF9fY291cnNlIC5jYXJkX19uZXdzLWRhdGEge1xuICBjb2xvcjogIzM1NkY2RjsgfVxuXG4uc2VjdGlvbi0tdHdvLWNvbC1lbnRyeSB7XG4gIG1hcmdpbi10b3A6IDhlbTsgfVxuICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2NvbnRlbnQgcCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudCBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMzJweDsgfVxuICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19jb250ZW50IC5oZXJvX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZlbTsgfVxuICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fd3lzaXd5ZyBoMiwgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3d5c2l3eWcgaDMsIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X193eXNpd3lnIGg0IHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X193eXNpd3lnIHVsIHtcbiAgICBwYWRkaW5nOiAzZW0gNGVtO1xuICAgIG1hcmdpbjogMmVtIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4OyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3d5c2l3eWcgdWwgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X193eXNpd3lnIHVsIGxpOmhhcyhoMiwgaDMsIGg0LCBoNSkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3d5c2l3eWcgdWwgbGk6aGFzKGEpOjptYXJrZXIge1xuICAgICAgICBjb2xvcjogIzNBQThFRjsgfVxuICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3d5c2l3eWcgdWwgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fc2lkZS1iYXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3NpZGUtYmFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS44NzVyZW0gLyAyKTsgfSB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3NpZGUtYmFyIC5jYXJkLS1wb3N0IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3NpZGUtYmFyIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMnB4IDMycHggMzJweCAwOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3NpZGUtYmFyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX3NpZGUtYmFyIC5hc2lkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19zaWRlLWJhciAuYXNpZGUtLWdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzJGQjY3QzsgfVxuICAgICAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fc2lkZS1iYXIgLmFzaWRlLS1ncmVlbiAuYXNpZGVfX2ludHJvIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgICAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fc2lkZS1iYXIgLmFzaWRlLS1ncmVlbiAuYXNpZGVfX2ludHJvIHAge1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19hcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZSBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2FydGljbGUgc3BhbiBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2FydGljbGUgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZSBoMyBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZS0tYmx1ZSBzcGFuLCAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZS0tYmx1ZSBzcGFuID4gYSwgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2FydGljbGUtLWN5YW4gc3BhbiwgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2FydGljbGUtLWN5YW4gc3BhbiA+IGEge1xuICAgICAgY29sb3I6ICMzQUE4RUY7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZS0tZ3JlZW4gc3BhbiwgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2FydGljbGUtLWdyZWVuIHNwYW4gPiBhIHtcbiAgICAgIGNvbG9yOiAjMkZCNjdDOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2FydGljbGUtLXJlZCBzcGFuLCAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZS0tcmVkIHNwYW4gPiBhLCAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZS0tbWFnZW50YSBzcGFuLCAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYXJ0aWNsZS0tbWFnZW50YSBzcGFuID4gYSB7XG4gICAgICBjb2xvcjogI0UxMzQyOTsgfVxuICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY3RhLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY3RhLXRleHQgYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fZXhwZXJ0cyB7XG4gICAgbWFyZ2luLXRvcDogM2VtOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2V4cGVydHMtZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIG1hcmdpbi10b3A6IDNlbTsgfVxuICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19leHBlcnRzLWl0ZW0ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19leHBlcnRzLWl0ZW0ge1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19leHBlcnRzLWl0ZW0gaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fZXhwZXJ0cy1pdGVtIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2V4cGVydHMtaXRlbSBoMyBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYmFjay10byB7XG4gICAgbWFyZ2luLXRvcDogM2VtOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2JhY2stdG8gYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYnV0dG9ucyB7XG4gICAgbWFyZ2luOiAyZW0gMDsgfVxuICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19idXR0b25zIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fYnV0dG9ucyB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2J1dHRvbnMgdWwgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2V2ZW50LWluZm8ge1xuICAgIHBhZGRpbmc6IDNlbSA0ZW07XG4gICAgbWFyZ2luOiAyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fZXZlbnQtaW5mbyBoMiwgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2V2ZW50LWluZm8gaDMsIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19ldmVudC1pbmZvIGg0LCAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fZXZlbnQtaW5mbyBoNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07IH1cbiAgICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19ldmVudC1pbmZvIGgyOmZpcnN0LW9mLXR5cGUsIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19ldmVudC1pbmZvIGgzOmZpcnN0LW9mLXR5cGUsIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19ldmVudC1pbmZvIGg0OmZpcnN0LW9mLXR5cGUsIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19ldmVudC1pbmZvIGg1OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2V2ZW50LWluZm8gcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2V2ZW50LWluZm8gYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19jb250ZW50LWNhbGxvdXQge1xuICAgIG1hcmdpbjogM2VtIDA7XG4gICAgcGFkZGluZzogM2VtIDRlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IGgyLCAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IGgzLCAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IHVsIHtcbiAgICAgIG1hcmdpbjogMmVtIDA7IH1cbiAgICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19jb250ZW50LWNhbGxvdXQgdWw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2NvbnRlbnQtY2FsbG91dCB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICAuc2VjdGlvbi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IHVsIGxpOmhhcyhoMiwgaDMsIGg0LCBoNSkge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2NvbnRlbnQtY2FsbG91dCB1bCBsaTpoYXMoYSk6Om1hcmtlciB7XG4gICAgICAgICAgY29sb3I6ICMzQUE4RUY7IH1cbiAgICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2NvbnRlbnQtY2FsbG91dCB1bCBsaTpoYXMoYSk6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjM0FBOEVGOyB9XG4gICAgICAgIC5zZWN0aW9uLS10d28tY29sLWVudHJ5X19jb250ZW50LWNhbGxvdXQgdWwgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICMzQUE4RUY7IH1cbiAgICAgICAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnlfX2NvbnRlbnQtY2FsbG91dCB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNlY3Rpb24tLXR3by1jb2wtZW50cnkgKyAuc2VjdGlvbi0tZmVhdHVyZWQtbmV3cy0tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5zZWN0aW9uLS1jb2RlLWNvcHlfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLWNvZGUtY29weV9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNlY3Rpb24tLWNvZGUtY29weV9fZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLnNlY3Rpb24tLWNvZGUtY29weV9fY29udGVudCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4uc2VjdGlvbi0tY29kZS1jb3B5X19jb2RlLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogNGVtOyB9XG4gIC5zZWN0aW9uLS1jb2RlLWNvcHlfX2NvZGUtYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLS1jb2RlLWNvcHlfX2NvZGUtYmxvY2sgcHJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIHBhZGRpbmc6IDZlbSAzZW0gM2VtIDA7XG4gICAgbWFyZ2luOiAzZW0gMDsgfVxuICAgIC5zZWN0aW9uLS1jb2RlLWNvcHlfX2NvZGUtYmxvY2sgcHJlIGNvZGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLyogbWFrZSBzcGFjZSAgKi9cbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwMHB4OyB9XG4gICAgLnNlY3Rpb24tLWNvZGUtY29weV9fY29kZS1ibG9jayBwcmUgYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zZWN0aW9uLS1jb2RlLWNvcHlfX2NvZGUtYmxvY2sgcHJlIGgzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAuc2VjdGlvbi0tY29kZS1jb3B5X19jb2RlLWJsb2NrIHByZSBoMyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MCU7IH0gfVxuXG4uc2VjdGlvbi0tY29kZS1jb3B5X19tc2ctY29uZmlybSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwKTtcbiAgei1pbmRleDogMTAwMDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZS1pbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNlY3Rpb24tLWNvZGUtY29weV9fbXNnLWNvbmZpcm0uYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjc1KTsgfVxuXG4uc2VjdGlvbi0tZXZlbnQtZm9ybSAuYmFja2dyb3VuZC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuc2VjdGlvbi0tZXZlbnQtZm9ybSAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICB3aWR0aDogNDAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLS1ldmVudC1mb3JtIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IC00ZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTRlbTsgfSB9XG4gIC5zZWN0aW9uLS1ldmVudC1mb3JtIC5iYWNrZ3JvdW5kLWltYWdlLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCA0cyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgLnNlY3Rpb24tLWV2ZW50LWZvcm0gLmJhY2tncm91bmQtaW1hZ2UuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgLnNlY3Rpb24tLWV2ZW50LWZvcm0gLmJhY2tncm91bmQtaW1hZ2UtLWNlbnRlcmVkIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLnNlY3Rpb24tLWV2ZW50LWZvcm0gLmJhY2tncm91bmQtaW1hZ2UtLWxlZnQge1xuICAgIGxlZnQ6IDA7IH1cbiAgLnNlY3Rpb24tLWV2ZW50LWZvcm0gLmJhY2tncm91bmQtaW1hZ2UtLXJpZ2h0IHtcbiAgICByaWdodDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAuc2VjdGlvbi0tZXZlbnQtZm9ybSAuYmFja2dyb3VuZC1pbWFnZS0tcmlnaHQge1xuICAgICAgICBib3R0b206IDUwcHg7IH0gfVxuICAgIC5zZWN0aW9uLS1ldmVudC1mb3JtIC5iYWNrZ3JvdW5kLWltYWdlLS1yaWdodC5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyLjdzOyB9XG5cbi5zZWN0aW9uLS1jYXJkLWdyaWQtdGV4dC10d28tY29sX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLS1jYXJkLWdyaWQtdGV4dC10d28tY29sX19jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc2VjdGlvbi0tY2FyZC1ncmlkLXRleHQtdHdvLWNvbF9fZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uc2VjdGlvbi0tY2FyZC1ncmlkLXRleHQtdHdvLWNvbF9fY2FyZCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRThFOEU4OyB9XG4gIC5zZWN0aW9uLS1jYXJkLWdyaWQtdGV4dC10d28tY29sX19jYXJkOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLS1jYXJkLWdyaWQtdGV4dC10d28tY29sX19jYXJkIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoNDUuODMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zZWN0aW9uLS1jYXJkLWdyaWQtdGV4dC10d28tY29sX19jYXJkIGEge1xuICAgIG1hcmdpbi10b3A6IDNlbTsgfVxuXG4uc2VjdGlvbi0tY2FyZC1ncmlkLWZpbGVzX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLS1jYXJkLWdyaWQtZmlsZXNfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zZWN0aW9uLS1jYXJkLWdyaWQtZmlsZXNfX2dyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMS41ZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi0tY2FyZC1ncmlkLWZpbGVzX19ncmlkIHtcbiAgICAgIGdhcDogM2VtOyB9IH1cblxuLnNlY3Rpb24tLWNhcmQtZ3JpZC1maWxlc19faGVhZGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi5zZWN0aW9uLS1jYXJkLWdyaWQtZmlsZXNfX2NhcmQge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmc6IDIuNWVtO1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICBib3JkZXItcmFkaXVzOiAzMnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tLWNhcmQtZ3JpZC1maWxlc19fY2FyZCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBjYWxjKDQ1LjgzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5zZWN0aW9uLS1jYXJkLWdyaWQtZmlsZXNfX2NhcmQgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnNlY3Rpb24tLWNhcmQtZ3JpZC1maWxlc19fY2FyZCBhIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07IH1cblxuOnJvb3Qge1xuICAtLWxvY2F0aW9uLW1hcmtlci1kZWxheTogMHM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNlY3Rpb24tLWxvY2F0aW9ucy1tYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2VjdGlvbi0tbG9jYXRpb25zLW1hcF9faGVhZGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA1ZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi0tbG9jYXRpb25zLW1hcF9faGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5zZWN0aW9uLS1sb2NhdGlvbnMtbWFwX19oZWFkZXItZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNlY3Rpb24tLWxvY2F0aW9ucy1tYXBfX2hlYWRlci1jb250ZW50IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgLnNlY3Rpb24tLWxvY2F0aW9ucy1tYXBfX2hlYWRlci1jb250ZW50IHAge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc2VjdGlvbi0tbG9jYXRpb25zLW1hcF9fbWFwLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zZWN0aW9uLS1sb2NhdGlvbnMtbWFwX19tYXAtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgwMHB4OyB9XG4gIC5zZWN0aW9uLS1sb2NhdGlvbnMtbWFwX19tYXAtYmxvY2sgaW1nW3JvbGU9cHJlc2VudGF0aW9uXSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgd2lkdGg6IDI1N3B4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyNTdweCAhaW1wb3J0YW50OyB9XG5cbi5zZWN0aW9uLS1sb2NhdGlvbnMtbWFwIC5nbS1zdHlsZSAuZ20tc3R5bGUtaXctYyB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHggMTJweCAxMnB4IDA7IH1cbiAgLnNlY3Rpb24tLWxvY2F0aW9ucy1tYXAgLmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1jIGJ1dHRvbiB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uc2VjdGlvbi0tbG9jYXRpb25zLW1hcCAuZ20tc3R5bGUgaWZyYW1lICsgZGl2IHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNlY3Rpb24tLWxvY2F0aW9ucy1tYXBfX2luZm8td2luZG93IHtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDI5MHB4O1xuICBwYWRkaW5nOiAxLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMzJweCAzMnB4IDAgMzJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMxMDJGNTE7IH1cbiAgLnNlY3Rpb24tLWxvY2F0aW9ucy1tYXBfX2luZm8td2luZG93IGg0IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMTAyRjUxOyB9XG4gIC5zZWN0aW9uLS1sb2NhdGlvbnMtbWFwX19pbmZvLXdpbmRvdyBwIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICAuc2VjdGlvbi0tbG9jYXRpb25zLW1hcF9faW5mby13aW5kb3cgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2VjdGlvbi0tbG9jYXRpb25zLW1hcF9faW5mby13aW5kb3cgdWw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgIC5zZWN0aW9uLS1sb2NhdGlvbnMtbWFwX19pbmZvLXdpbmRvdyB1bCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMTAyRjUxO1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07IH1cblxuLm5ld3NsZXR0ZXItcG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjMTAyRjUxO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAyLjVlbSAxZW0gMi41ZW0gMWVtO1xuICBib3JkZXItcmFkaXVzOiAzMnB4OyB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtOyB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwIGgyLCAubmV3c2xldHRlci1wb3B1cCBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubmV3c2xldHRlci1wb3B1cCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5uZXdzbGV0dGVyLXBvcHVwIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwIHAge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG4gICAgLm5ld3NsZXR0ZXItcG9wdXAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubmV3c2xldHRlci1wb3B1cF9faWNvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMS41ZW0gYXV0bztcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogIzJGQjY3QztcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4IDMycHggMzJweCAwOyB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwX19mb3JtIHtcbiAgICBtYXJnaW46IDJlbSAwOyB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyLjJyZW07IH1cblxuLnNlYXJjaC1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDY5MHB4OyB9XG4gIC5zZWFyY2gtZm9ybTpob3ZlciAuc2VhcmNoLWZvcm1fX3N1Ym1pdCBpIHtcbiAgICBjb2xvcjogI0ZBQjAzQTsgfVxuICAuc2VhcmNoLWZvcm1fX2tleXdvcmRzLWlucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBoZWlnaHQ6IDIuOGVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaC1mb3JtX19zdWJtaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbi1uYXYtc2VhcmNoLnN2Z1wiKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XG4gICAgLnNlYXJjaC1mb3JtX19zdWJtaXQgaSB7XG4gICAgICBjb2xvcjogI0UxMzQyOTtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDsgfVxuXG4uc2VjdGlvbi0tc2VhcmNoIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLnNlYXJjaC1yZXN1bHRzIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRjhGOEY4OyB9XG4gIC5zZWFyY2gtcmVzdWx0cyBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIGVhc2Utb3V0IC4zczsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTYsIDQ3LCA4MSwgMC4xMSk7IH1cbiAgLnNlYXJjaC1yZXN1bHRzX19pdGVtIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMWVtIDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDY5MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnNlYXJjaC1yZXN1bHRzX19saW5rIHtcbiAgICBjb2xvcjogIzEwMkY1MTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDA7IH1cbiAgLnNlYXJjaC1yZXN1bHRzX190aXRsZSB7XG4gICAgY29sb3I6ICNFMTM0Mjk7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0c19fZXhjZXJwdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uc2VhcmNoLS1zdWdnZXN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG5cbi5uZXdzX19hcnRpY2xlLXNpZGVsaXN0IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNFMTM0Mjk7XG4gIG1hcmdpbjogMmVtIC0wLjdlbSAwO1xuICBwYWRkaW5nOiAyZW0gMC43ZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uZXdzX19hcnRpY2xlLXNpZGVsaXN0IHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAubmV3c19fYXJ0aWNsZS1zaWRlbGlzdCBoNSB7XG4gICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmV3c19fYXJ0aWNsZS1zaWRlbGlzdCBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgLm5ld3NfX2FydGljbGUtc2lkZWxpc3QgLmNhcmRfX25ld3Mge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRThFOEU4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gICAgLm5ld3NfX2FydGljbGUtc2lkZWxpc3QgLmNhcmRfX25ld3M6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgICAubmV3c19fYXJ0aWNsZS1zaWRlbGlzdCAuY2FyZF9fbmV3czpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5uZXdzX19hcnRpY2xlLXNpZGVsaXN0IC5jYXJkX19uZXdzIGE6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubmV3c19fYXJ0aWNsZS1zaWRlbGlzdCAuY2FyZF9fbmV3cyBpbWcge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMnB4IDMycHggMzJweCAwOyB9XG4gICAgLm5ld3NfX2FydGljbGUtc2lkZWxpc3QgLmNhcmRfX25ld3MgaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG5cbi5tZW51LS1maWx0ZXIge1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAyOyB9XG4gIC5tZW51LS1maWx0ZXIgLm1lbnVfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cblxuLm1lbnUtLWlubGluZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LS1pbmxpbmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4OyB9IH1cbiAgLm1lbnUtLWlubGluZS5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIC5tZW51LS1pbmxpbmUgLm1lbnVfX2l0ZW1zLS1pbmxpbmUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogYXV0bzsgfVxuICAgIC5tZW51LS1pbmxpbmUgLm1lbnVfX2l0ZW1zLS1pbmxpbmUgYSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IC44ZW0gIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24tbGluay13aWRlciB7XG4gICAgd2lkdGg6IDQ4MHB4OyB9IH1cblxuLnNlY3Rpb24tLXJlc291cmNlcyAuZ3JpZC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjMTAyRjUxO1xuICBwYWRkaW5nOiAxLjVlbSAyLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogMzJweDsgfVxuICAuc2VjdGlvbi0tcmVzb3VyY2VzIC5ncmlkLWNvbnRhaW5lciBoMiB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnNlY3Rpb24tLXJlc291cmNlcyAuZ3JpZC1jb250YWluZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLS1yZXNvdXJjZXMgLmdyaWQtY29udGFpbmVyIHVsIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tZ2FwOiAyZW07IH0gfVxuICAuc2VjdGlvbi0tcmVzb3VyY2VzIC5ncmlkLWNvbnRhaW5lciBsaSB7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5zZWN0aW9uLS1yZXNvdXJjZXMgLmdyaWQtY29udGFpbmVyIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogLjVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29uLWRvd25sb2FkLWFycm93LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMycHg7XG4gICAgICBtaW4taGVpZ2h0OiAyLjRlbTsgfVxuXG4uc2VjdGlvbi0tbGlua3Mge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuc2VjdGlvbi0tbGlua3MgLmJhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMzYwcHg7IH1cbiAgICAuc2VjdGlvbi0tbGlua3MgLmJhY2tncm91bmQtaW1hZ2Uuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA0cyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1NCU7IH1cbiAgICAuc2VjdGlvbi0tbGlua3MgLmJhY2tncm91bmQtaW1hZ2UuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gICAgLnNlY3Rpb24tLWxpbmtzIC5iYWNrZ3JvdW5kLWltYWdlLS1sZWZ0IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLS1saW5rcyAuYmFja2dyb3VuZC1pbWFnZS0tbGVmdCB7XG4gICAgICAgICAgbGVmdDogLTUwcHg7IH0gfVxuICAuc2VjdGlvbi0tbGlua3MgLmdyaWQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgIHBhZGRpbmc6IDEuNWVtIDIuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7IH1cbiAgICAuc2VjdGlvbi0tbGlua3MgLmdyaWQtY29udGFpbmVyIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDFlbSAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5zZWN0aW9uLS1saW5rcyAuZ3JpZC1jb250YWluZXIgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgbWluLWhlaWdodDogMi40ZW07IH1cbiAgICAgIC5zZWN0aW9uLS1saW5rcyAuZ3JpZC1jb250YWluZXIgbGkgYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcMjAzQVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLS4zZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG5cbi5jYXNlLXN0dWR5X19wYWdlLWJ1aWxkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYXNlLXN0dWR5X19wYWdlLWJ1aWxkZXIgLmNlbGwtLXJpY2gtdGV4dCBoMiwgLmNhc2Utc3R1ZHlfX3BhZ2UtYnVpbGRlciAuY2VsbC0tcmljaC10ZXh0IGgzLCAuY2FzZS1zdHVkeV9fcGFnZS1idWlsZGVyIC5jZWxsLS1yaWNoLXRleHQgaDQsIC5jYXNlLXN0dWR5X19wYWdlLWJ1aWxkZXIgLmNlbGwtLXJpY2gtdGV4dCBoNSB7XG4gICAgbWFyZ2luLXRvcDogM2VtOyB9XG4gIC5jYXNlLXN0dWR5X19wYWdlLWJ1aWxkZXIgLmNlbGwtLXJpY2gtdGV4dCA+IGJsb2NrcXVvdGU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhc2Utc3R1ZHlfX3BhZ2UtYnVpbGRlciAuY2VsbC0tcmljaC10ZXh0IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhc2Utc3R1ZHlfX3BhZ2UtYnVpbGRlciAuY2VsbC0tcmljaC10ZXh0IGZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNhc2Utc3R1ZHlfX3BhZ2UtYnVpbGRlciAuY2VsbC0tcmljaC10ZXh0IGZpZ3VyZTpiZWZvcmUsIC5jYXNlLXN0dWR5X19wYWdlLWJ1aWxkZXIgLmNlbGwtLXJpY2gtdGV4dCBmaWd1cmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ncmV5LXJpbmctd2l0aC1jdXQuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDMuNXM7IH1cbiAgICAuY2FzZS1zdHVkeV9fcGFnZS1idWlsZGVyIC5jZWxsLS1yaWNoLXRleHQgZmlndXJlOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgbGVmdDogLTI1MHB4O1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMnM7IH1cbiAgICAuY2FzZS1zdHVkeV9fcGFnZS1idWlsZGVyIC5jZWxsLS1yaWNoLXRleHQgZmlndXJlOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogLTEyNXB4O1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41czsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNhc2Utc3R1ZHlfX3BhZ2UtYnVpbGRlciAuY2VsbC0tcmljaC10ZXh0IGZpZ3VyZTphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgIHJpZ2h0OiAtMzAwcHg7IH0gfVxuICAgIC5jYXNlLXN0dWR5X19wYWdlLWJ1aWxkZXIgLmNlbGwtLXJpY2gtdGV4dCBmaWd1cmUuYWN0aXZlOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzVkZWcpO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jYXNlLXN0dWR5X19wYWdlLWJ1aWxkZXIgLmNlbGwtLXJpY2gtdGV4dCBmaWd1cmUuYWN0aXZlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5nbG9zc2FyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxZW07IH1cbiAgLmdsb3NzYXJ5X190aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXJnaW46IDFlbSAwIDA7IH1cbiAgLmdsb3NzYXJ5X19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjVlbTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMSAtIDFlbSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEgLSAxZW0pOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5nbG9zc2FyeV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMWVtKTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5nbG9zc2FyeV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMWVtKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmdsb3NzYXJ5X19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAxZW0pOyB9IH1cbiAgICAuZ2xvc3NhcnlfX2NvbnRlbnQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjFmYztcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5saW5rLS1iYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNFMTM0Mjk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tbGVmdDogMmVtOyB9XG4gIC5saW5rLS1iYWNrOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgbGVmdDogLTJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxZW07XG4gICAgcmlnaHQ6IC0yZW07XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL21hZ2VudGEtY2hldnJvbi1yaWdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTsgfVxuICAubGluay0tYmFjazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNFMTM0Mjk7IH1cbiAgICAubGluay0tYmFjazpob3Zlcjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDUwJSkgdHJhbnNsYXRlWCgwLjVlbSk7IH1cblxuLnNlY3Rpb24tLWNhcmVlcnNfX2JyZWFkY3J1bWJzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNlY3Rpb24tLWNhcmVlcnNfX2JyZWFkY3J1bWJzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNFMTM0Mjk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzX19icmVhZGNydW1icyBsaSBhIHtcbiAgICAgIGNvbG9yOiAjRTEzNDI5OyB9XG4gICAgLnNlY3Rpb24tLWNhcmVlcnNfX2JyZWFkY3J1bWJzIGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cbiAgICAuc2VjdGlvbi0tY2FyZWVyc19fYnJlYWRjcnVtYnMgbGk6bGFzdC1vZi10eXBlOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlY3Rpb24tLWNhcmVlcnMuaGVybyB7XG4gIG1hcmdpbi1ib3R0b206IDVlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2VjdGlvbi0tY2FyZWVycyAuaGVyb19faW1hZ2Uge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luLXRvcDogMS41ZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2VjdGlvbi0tY2FyZWVycyAuaGVyb19faW1hZ2Uge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLnNlY3Rpb24tLWNhcmVlcnNfX2NvbnRlbnQsIC5zZWN0aW9uLS1jYXJlZXJzX19hcHBseSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLS1jYXJlZXJzX19jb250ZW50LCAuc2VjdGlvbi0tY2FyZWVyc19fYXBwbHkge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4uc2VjdGlvbi0tY2FyZWVyc19fYXBwbHktaW50cm8ge1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICBwYWRkaW5nOiAzZW07XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gIC5zZWN0aW9uLS1jYXJlZXJzX19hcHBseS1pbnRybyBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2VjdGlvbi0tY2FyZWVyc19fYXBwbGljYXRpb24tZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNlY3Rpb24tLWNhcmVlcnNfX3N1bW1hcnktaWNvbnMge1xuICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgLnNlY3Rpb24tLWNhcmVlcnNfX3N1bW1hcnktaWNvbnMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuc2VjdGlvbi0tY2FyZWVyc19fc3VtbWFyeS1pY29ucyB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtOyB9XG4gICAgICAuc2VjdGlvbi0tY2FyZWVyc19fc3VtbWFyeS1pY29ucyB1bCBsaSBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTsgfVxuXG4uc2VjdGlvbi0tY2FyZWVycy1saXN0aW5ncyB7XG4gIHBhZGRpbmctdG9wOiA3ZW0gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDZlbSArIDEyNXB4KSAhaW1wb3J0YW50OyB9IH1cbiAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX2xpc3QtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX3NlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gICAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX3NlYXJjaCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTsgfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19zZWFyY2ggLnJlc291cmNlc19fc2VhcmNoIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19zZWFyY2ggLnJlc291cmNlc19fc2VhcmNoLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwJTtcbiAgICAgIHJpZ2h0OiAtMTBweDsgfVxuICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVycy1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXJzLWxpc3QgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXJzLWxpc3QgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX2ZpbHRlcnMtbGlzdCBsaSBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNBQThFRjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2Utb3V0OyB9XG4gICAgICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXJzLWxpc3QgbGkgYTpob3ZlciwgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX2ZpbHRlcnMtbGlzdCBsaSBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyOTJlNDsgfVxuICAgICAgICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVycy1saXN0IGxpIGEuZ3JlZW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRkI2N0M7IH1cbiAgICAgICAgICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVycy1saXN0IGxpIGEuZ3JlZW46aG92ZXIsIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXJzLWxpc3QgbGkgYS5ncmVlbjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU4ZDYwOyB9XG4gICAgICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXJzLWxpc3QgbGkgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ8OXJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19jbGVhci1maWx0ZXJzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVyLXNlYXJjaCB7XG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5O1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVyLXNlYXJjaCBoNCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX2ZpbHRlci1vcHRpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTk5OTk5O1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07IH1cbiAgICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVyLW9wdGlvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXItb3B0aW9uIGg1IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVyLW9wdGlvbiBoNSBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG4gICAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX2ZpbHRlci1vcHRpb24gc2VsZWN0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNWVtOyB9XG4gIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXItc29ydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19maWx0ZXItc29ydCBzZWxlY3Qge1xuICAgICAgbWluLWhlaWdodDogMi41ZW07XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fZmlsdGVyLWNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX3NpZGUtYW5ub3VuY2VtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgIGJhY2tncm91bmQ6ICMxMDJGNTE7XG4gICAgcGFkZGluZzogMmVtO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX3NpZGUtYW5ub3VuY2VtZW50IGgxLCAuc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nc19fc2lkZS1hbm5vdW5jZW1lbnQgaDIsIC5zZWN0aW9uLS1jYXJlZXJzLWxpc3RpbmdzX19zaWRlLWFubm91bmNlbWVudCBoMywgLnNlY3Rpb24tLWNhcmVlcnMtbGlzdGluZ3NfX3NpZGUtYW5ub3VuY2VtZW50IGg0IHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICN0b2dnbGUtZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICN0b2dnbGUtZmlsdGVyczp0YXJnZXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC01ZW07XG4gICAgcGFkZGluZy10b3A6IDZlbTsgfSB9XG5cbi5jZWxsLS1maWx0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNlbGwtLWZpbHRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDRlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2VsbC0tZmlsdGVyIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJ1dHRvbi0tZmlsdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgd2lkdGg6IDEuMmVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29uLWZpbHRlcnMuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IC41ZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmJ1dHRvbi0tZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJ1dHRvbi0tY2xvc2UtZmlsdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5OyB9XG5cbi5uYXYtYWxlcnQtYmFyIHtcbiAgYmFja2dyb3VuZDogIzEwMkY1MTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIHBhZGRpbmc6IDAuNWVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAubmF2LWFsZXJ0LWJhciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwZW07XG4gICAgICBwYWRkaW5nOiAwLjI1ZW0gMDsgfSB9XG4gIC5uYXYtYWxlcnQtYmFyX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmF2LWFsZXJ0LWJhcl9fY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIC5uYXYtYWxlcnQtYmFyX19jb250YWluZXIge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAgIC5uYXYtYWxlcnQtYmFyX19jb250YWluZXIgYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC50aXRsZS1iYXItLWhhcy1uYXYtYWxlcnQge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1haW4tLWZ1bGwtd2lkdGgtLWhhcy1uYXYtYWxlcnQge1xuICAgIHRvcDogMTU3cHggICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGVhZGVyLS1oYXMtbmF2LWFsZXJ0IHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLnJlbGF0ZWQtb2ZmaWNlcyBoMiB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucmVsYXRlZC1vZmZpY2VzX19jb250YWluZXItd2hpdGUge1xuICBtYXJnaW4tdG9wOiAyLjVlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDFlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZWxhdGVkLW9mZmljZXNfX2NvbnRhaW5lci13aGl0ZSB7XG4gICAgICBwYWRkaW5nOiAyLjRlbTsgfSB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLy9cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG5cbiQtemYtc2l6ZTogbnVsbDtcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENhcmRcclxuLy8gIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gIDE2LiBEcmlsbGRvd25cclxuLy8gIDE3LiBEcm9wZG93blxyXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcclxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAgMjAuIEZvcm1zXHJcbi8vICAyMS4gTGFiZWxcclxuLy8gIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gIDIzLiBNZW51XHJcbi8vICAyNC4gTWV0ZXJcclxuLy8gIDI1LiBPZmYtY2FudmFzXHJcbi8vICAyNi4gT3JiaXRcclxuLy8gIDI3LiBQYWdpbmF0aW9uXHJcbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gIDQ3LiBSZXZlYWxcclxuLy8gIDQ4LiBTbGlkZXJcclxuLy8gIDQ5LiBTd2l0Y2hcclxuLy8gIDUwLiBUYWJsZVxyXG4vLyAgNTEuIFRhYnNcclxuLy8gIDUyLiBUaHVtYm5haWxcclxuLy8gIDUzLiBUaXRsZSBCYXJcclxuLy8gIDU0LiBUb29sdGlwXHJcbi8vICA1NS4gVG9wIEJhclxyXG4vLyAgNTYuIFh5IEdyaWRcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgcHJpbWFyeTogIzEwMkY1MSxcclxuICBzZWNvbmRhcnk6ICNFMTM0MjksXHJcbiAgc3VjY2VzczogIzNhZGI3NixcclxuICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gIGFsZXJ0OiAjRTEzNDI5LFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xyXG4kZGFyay1ncmF5OiAjOGE4YThhO1xyXG4kYmxhY2s6ICMyQzM4NDM7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2U7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDMycHg7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuKTtcclxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXHJcbiAgaGlkcGktMTogMSxcclxuICBoaWRwaS0xLTU6IDEuNSxcclxuICBoaWRwaS0yOiAyLFxyXG4gIHJldGluYTogMixcclxuICBoaWRwaS0zOiAzXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDIwcHgsXHJcbiAgbWVkaXVtOiAzMHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4gIG1lZGl1bTogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMyKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjgpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XHJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XHJcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMyc7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGw7XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuNnJlbSxcclxuICBzbWFsbDogMC43NXJlbSxcclxuICBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICNGOEY4Rjg7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogMCU7XHJcbiRjYWxsb3V0LWJvcmRlcjogbm9uZTtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4kY2FsbG91dC1zaXplczogKFxyXG4gIHNtYWxsOiAwLjVyZW0sXHJcbiAgZGVmYXVsdDogMXJlbSxcclxuICBsYXJnZTogM3JlbSxcclxuKTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiBub25lO1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6IDA7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XHJcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAxcmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiA5cHg7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjU7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6IDlweDtcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcclxuXHJcbi8vIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcclxuICBkb3duLFxyXG4gIHVwLFxyXG4gIHJpZ2h0LFxyXG4gIGxlZnRcclxuKTtcclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtZGlzcGxheTogKFxyXG4gIGlubGluZSxcclxuICBpbmxpbmUtYmxvY2ssXHJcbiAgYmxvY2ssXHJcbiAgdGFibGUsXHJcbiAgdGFibGUtY2VsbFxyXG4pO1xyXG5cclxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XHJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxyXG4gIGRlY2ltYWwsXHJcbiAgbG93ZXItYWxwaGEsXHJcbiAgbG93ZXItbGF0aW4sXHJcbiAgbG93ZXItcm9tYW4sXHJcbiAgdXBwZXItYWxwaGEsXHJcbiAgdXBwZXItbGF0aW4sXHJcbiAgdXBwZXItcm9tYW5cclxuKTtcclxuXHJcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcclxuICB2aXNpYmxlLFxyXG4gIGhpZGRlbixcclxuICBzY3JvbGxcclxuKTtcclxuXHJcbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKTtcclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XHJcblxyXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gIHdpZHRoLFxyXG4gIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICBvdmVybGluZSxcclxuICB1bmRlcmxpbmUsXHJcbiAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gIGxvd2VyY2FzZSxcclxuICB1cHBlcmNhc2UsXHJcbiAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA0OS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IDAuNTtcclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlOiBldmVuO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41KTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiB0cmFuc3BhcmVudDtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogM3JlbTtcclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kdGl0bGViYXItY29sb3I6ICRibGFjaztcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyA1NC4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDU1LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1Ni4gWHkgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHh5LWdyaWQ6IHRydWU7XHJcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uczogMTI7XHJcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXHJcbiAgc21hbGw6IDIwcHgsXHJcbiAgbWVkaXVtOiAzMHB4XHJcbik7XHJcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XHJcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XHJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XHJcbiR4eS1ibG9jay1ncmlkLW1heDogODtcclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8vXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1wYi12YWx1ZTogbnVsbDtcblxuLy8vL1xuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGRpdmlkZSgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycyksICRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kdW5pdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiBkaXZpZGUoJG51bSwgJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAaWYgJHVuaXQtd2FybmluZ3Mge1xuICAgICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIH1cbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiBkaXZpZGUoJHZhbHVlLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgKiAwLjUgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtZyl9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgZGl2aWRlKCRleHBvbmVudCwgJGRlbm9taW5hdG9yKSksIGRpdmlkZSgkcHJlYzIsICRkZW5vbWluYXRvciksICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkYmFzZSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiBkaXZpZGUoMSwgJG4pICogKCgkbiAtIDEpICogJHggKyBkaXZpZGUoJG51bSwgcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiBkaXZpZGUoJGgsICR3KSAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoZGl2aWRlKCRwYXJzZWQtbm9taW5hdG9yLCAkcGFyc2VkLWRlbm9taW5hdG9yKSk7XG59XG5cbi8vLyBEaXZpZGUgdGhlIGdpdmVuIGAkZGl2aWRlbnRgIGJ5IHRoZSBnaXZlbiBgJGRpdmlzb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXZpZGVudCAtIFRoZSBkaXZpZGVudC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlzb3IgLSBUaGUgZGl2aXNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHByZWNpc2lvbiAtIFRoZSBwcmVjaXNpb24gZGVjaW1hbHMgZm9yIHRoZSBkaXZpc2lvbi5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGRpdmlzaW9uLlxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMikge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9IC8gMikpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6IG51bGwsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nKTtcblxuICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBDYWxsb3V0IHBhZGRpbmdzLlxuLy8vIEB0eXBlIE1hcFxuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gbWFwLXJlbW92ZSgkY2FsbG91dC1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgkcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwcmV2aW91cyBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG5leHQgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1uZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuXG4kcHJpbWFyeS1jb2xvciAgIDogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3IgOiBudWxsICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3IgICA6IG51bGwgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3IgICAgIDogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yICAgOiBudWxsICFkZWZhdWx0O1xuLy8vL1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6IGRpdmlkZSgkcmdiLCAyNTUpO1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsIGRpdmlkZSgkcmdiLCAxMi45MiksIHBvdyhkaXZpZGUoJHJnYiArIDAuMDU1LCAxLjA1NSksIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86IGRpdmlkZSgkbHVtaW5hbmNlMSwgJGx1bWluYW5jZTIpO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IGRpdmlkZSgxLCAkcmF0aW8pO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgKiAwLjE7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXV0aWxpdGllc1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB1dGlsaXRpZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IFZhbHVlIGZvciBgdGV4dC1vdmVyZmxvd2AgdmFyaWFibGVcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWRlZmF1bHQ7XG5cbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFskcHJvdG90eXBlLXRleHQtb3ZlcmZsb3ddIFRleHQgVHJ1bmNhdGVcbkBtaXhpbiB0ZXh0LXRydW5jYXRlKFxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xuKSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6ICRvdmVyZmxvdzsgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIE5vIHdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC1ub3dyYXBgXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBXcmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtd3JhcGBcbkBtaXhpbiB0ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcbiAgLnRleHQtaGlkZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICB9XG5cbiAgLnRleHQtdHJ1bmNhdGUge1xuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gIH1cblxuICAudGV4dC1ub3dyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICB9XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtaGlkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC10cmFuc2Zvcm1hdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBUcmFuc2Zvcm1hdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHJhbnNmb3JtYXRpb24gW10gVGV4dCBUcmFuc2Zvcm1hdGlvblxuQG1peGluIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbikge1xuICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybWF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgLnRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgXHRAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gIFx0XHRcdCAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gIFx0XHRcdCAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWZvbnQtc3R5bGluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZm9udCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LW5vcm1hbGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LWJvbGRgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV0dGVyLXNwYWNpbmcgWyRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ10gV2lkZSBsZXR0ZXIgc3BhY2luZyBmb3IgdGhlIGZvbnRcbkBtaXhpbiBmb250LXdpZGUoXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXG4pIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IE5vcm1hbCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxuQG1peGluIGZvbnQtbm9ybWFsKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtbm9ybWFsXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFdlaWdodCBCb2xkLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ib2xkXSBXZWlnaHQgb2YgdGhlIGZvbnQgKGJvbGQpXG5AbWl4aW4gZm9udC1ib2xkKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtYm9sZFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcbkBtaXhpbiBmb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nIHtcbiAgLmZvbnQtd2lkZXtcbiAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gIH1cblxuICAuZm9udC1ub3JtYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICB9XG5cbiAgLmZvbnQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICB9XG5cbiAgLmZvbnQtaXRhbGljIHtcbiAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LW5vcm1hbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ib2xkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgbGlzdCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtdW5vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS1vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLXVub3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS11bm9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuLy8vIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS1vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLW9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGxpc3QtdW5vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgIHVsLmxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIHVsLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxpc3Qtb3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgIG9sLmxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgb2wuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlIHtcbiAgQGluY2x1ZGUgbGlzdC11bm9yZGVyZWQ7XG4gIEBpbmNsdWRlIGxpc3Qtb3JkZXJlZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcblxuICAgIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXdpZHRoYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItdHlwZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXJlZCBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLWJvcmRlci13aWR0aF0gV2lkdGggb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskcHJvdG90eXBlLWJvcmRlci1jb2xvcl0gQ29sb3Igb2YgdGhlIGJvcmRlclxuQG1peGluIGJvcmRlcmVkKFxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxuICAkdHlwZTogJHByb3RvdHlwZS1ib3JkZXItdHlwZSxcbiAgJGNvbG9yOiAkcHJvdG90eXBlLWJvcmRlci1jb2xvclxuKSB7XG4gIGJvcmRlcjogJHdpZHRoICR0eXBlICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkIHtcbiAgLmJvcmRlcmVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaGFkb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNoYWRvdyB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm94LXNoYWRvd2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpICFkZWZhdWx0O1xuXG4vLy8gU2hhZG93IFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3ggc2hhZG93IHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNoYWRvdyBbJHByb3RvdHlwZS1ib3gtc2hhZG93XSBCb3ggU2hhZG93IG9mIGEgY29tcG9uZW50XG5AbWl4aW4gc2hhZG93KFxuICAkc2hhZG93OiAkcHJvdG90eXBlLWJveC1zaGFkb3dcbikge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcbiAgLnNoYWRvdyB7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNoYWRvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XG4vLy8vXG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG5cbi8vLyBDb2xvciBvZiB0aGUgQXJyb3csIGAkYmxhY2tgIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93IHtcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcbiAgICAuYXJyb3ctI3skcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWNvbG9yLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNlcGFyYXRvclxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2VwYXJhdG9yLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWxpZ25tZW50IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUaXRsZSBzZXBhcmF0b3IgVXRpbGl0eSwgbW9zdGx5IHVzZWQgdG8gc3R5bGUgdGhlIG1haW4gaGVhZGluZyBvZiBhIHNlY3Rpb25cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFsaWduIFskcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbl0gLSBzZXBhcmF0b3IgQWxpZ25tZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoXSAtIEhlaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXG5AbWl4aW4gc2VwYXJhdG9yIChcbiAgJGFsaWduOiAkcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbixcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxuICAkd2lkdGg6ICRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoLFxuICAkYmFja2dyb3VuZDogJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZCxcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxuKSB7XG4gIHRleHQtYWxpZ246ICRhbGlnbiAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xuXG4gICAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XG5cdC5zZXBhcmF0b3ItY2VudGVyIHtcblx0XHRAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcblx0fVxuXG4gIC5zZXBhcmF0b3ItbGVmdCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICB9XG5cbiAgLnNlcGFyYXRvci1yaWdodCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgfVxuXG5cdEBpZiAoJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBvdmVyZmxvd2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKSAhZGVmYXVsdDtcblxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzXG5AbWl4aW4gb3ZlcmZsb3coJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAoaG9yaXpvbnRhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXgoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAodmVydGljYWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy15KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgIC5vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1kaXNwbGF5XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBkaXNwbGF5IGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgZGlzcGxheWAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEaXNwbGF5IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtZGlzcGxheWBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW10gRGlzcGxheSBjbGFzc2VzXG5AbWl4aW4gZGlzcGxheSgkZGlzcGxheSkge1xuICBkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheSB7XG4gIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItYm94XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgYm94LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYm94IHV0aWxpdHlcbkBtaXhpbiBib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveCB7XG4gIC5ib3JkZXItYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ub25lXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgbm9uZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBub25lIHV0aWxpdHlcbkBtaXhpbiBib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmUge1xuICAuYm9yZGVyLW5vbmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLW5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNpemluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc2l6aW5nYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8vIE1heCBIZWlnaHQgMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmcge1xuICAvLyBFbGVtZW50IFNpemluZ1xuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgIC4jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1heCB3aWR0aCAmIGhlaWdodFxuICAubWF4LXdpZHRoLTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoLTEwMDtcbiAgfVxuICAubWF4LWhlaWdodC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQtMTAwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgICAgICAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgICAgICAgICAgLiN7JHNpemV9LSN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBudW1iZXIgb2Ygc3BhY2VycyBjb3VudCAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtbWFyZ2luYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIE1hcmdpbiBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIE1hcmdpbiBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcbkBtaXhpbiBtYXJnaW4oXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkdG9wICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gUGFkZGluZyBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFBhZGRpbmcgUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBQYWRkaW5nIExlZnRcbkBtaXhpbiBwYWRkaW5nKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTWFyZ2luIGNsYXNzZXMgZm9yIHNwZWNpZmljIGRpcmVjdGlvbiBwcm9wZXJ0aWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXIgW10gRGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjZXIgW10gU3BhY2VyXG5AbWl4aW4gbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gYm90dG9tKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkcmlnaHQ6ICRzcGFjZXIsICRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gdmVydGljYWwpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpIHtcbiAgQGlmICgkZGlyID09IHRvcCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBsZWZ0KSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogJHNwYWNlciwgJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nIHtcbiAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgXG4gICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xuICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAuI3skcHJvcH0tI3skc3BhY2VyfSB7XG4gICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgLiN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHMpIHtcbiAgICBAZm9yICRzcGFjZXIgZnJvbSAwIHRocm91Z2ggJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50IHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9IHtcbiAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xuICAgICAgICAgICAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keSB7XHJcbiAgb3ZlcmZsb3cteDogY2xpcDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47ICBcclxufVxyXG5cclxuLnNtYWxsLWxvZ28ge1xyXG4gIG1hcmdpbi1ib3R0b206IDJlbTtcclxuICBtYXgtd2lkdGg6IDIwMHB4O1xyXG59XHJcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIE1vbnRzZXJyYXQgV2ViZm9udCBEZWNsYXJhdGlvbnNcclxuICAgTWluaW1hbDogNDAwLCA1MDAsIDYwMCwgNzAwLCBub3JtYWwgc3R5bGUgb25seVxyXG4gICBPcHRpbWlzZWQgZm9yIHBlcmZvcm1hbmNlIHdpdGggZm9udC1kaXNwbGF5OiBzd2FwXHJcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4gICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICB9XHJcbiAgXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL01vbnRzZXJyYXQtTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICB9XHJcbiAgXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL01vbnRzZXJyYXQtU2VtaUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gIH1cclxuICBcclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvTW9udHNlcnJhdC1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICB9XHJcbiAgXHJcbiBcclxuXHJcbiRnbG9iYWwtZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5O1xyXG59XHJcblxyXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1LCBwIHtcclxuICBmb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseTtcclxufVxyXG5cclxuaDIge1xyXG4gIG1heC13aWR0aDogNTJjaDtcclxufVxyXG5wIHtcclxuICBtYXJnaW46IDFlbSAwO1xyXG59XHJcbi5sYXJnZXtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgbWF4LXdpZHRoOiA1MmNoO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmb250LXNpemU6IDMycHg7XHJcbiAgfVxyXG5cclxufVxyXG5wIHtcclxuICAvLyBtYXgtd2lkdGg6IDcyY2ggIWltcG9ydGFudDtcclxuICAvLyBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcbi5kZS1jb250ZW50LCAubmwtY29udGVudCB7XHJcbiAgLy8gb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xyXG5cclxuICBoMSB7XHJcbiAgICAvLyB3b3JkLWJyZWFrOiBicmVhay1hbGwgIWltcG9ydGFudDtcclxuICB9XHJcbn0iLCJAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogLjU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLS41ZW0pO1xyXG5cclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW5Pbmx5IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxuXHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuIiwiLnBiNCB7XHJcbiAgcGFkZGluZy1ib3R0b206IDRlbTtcclxufVxyXG4uZ3JpZC1jb250YWluZXIge1xyXG4gICYtLXNtYWxsIHtcclxuICAgIG1heC13aWR0aDogNDhyZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICYtLW1lZGl1bSB7XHJcbiAgICBtYXgtd2lkdGg6IDY0cmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLS1mdWxsIHtcclxuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcblxyXG4gICYtLXJlZCwgJi0tbWFnZW50YXtcclxuICAgIGJhY2tncm91bmQ6ICRtYWdlbnRhICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLS1ncmVlbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICYtLWJsdWUsICYtLXByaW1hcnkge1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59IFxyXG5cclxuLmdyaWQteD4ubWVkaXVtLTE2MCB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgd2lkdGg6IDE0MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMSB7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDtcclxuXHJcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSk7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgei1pbmRleDogLTM7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXI6IDZweCBkb3R0ZWQgJHllbGxvdztcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICAgICAgaGVpZ2h0OiA0MHZ3O1xyXG4gICAgICB3aWR0aDogNDB2dztcclxuXHJcbiAgICAgIHJpZ2h0OiAtMnZ3O1xyXG4gICAgICB0b3A6IC04dnc7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgYm9yZGVyOiAxMHB4IGRvdHRlZCAkeWVsbG93O1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDMyZW07XHJcbiAgICAgICAgd2lkdGg6IDMyZW07XHJcblxyXG4gICAgICAgIHJpZ2h0OiAtOHZ3O1xyXG4gICAgICAgIHRvcDogLTJ2dztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuXHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkZ3JlZW4sIDApIDAlLCByZ2JhKCRncmVlbiwgMSkgMTAwJSk7XHJcbiAgICAgIHJpZ2h0OiA1dnc7XHJcbiAgICAgIHRvcDogNXZ3O1xyXG4gICAgICBoZWlnaHQ6IDMyZW07XHJcbiAgICAgIHdpZHRoOiAzMmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb246OmJlZm9yZSwgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbjo6YWZ0ZXIge1xyXG4gICAgICBjbGlwLXBhdGg6IGNpcmNsZSgwJSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAycyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb246OmFmdGVyIHtcclxuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjZzO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlOjpiZWZvcmUsICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlOjphZnRlciB7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTtcclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG4uZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMiB7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDtcclxuXHJcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSk7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgei1pbmRleDogLTM7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBvcGFjaXR5OiAuODtcclxuXHJcbiAgICAgIHJpZ2h0OiAtMTVlbTtcclxuICAgICAgdG9wOiAyNSU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkbWFnZW50YSwgLjUpIDAlLCByZ2JhKCRtYWdlbnRhLCAxKSAxMDAlKTtcclxuICAgICAgYm9yZGVyOiAyLjVlbSBzb2xpZCAkY3lhbiA7XHJcblxyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcblxyXG4gICAgICBoZWlnaHQ6IDQwZW07XHJcbiAgICAgIHdpZHRoOiA0MGVtO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNWVtLCAtNTAlKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCR5ZWxsb3csIC41KSAwJSwgcmdiYSgkeWVsbG93LCAxKSAxMDAlKTtcclxuICAgICAgYm9yZGVyOiAyLjVlbSBzb2xpZCAkZ3JlZW4gO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcblxyXG4gICAgICBoZWlnaHQ6IDMwZW07XHJcbiAgICAgIHdpZHRoOiAzMGVtO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBlbSwgLTUwJSk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb246OmJlZm9yZSwgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbjo6YWZ0ZXIge1xyXG4gICAgICBjbGlwLXBhdGg6IGNpcmNsZSgwJSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAycyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbi5hY3RpdmU6OmJlZm9yZSwgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbi5hY3RpdmU6OmFmdGVyIHtcclxuICAgICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTtcclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG4uZ3JpZC1jb250YWluZXItLWNpcmNsZXMtMyB7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAwO1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IC0zO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAmOjphZnRlciB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkZ3JlZW4sIDApIDAlLCByZ2JhKCR5ZWxsb3csIDEpIDEwMCUpO1xyXG4gICAgcmlnaHQ6IC0yMHZ3O1xyXG4gICAgdG9wOiAxMHZ3O1xyXG4gICAgaGVpZ2h0OiA0OGVtO1xyXG4gICAgd2lkdGg6IDQ4ZW07XHJcbiAgfVxyXG5cclxuICAmLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uOjphZnRlciB7XHJcbiAgICBjbGlwLXBhdGg6IGNpcmNsZSgwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBjbGlwLXBhdGggMnMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gIH1cclxuXHJcbiAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbi5hY3RpdmU6OmFmdGVyIHtcclxuICAgICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTtcclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLmNlbGwtLWNpcmNsZS1iZWhpbmQge1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMDtcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICBjbGlwLXBhdGg6IGNpcmNsZSg1MCUpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTU0JSk7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHotaW5kZXg6IC0zO1xyXG4gICAgaGVpZ2h0OiAxMjAlO1xyXG5cclxuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcblxyXG4gICAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxIC8gMSkge1xyXG4gICAgICBoZWlnaHQ6IDcwdmg7XHJcbiAgICAgIHdpZHRoOiA3MHZoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbjo6YmVmb3JlIHtcclxuICAgIGNsaXAtcGF0aDogY2lyY2xlKDAlKTtcclxuICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAycyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcbiAgfVxyXG5cclxuICAmLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZTo6YmVmb3JlIHtcclxuICAgICAgY2xpcC1wYXRoOiBjaXJjbGUoNTAlKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4uY2VsbCB7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmNlbGwtLXJpY2gtdGV4dCB7XHJcbiAgcCB7XHJcbiAgICBtYXgtd2lkdGg6IDg1Y2g7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xyXG4gICAgbWFyZ2luOiAwIDAgMmVtIDJlbTtcclxuICAgIGxpIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyBwYWRkaW5nLWxlZnQ6IDJlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuICAgICAgbWF4LXdpZHRoOiA1NWNoO1xyXG5cclxuICAgICAgLy8gJjo6YmVmb3JlIHtcclxuICAgICAgLy8gICBjb250ZW50OiB1cmwoJy4uLy4uL2ltZy9ncmVlbi10aWNrLnN2ZycpO1xyXG4gICAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgLy8gICBsZWZ0OiAwO1xyXG4gICAgICAvLyAgIHRvcDogMDtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgYiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHRyeWluZyB0byByZW1vdmUgYW55IG1hcmdpbiBmb3JtIHRoZSBlbmQgb2YgYSBsYXN0IGVsZW1lbnRcclxuICAmID46bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uei1pbmRleC0tMiB7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnotaW5kZXgtLTEge1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi56LWluZGV4LS0wIHtcclxuICB6LWluZGV4OiAwO1xyXG59XHJcblxyXG4uei1pbmRleC0tLTEge1xyXG4gIHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi56LWluZGV4LS12aWRlby1tb2RhbCB7XHJcbiAgei1pbmRleDogMTAyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4uY2VsbC0tdmVydGljYWwge1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gIC5jZWxsIHtcclxuICAgICY6ZW1wdHkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNlbGwtLWhvcml6b250YWwge1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIFxyXG4gIC5jZWxsIHtcclxuICAgICY6ZW1wdHkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIiRjeWFuLXZhcjI6ICMzQUE4RUY7XHJcbiRjeWFuOiAkY3lhbi12YXIyO1xyXG5cclxuJHllbGxvdy12YXIyOiAjRkFCMDNBO1xyXG4keWVsbG93OiAkeWVsbG93LXZhcjI7XHJcblxyXG4kbmF2eTogIzEwMkY1MTtcclxuJG5hdnktdmFyMjogIzA4MjAzYTtcclxuXHJcbiRvZmYtd2hpdGU6ICNEQ0QzQzg7XHJcblxyXG4kZ3JlZW46ICMyRkI2N0M7XHJcbiRncmVlbi12YXIyOiAjMzU2RjZGO1xyXG4kZ3JlZW4tdmFyMzogIzQ3QjQ3QjtcclxuXHJcbiRtYWdlbnRhOiAjRTEzNDI5O1xyXG4kbWFnZW50YS12YXIyOiAjRTEzNDI5O1xyXG5cclxuJHJlZDogJG1hZ2VudGE7XHJcbiRibHVlOiAkY3lhbjtcclxuXHJcbiRncmF5OiAjZGFkYWRhO1xyXG4kdGhpcmRseS1jb2xvcjogJHllbGxvdztcclxuXHJcbiRsaWdodC1ncmF5OiAjRjhGOEY4O1xyXG4kbGlnaHQtZ3JleTogI0Y4RjhGODtcclxuXHJcbiRsaWdodC1ncmV5LXZhcjI6ICNFOEU4RTg7XHJcblxyXG5cclxuJGRhcmstZ3JheTogIzk5OTk5OTtcclxuJGRhcmstZ3JleTogJGRhcmstZ3JheTtcclxuXHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuXHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRtZWRpdW0tZ3JheS12YXIyOiAjNzA3MDcwO1xyXG5cclxuJGRhcmstZ3JheTogIzhhOGE4YTtcclxuJGJsYWNrOiAjM0MzQzNCO1xyXG4kd2hpdGU6ICNmZWZlZmU7XHJcblxyXG4kZGFyazogIzA2MTIxRTtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuJGJsYWNrOiAjMDAwMDAwO1xyXG4vKiFcclxuICogSGFtYnVyZ2Vyc1xyXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcclxuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxyXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcclxuICovXHJcblxyXG4vLyBTZXR0aW5nc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAwICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgOiAxOHB4IDAgMTBweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogMzJweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgIDogM3B4ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgOiA2cHggIWRlZmF1bHQ7XHJcbi8vICRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICRibGFjayAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgIDogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogMHB4ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgOiAwLjcgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yICA6ICRoYW1idXJnZXItbGF5ZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAhZGVmYXVsdDtcclxuXHJcbi8vIFRvIHVzZSBDU1MgZmlsdGVycyBhcyB0aGUgaG92ZXIgZWZmZWN0IGluc3RlYWQgb2Ygb3BhY2l0eSxcclxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxyXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxyXG4kaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgICA6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcclxuXHJcbi8vIFR5cGVzIChSZW1vdmUgb3IgY29tbWVudCBvdXQgd2hhdCB5b3UgZG9u4oCZdCBuZWVkKVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4kaGFtYnVyZ2VyLXR5cGVzOiAoXHJcbiAgLy8gM2R4LFxyXG4gIC8vIDNkeC1yLFxyXG4gIC8vIDNkeSxcclxuICAvLyAzZHktcixcclxuICAvLyAzZHh5LFxyXG4gIC8vIDNkeHktcixcclxuICAvLyBhcnJvdyxcclxuICAvLyBhcnJvdy1yLFxyXG4gIC8vIGFycm93YWx0LFxyXG4gIC8vIGFycm93YWx0LXIsXHJcbiAgLy8gYXJyb3d0dXJuLFxyXG4gIC8vIGFycm93dHVybi1yLFxyXG4gIC8vIGJvcmluZyxcclxuICAvLyBjb2xsYXBzZSxcclxuICAvLyBjb2xsYXBzZS1yLFxyXG4gIC8vIGVsYXN0aWMsXHJcbiAgLy8gZWxhc3RpYy1yLFxyXG4gIC8vIGVtcGhhdGljLFxyXG4gIC8vIGVtcGhhdGljLXIsXHJcbiAgLy8gbWludXMsXHJcbiAgc2xpZGVyLFxyXG4gIC8vIHNsaWRlci1yLFxyXG4gIC8vIHNwaW4sXHJcbiAgLy8gc3Bpbi1yLFxyXG4gIC8vIHNwcmluZyxcclxuICAvLyBzcHJpbmctcixcclxuICAvLyBzdGFuZCxcclxuICAvLyBzdGFuZC1yLFxyXG4gIC8vIHNxdWVlemUsXHJcbiAgLy8gdm9ydGV4LFxyXG4gIC8vIHZvcnRleC1yXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBCYXNlIEhhbWJ1cmdlciAoV2UgbmVlZCB0aGlzKVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AaW1wb3J0IFwiYmFzZVwiO1xyXG5cclxuLy8gSGFtYnVyZ2VyIHR5cGVzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHhcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHlcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzLzNkeS1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHh5LXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdFwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm4tclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvYm9yaW5nXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvY29sbGFwc2UtclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvZWxhc3RpY1wiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpY1wiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvZW1waGF0aWMtclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvbWludXNcIjtcclxuQGltcG9ydCBcInR5cGVzL3NsaWRlclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvc2xpZGVyLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3NwaW4tclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvc3ByaW5nXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvc3RhbmRcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3N0YW5kLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3ZvcnRleFwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvdm9ydGV4LXJcIjtcclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIENvb2tpbmcgdXAgYWRkaXRpb25hbCB0eXBlczpcclxuLy9cclxuLy8gVGhlIFNhc3MgZm9yIGVhY2ggaGFtYnVyZ2VyIHR5cGUgc2hvdWxkIGJlIG5lc3RlZFxyXG4vLyBpbnNpZGUgYW4gQGlmIGRpcmVjdGl2ZSB0byBjaGVjayB3aGV0aGVyIG9yIG5vdFxyXG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXHJcbi8vIGluY2x1ZGVkIHR5cGVzIGFyZSBnZW5lcmF0ZWQuXHJcbi8vXHJcbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xyXG4vL1xyXG4vLyBAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbmV3LXR5cGUpIHtcclxuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XHJcbi8vICAgICAuLi5cclxuLy8gICB9XHJcbi8vIH1cclxuIiwiLy8gSGFtYnVyZ2VyXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi5oYW1idXJnZXIge1xyXG4gIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZy15ICRoYW1idXJnZXItcGFkZGluZy14O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cclxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xyXG4gICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcclxuICAgICAgICBmaWx0ZXI6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oYW1idXJnZXItaW5uZXIsXHJcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXHJcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhhbWJ1cmdlci1ib3gge1xyXG4gIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xyXG4gIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uaGFtYnVyZ2VyLWlubmVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIC0yO1xyXG5cclxuICAmLFxyXG4gICY6OmJlZm9yZSxcclxuICAmOjphZnRlciB7XHJcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcclxuICAgIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSxcclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcclxuICB9XHJcbn1cclxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlcikge1xyXG4gIC8qXHJcbiAgICogU2xpZGVyXHJcbiAgICovXHJcbiAgLmhhbWJ1cmdlci0tc2xpZGVyIHtcclxuICAgIC5oYW1idXJnZXItaW5uZXIge1xyXG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcclxuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xyXG5cclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKDQ1ZGVnKTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIC03LCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAtMSwgMCk7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5zZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDRlbSAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogNmVtIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XHJcblxyXG4gICAgICAuZ3JpZC1jb250YWluZXIge1xyXG5cclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGVhc2Utb3V0OyBcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IC42cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcblxyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi0tbGlnaHQtZ3JleSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgfVxyXG5cclxuICAgICYtLXJlZHVjZWQge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNGVtICFpbXBvcnRhbnQ7IFxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDRlbSAhaW1wb3J0YW50OyAgICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi0tY29sbGFwc2Utb3ZlcnJpZGUgIHtcclxuXHJcbiAgcGFkZGluZy10b3A6IDNlbSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogOGVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLnNlY3Rpb24ge1xyXG5cclxuICAgICAgJi0tbGlnaHQtcGluaywgJi0tbGlnaHQtYmx1ZSwgJi0tbGlnaHQteWVsbG93IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8vIE1PRElGSUVSUyBUTyBSRURVQ0UgQ1RBIFNQQUNJTkcgREVQRU5ERU5UIE9OIEFESkFDRU5UIEJMT0NLU1xyXG5cclxuLnNlY3Rpb24tLWNvbnRlbnQtc3BsaXQ6bm90KC5zZWN0aW9uLS1ncmV5LCAuc2VjdGlvbi0tbmF2eSkrLnNlY3Rpb24tLWN0YS1iYXIgeyAgIFxyXG4gIHBhZGRpbmctdG9wOiAyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlY3Rpb24tLWN0YS1iYXIrLnNlY3Rpb246bm90KC5zZWN0aW9uLS1ncmV5LCAuc2VjdGlvbi0tbmF2eSkgeyAgXHJcbiAgcGFkZGluZy10b3A6IDJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VjdGlvbi0taWNvbi1ncmlkLXR3by1jb2w6bm90KC5zZWN0aW9uLS1ncmV5KSsuc2VjdGlvbi0tY3RhLWJhciB7ICAgXHJcbiAgcGFkZGluZy10b3A6IDJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuXHJcbnNlY3Rpb24uc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xyXG5cclxuICAuZ3JpZC1jb250YWluZXIge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC8vIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICB9XHJcblxyXG4gICYuYWN0aXZlIHtcclxuICAgIC5ncmlkLWNvbnRhaW5lcntcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgLy8gbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLnNlY3Rpb24ge1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6IDNlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogM2VtO1xyXG4gIHotaW5kZXg6IDE7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNGVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDRlbTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmctdG9wOiA2ZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNmVtO1xyXG4gIH1cclxuXHJcbiAgJi0tbmF2eSB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJG5hdnk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uLS1jb2xsYXBzZSsuc2VjdGlvbi0tY29sbGFwc2UsIC5zZWN0aW9uLS1ncmV5Ky5zZWN0aW9uLS1ncmV5IHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG59XHJcblxyXG4uc2VjdGlvbi0tZ3JleSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxufVxyXG5cclxuXHJcblxyXG4uc2VjdGlvbiB7XHJcblxyXG4gICYtLXRleHQtaGlnaGxpZ2h0IHtcclxuXHJcbiAgICAmLS1tYWdlbnRhIHtcclxuXHJcbiAgICAgIGVtIHtcclxuICAgICAgICBjb2xvcjogJG1hZ2VudGE7IFxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYtLW5hdnkge1xyXG5cclxuICAgICAgZW0ge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2eTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmNvbG91ci1vdmVycmlkZSB7XHJcblxyXG4gICYtLWN5YW4ge1xyXG4gICAgY29sb3I6ICRjeWFuICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLS1ncmVlbiB7XHJcbiAgICBjb2xvcjogJGdyZWVuICFpbXBvcnRhbnQ7ICAgIFxyXG4gIH1cclxuXHJcbiAgJi0tbWFnZW50YSB7XHJcbiAgICBjb2xvcjogJG1hZ2VudGEgIWltcG9ydGFudDsgICAgXHJcbiAgfVxyXG5cclxuICAmLS1uYXZ5IHtcclxuICAgIGNvbG9yOiAkbmF2eSAhaW1wb3J0YW50OyAgICBcclxuICB9XHJcblxyXG4gICYtLXllbGxvdyB7XHJcbiAgICBjb2xvcjogJHllbGxvdyAhaW1wb3J0YW50OyAgICBcclxuICB9XHJcblxyXG59IFxyXG5cclxuLnNlY3Rpb24tLXB1bGwtdXAge1xyXG4gIG1hcmdpbi10b3A6IC0yZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNWVtO1xyXG4gIH1cclxuXHJcbn0iLCIuaGVhZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTAxO1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy10b3A6IDJlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XHJcbiAgfVxyXG5cclxuICAubG9nby1saW5re1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiA5NnB4O1xyXG4gICAgICBoZWlnaHQ6IDk2cHg7XHJcbiAgICAgIHRvcDogMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAubG9nbyB7XHJcbiAgICBtYXgtd2lkdGg6IDE5OHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDI4MnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI25hdmJhciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAoMTAwdncgLSAxMDAlKSk7XHJcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3M7XHJcbn1cclxuXHJcbi5tYWluLS1mdWxsLXdpZHRoIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyB0b3A6IDEzNnB4ICAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAxNTdweCAgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IHRvcCAuMXMgZWFzZS1vdXQ7XHJcbiAgICAmLmxpZnQge1xyXG4gICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4uZHJvcGRvd24tYXJyb3cge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDEuNHJlbSAhaW1wb3J0YW50O1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAuNmVtICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogLjZlbSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvY2hldnJvbi1kb3duLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuICAgIC8vIG1hcmdpbi10b3A6IC0uNWVtICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogLjVlbTtcclxuICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi1wYXJlbnQge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vcGFyZW50IGZvciBkcm9wZG93biBtZW51XHJcbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIEBleHRlbmQgLmRyb3Bkb3duLWFycm93O1xyXG4gICAgfVxyXG5cclxuICAgIEBleHRlbmQgLmRyb3Bkb3duLXBhcmVudDtcclxuXHJcbiAgICBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW17XHJcbiAgICAgIGEge1xyXG4gICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4ubWFpbi1tZW51IHtcclxuXHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHBhZGRpbmc6IC41cmVtIDA7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHVsIHtcclxuICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICAgICAgPmxpIHtcclxuXHJcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGxpIHtcclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAzMDA7XHJcbiAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhbmltYXRpb246IGZhZGVJbiAuM3Mgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBib3R0b206IC0xZW07XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgYTpub3QoLmJ1dHRvbikge1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIGVhc2Utb3V0IC4zcztcclxuXHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTIyMHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbiB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIGEuYnV0dG9uOm5vdCguY2xlYXIpIHtcclxuICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luOiAxZW0gMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAuNSk7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy9jaGlsZCBmb3IgZHJvcGRvd24gbWVudVxyXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuXHJcbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcblxyXG4gICAgICBhbmltYXRpb246IGZhZGVJbk9ubHkgLjFzO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIC8vIGJhY2tncm91bmQ6IHJnYmEoJHRoaXJkbHktY29sb3IsIC4xMSk7XHJcbiAgICAgIHBhZGRpbmc6IDFlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHJcbiAgICAgICAgei1pbmRleDogLTI7XHJcblxyXG4gICAgICAgIG1hcmdpbjogMCAtMmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDJlbTtcclxuXHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAgICAgICB0b3A6IDE3MHB4IDtcclxuICAgICAgICB6LWluZGV4OiAyMDA7XHJcblxyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgcGFkZGluZzogM2VtIDA7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgZmxleC1mbG93OiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICAmPiAqIHtcclxuICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluIC4ycyBub3JtYWwgZm9yd2FyZHMgZWFzZS1vdXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XHJcbiAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB3aWR0aDogMTAwMCU7XHJcbiAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA2cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAuMDQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgLy8gd2lkdGg6IDE0NDBweDtcclxuICAgICAgICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgLy8gbGVmdDogNjQlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcclxuICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICBsaXtcclxuXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwOHB4KSB7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgMzMlO1xyXG4gICAgICAgICAgcGFkZGluZzogMmVtO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIGVhc2Utb3V0IC4xNXM7XHJcblxyXG5cclxuICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGN5YW4tdmFyMiwgLjEpO1xyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xyXG4gICAgICAgICAgZmxleDogMCAwIDI1JTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGRpdltyb2xlPXRpdGxlXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFlbSAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vYmlsZSBtZW51XHJcbiAgJi5zaG93LW1lbnUge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XHJcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG5cclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG5cclxuICAgIHBhZGRpbmc6IDJlbTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAuNWVtIDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLm1lbnUtLWZlYXR1cmUge1xyXG5cclxuICAgIC8vIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICBhLm1lbnVfX2NhcmQtbGluayB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgLmNhcmRfX2Fycm93IHtcclxuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gICAgICAgIC5jYXJkX19hcnJvdyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIH1cclxuXHJcbiAgICBhOm5vdCgubWVudV9fZXh0cmEtYSkubWVudV9fY2FyZC1saW5rIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51X19kZXRhaWxzIHtcclxuXHJcbiAgICAgIG1hcmdpbjogMWVtO1xyXG4gICAgICBwYWRkaW5nOiAxZW0gMS40ZW0gMS40ZW07XHJcbiAgICAgIC8vIGJveC1zaGFkb3c6IDJweCAycHggOHB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgb3ZlcmZsb3c6IGNsaXA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAzLjVlbSAxZW0gMWVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDFlbSAyLjVlbSAyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAgIC5tZW51X19pbWFnZXtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lbnVfX2ltYWdlLWNvdmVye1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IDUgLyA0O1xyXG5cclxuICAgICAgICBtYXJnaW46IC0xZW0gLTEuNWVtIDA7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIuOGVtKTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgbWFyZ2luOiAtMWVtIC0yLjVlbSAwO1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDVlbSk7O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lbnVfX3RpdGxle1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAgICAgLy8gY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgLy8gbWFyZ2luOiAxZW0gMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgbWFyZ2luOiAyZW0gMCAxZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVudV9fc3VidGl0bGV7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5tZW51X19kZXNjcmlwdGlvbntcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG5cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW46IDFlbSAwIDA7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ0Y2g7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubWVudV9fYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLm1lbnVfX2l0ZW1zIHtcclxuICAgICAgLy8gcGFkZGluZzogMCAyZW07XHJcbiAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBwYWRkaW5nOiAxLjVlbTtcclxuICAgICAgICAvLyBtYXJnaW4tdG9wOiAyLjRlbTtcclxuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAyLjRlbTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG4gICAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tZW51X19pdGVtLWJsb2Nre1xyXG5cclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMWVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luOiAwLjhlbSAwIDAgMDtcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGIsIHN0cm9uZyB7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBiciB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcblxyXG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgICAgICBwYWRkaW5nOiAxZW0gMS40ZW07XHJcbiAgICAgICAgICBtYXJnaW46IDFlbSAwO1xyXG5cclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG5cclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMS40ZW0gMmVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuMmVtICAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLW91dDtcclxuXHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogLTAuMmVtIDA7XHJcblxyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgxbikge1xyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjeWFuLCAuMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMm4pIHtcclxuICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JlZW4sIC4xKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgzbikge1xyXG4gICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAgcmdiYSgkeWVsbG93LCAuMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5tZW51X19leHRyYS1jdGF7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vIHBhZGRpbmc6IDEuNGVtIDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm1lbnVfX2V4dHJhLWN0YS10aXRsZXtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4ubWVudV9fZXh0cmEtYSB7XHJcblxyXG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICBtYXJnaW46IDAuOGVtIDAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gIH1cclxuXHJcbiAgJiB7XHJcbiAgICBjb2xvcjogJG1hZ2VudGEgIWltcG9ydGFudDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5tZW51X19leHRyYS1hLXRlbCAge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4ubWVudV9fc3ViLWhlYWRpbmd7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuXHJcblxyXG4ubWFpbi1zZWNvbmRhcnktbWVudSB7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAyO1xyXG5cclxuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuXHJcbiAgdWwge1xyXG5cclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuaGFzLWRyb3Bkb3duIHtcclxuXHJcbiAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgY29udGVudDogJz4nO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fbmF2IHtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgLmRyb3Bkb3duLXBhbmUge1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICB6LWluZGV4OiAxMDAwO1xyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmX19pbmZvLCAmX19jb250cm9scyB7XHJcblxyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJG1lZGl1bS1ncmF5LXZhcjI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xyXG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07XHJcblxyXG5cclxuICAgIHVsIHtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2NvbnRyb2xzIHtcclxuICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAmX19idG4tcHJpY2luZyB7XHJcblxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5tZW51LS1taW5vciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHBhZGRpbmc6IDFlbSAhaW1wb3J0YW50O1xyXG4gIGJveC1zaGFkb3c6IDBweCA2cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAuMSk7XHJcblxyXG5cclxuICAubWVudV9fc3VidGl0bGV7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gIH1cclxuXHJcbiAgLm1lbnVfX2ZsYWd7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XHJcbiAgICBtYXgtd2lkdGg6IDI1cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxuXHJcbiAgLm1lbnVfX2Rlc2NyaXB0aW9ue1xyXG4gICAgbWFyZ2luLXRvcDogLjVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgKiAwLjY7XHJcbiAgICBwYWRkaW5nOiAxLjJlbSAyZW0gIWltcG9ydGFudDtcclxuICAgIG1pbi13aWR0aDogMjQwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIGVhc2Utb3V0IC4xNXM7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGN5YW4tdmFyMiwgLjEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5tZW51LS1zdHJldGNoIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gIGxpIHtcclxuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLm1lbnUtLW5lc3RsZSB7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGdhcDogMmVtO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgYS5idXR0b24ge1xyXG4gICAgICBtYXJnaW46IC40ZW0gMCAhaW1wb3J0YW50O1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm1lbnUtLWJ1dHRvbnMge1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBnYXA6IC41ZW07XHJcbiAgfVxyXG4gXHJcbiAgbGkge1xyXG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XHJcblxyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmJ1dHRvbi0tbWVudSB7XHJcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAxMCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGZpbHRlcjogaW52ZXJ0KDg4JSkgc2VwaWEoMTklKSBzYXR1cmF0ZSgwJSkgaHVlLXJvdGF0ZSgxMjlkZWcpIGJyaWdodG5lc3MoMTE0JSkgY29udHJhc3QoMTAxJSk7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFpbi1tZW51IGxpIGEuYnV0dG9uLS1tZW51Om5vdCguY2xlYXIpIHtcclxuXHJcbiAgcGFkZGluZzogMC44NWVtIDFlbSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiBmaXQtY29udGVudDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhLmJ1dHRvbi0tbWVudSB7XHJcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcclxuXHJcbiAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMTApICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi5zZWN0aW9uLS1mb290ZXIge1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTsgIFxyXG5cclxuICAmLnNlY3Rpb24ge1xyXG4gICAgcGFkZGluZy10b3A6IDNlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5tZW51LS1mb290ZXIge1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDVlbTtcclxuXHJcbiAgYSB7XHJcbiAgICBwYWRkaW5nOiAuNWVtIDA7XHJcbiAgICBmb250LXNpemU6IC44ZW07XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIG1hcmdpbjogMCAyLjVlbSAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgJi5xdWFydGVyIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhhbGYge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG4ubWVudS0tZm9vdGVyLXN1YntcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICYuYWN0aXZlIGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuc2hpbS1tZy10b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDJlbSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIHBhZGRpbmc6IDAuNHJlbSAwO1xyXG4gICAgICBmb250LXNpemU6IC44ZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXJfX3RpdGxlIHtcclxuICBjb2xvcjogJGJsYWNrO1xyXG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMCAwIDFlbSAwICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogLjVlbSAwICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcclxuXHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuMik7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXJfX3N1Yi10aXRsZSB7XHJcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogLjVlbSAwICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5mb290ZXJfX2xvZ28ge1xyXG4gIC8vIG1heC13aWR0aDogOTZweDtcclxuICB3aWR0aDogMTcwcHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX3NtYWxsIHtcclxuICBmb250LXNpemU6IC44ZW07XHJcbn1cclxuXHJcbi5mb290ZXJfX3NlY3Rpb24ge1xyXG4gIG1hcmdpbi10b3A6IDJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIG1hcmdpbi10b3A6IDNlbTtcclxuICB9XHJcblxyXG4gICYtLW5vLW1nLXRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxuICBcclxufVxyXG5cclxuLmZvb3Rlcl9fc3ByZWFkLXBhcnRze1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAxZW07XHJcblxyXG5cclxuICAvLyBGaXggZm9yIGlPUzE0XHJcbiAgJiA+ICoge1xyXG4gICAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIGFuZCAobm90KHRyYW5zbGF0ZTogbm9uZSkpIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMWVtIDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXJfX3RpdGxlLXN0cmV0Y2gge1xyXG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbn1cclxuLmZvb3Rlcl9fYnV0dG9uIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5mb290ZXJfX3NvY2lhbC1pY29ucyB7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgbGkge1xyXG5cclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMmVtO1xyXG5cclxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcblxyXG4uZm9vdGVyIHtcclxuXHJcbiAgJl9fY29weXJpZ2h0IHtcclxuICAgIFxyXG4gICAgYmFja2dyb3VuZDogJG5hdnk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgIHBhZGRpbmc6IDFlbSAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cclxuICAgICAgLmZvb3Rlcl9fc21hbGwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcblxyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICBsaSB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogMmVtO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLm1hc29ucnkge1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMjQwcHg7XHJcbiAgfVxyXG5cclxuICAmLS1zaGltIHtcclxuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5tYXNvbnJ5LWl0ZW0ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHdpZHRoOiAyMCU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxuICB9XHJcbn1cclxuXHJcbi5zaG93LW1lbnUtLWZhbHNlIHsgXHJcbiAgLmdyaWQtY29udGFpbmVyLS1mb290ZXItbWVudSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59IiwiLnNlY3Rpb24tLWNhcmRzIHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteDogY2xpcDtcclxufVxyXG5cclxuXHJcbi5zZWN0aW9uLS1jYXJkcy1mZWF0dXJlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteDogY2xpcDtcclxuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG5cclxuXHJcblxyXG59XHJcblxyXG4uY2FyZCB7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cclxuXHJcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG5cclxuICBtYXgtd2lkdGg6IDM4MHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cclxuICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgd2lkdGg6IGNhbGMoIDEwMCUgLyAzIC0gM2VtKTtcclxuICAgIG1heC13aWR0aDogMzY4cHg7XHJcbiAgfVxyXG5cclxuICAmLS1mbHVpZCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LWJhc2lzOiAwO1xyXG5cclxuICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1yYWRpdXMge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsMCwwLDAuMik7XHJcbiAgfVxyXG5cclxuICAmLS1ob3Jpem9udGFsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgJiA+ICoge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi0tcG9zdCB7XHJcbiAgICBwYWRkaW5nOiAwIDFlbTtcclxuXHJcbiAgICAuY2FyZF9fc2VjdGlvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDJlbSAwIDFlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtLXR3by1ncmlkIHtcclxuXHJcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xyXG5cclxuICAgIGZsZXg6IDAgMCA4MCU7XHJcbiAgICB3aWR0aDogODAlO1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDNlbSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi0tYmx1ZSwgJi0tY3lhbiB7XHJcblxyXG4gICAgLmNhcmRfX3N1YnRpdGxlIHtcclxuICAgICAgY29sb3I6ICRjeWFuO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkX19yZWFkLXRpbWUge1xyXG5cclxuICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS1ncmVlbiB7XHJcblxyXG4gICAgLmNhcmRfX3N1YnRpdGxlIHtcclxuICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZF9fcmVhZC10aW1lIHtcclxuXHJcbiAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtLXJlZCwgJi0tbWFnZW50YSB7XHJcblxyXG4gICAgLmNhcmRfX3N1YnRpdGxlIHtcclxuICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkX19yZWFkLXRpbWUge1xyXG5cclxuICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS15ZWxsb3cge1xyXG5cclxuICAgIC5jYXJkX19zdWJ0aXRsZSB7XHJcbiAgICAgIGNvbG9yOiAkeWVsbG93O1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkX19yZWFkLXRpbWUge1xyXG5cclxuICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgIGNvbG9yOiAkeWVsbG93O1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAmX19saW5rIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgb3BhY2l0eTogLjgwO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7XHJcblxyXG4gICAgJjpob3ZlcntcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3NlY3Rpb24ge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgcGFkZGluZzogMS41ZW07XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiAyZW0gM2VtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc2VjdGlvbi0tZGFyayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyaztcclxuICAgIG1hcmdpbjogMWVtO1xyXG4gICAgcGFkZGluZzogMmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMWVtIDAgMCAxZW07XHJcblxyXG4gICAgYm9yZGVyLXJhZGl1czogMWVtIDFlbSAwIDA7XHJcbiAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICBtaW4taGVpZ2h0OiAxNWVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMWVtIDAgMCAxZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zZWN0aW9uLS1ncmV5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgbWFyZ2luOiAxZW07XHJcbiAgICBwYWRkaW5nOiAyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAxZW0gMWVtIDAgMDtcclxuICAgIGZsZXgtZ3JvdzogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDE1ZW07XHJcbiAgfVxyXG5cclxuICAmX19mb290ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG4gICZfX2Zvb3Rlci1zZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDEuNWVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogMmVtIDNlbTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDI2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19yZWFkLXRpbWUge1xyXG4gICAgJjo6YmVmb3Jle1xyXG4gICAgICBjb250ZW50OiAnXFwyMDIyJztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG4gICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faW1hZ2Uge1xyXG5cclxuICB9XHJcblxyXG4gICZfX2ltYWdlLS1yYWRpdXMge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIG1hcmdpbjogLjVlbSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgKCRnbG9iYWwtcmFkaXVzIC8gMS40KSAoJGdsb2JhbC1yYWRpdXMgLyAxLjQgKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbjogMS41ZW0gIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAwICgkZ2xvYmFsLXJhZGl1cyAvIDIpICgkZ2xvYmFsLXJhZGl1cyAvIDIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAmX19pbWFnZS0tNDMge1xyXG4gICAgYXNwZWN0LXJhdGlvOiA0LzM7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAuOGVtO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190aXRsZS0td2hpdGUge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcblxyXG4gICZfX3RpdGxlLS11bmRlcmxpbmUge1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJG1hZ2VudGEgMCUsICRjeWFuIDEwMCUpO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luOiAxZW0gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXRpdGxlLXVuZGVybGluZS1jb2xvdXItc3dpdGNoIHtcclxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcclxuICAgICAgLmNhcmRfX3RpdGxlLS11bmRlcmxpbmUge1xyXG4gICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkbWFnZW50YSAwJSwgJGN5YW4gMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDJuKSB7XHJcbiAgICAgIC5jYXJkX190aXRsZS0tdW5kZXJsaW5lIHtcclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjeWFuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpudGgtb2YtdHlwZSgzbikge1xyXG4gICAgICAuY2FyZF9fdGl0bGUtLXVuZGVybGluZSB7XHJcbiAgICAgICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDRuKSB7XHJcbiAgICAgIC5jYXJkX190aXRsZS0tdW5kZXJsaW5lIHtcclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRtYWdlbnRhO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc3VydGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgIG1hcmdpbi10b3A6IC0xZW07XHJcblxyXG4gICAgJi0tcmVkIHtcclxuICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19zdWJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuICB9XHJcbiAgJl9fc3lub3BzaXMge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gIH1cclxuICAmX19zeW5vcHNpcy0td2hpdGUge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbiAgJl9fYXV0aG9yIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgfVxyXG4gICZfX2RhdGUge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6ICRncmVlbjtcclxuICB9XHJcbiAgJl9fbG9nbyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDExMHB4O1xyXG4gICAgaGVpZ2h0OiAxMTBweDtcclxuICAgIHRvcDogLTk1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICBwYWRkaW5nOiAxZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogZmxleDsgICBcclxuICB9XHJcblxyXG4gICZfX2xvZ28taW1hZ2Uge1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gIH1cclxuICBcclxuICAmX19hcnJvdyB7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMmVtICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMmVtICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9ncmVlbi1hcnJvdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmX190ZXh0LWxpbmsge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiAkZ3JlZW4tdmFyMztcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcclxuXHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgIHdpZHRoOiAxZW07XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2dyZWVuLWNoZXZyb24tcmlnaHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgxZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDJlbTtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IHVybCgnLi4vLi4vaW1nL2dyZWVuLXRpY2suc3ZnJyk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBiIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLmNhcmQgYSwgYS5jYXJkIHtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuXHJcbiAgLmNhcmRfX2Fycm93IHtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG5cclxuICAgIC5jYXJkX19hcnJvdyB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyZW0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNhcmQgYSB7XHJcbiAgZGlzcGxheTogY29udGVudHM7XHJcbn1cclxuXHJcbi5jYXJkLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDJlbTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gIC5jYXJkIHtcclxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCh0cmFuc2xhdGU6IG5vbmUpKSB7XHJcbiAgICAgIG1hcmdpbjogMWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tY2VudGVyIHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAxZW0gMDtcclxuICB9XHJcbn1cclxuXHJcbi5jYXJkLXNjcm9sbGVyIHtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAuY2FyZCB7XHJcbiAgICBmbGV4OiAwIDAgODAlO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuXHJcbiAgfVxyXG5cclxuICAmX19zdGFnZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMmVtIDFlbSAgO1xyXG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xyXG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XHJcbiAgICBzY3JvbGwtcGFkZGluZzogMWVtO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoMTAwdncgLSAxMDAlKSk7XHJcbiAgICBnYXA6IDJlbTtcclxuICAgIG1hcmdpbjogMCAwIDJlbSAwO1xyXG5cclxuICAgIC5jYXJkIHtcclxuICAgICAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIGFuZCAobm90KHRyYW5zbGF0ZTogbm9uZSkpIHtcclxuICAgICAgICBtYXJnaW46IDFlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA5MnB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1sb2NrZWQge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgJl9faGFuZGxlcyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICAgIHdpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbG9ja2VkIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmX19wcmV2LCAmX19uZXh0e1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuICAgIGhlaWdodDogNmVtO1xyXG4gICAgd2lkdGg6IDNlbTtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiAuM3MgYWxsIGVhc2Utb3V0O1xyXG5cclxuXHJcbiAgfVxyXG5cclxuICAmX19sYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJl9fcHJldiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDE2MHB4IDE2MHB4IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNmVtO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0uNWVtKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgJl9fbmV4dCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAgMTYwcHggMCAwIDE2MHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMC42ZW07XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLjVlbSk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmNhcmQtY29udGFpbmVyLXVzZS1jYXNlIHtcclxuXHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIHBhZGRpbmc6IDJlbTtcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbiAgbWluLWhlaWdodDogNTQwcHg7XHJcblxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHBhZGRpbmc6IDRlbTtcclxuICB9XHJcblxyXG4gIGEge1xyXG5cclxuICAgICY6Zm9jdXMsICY6YWN0aXZlLCAmOmFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5jYXJkIHtcclxuICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICBhbmltYXRpb246IGZhZGVJbiAuNHMgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG5cclxuICAmLS1sYXJnZSB7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNmVtO1xyXG5cclxuICAgIC5zdmctZ2F0b3ItYWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiA1MTlweDtcclxuICAgICAgYm90dG9tOiAtNzBweDtcclxuICAgICAgcmlnaHQ6IC03MHB4O1xyXG4gIFxyXG4gICAgICB6LWluZGV4OiAtMTtcclxuICBcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHdpZHRoOiAzNTBweDtcclxuICAgICAgICBib3R0b206IC0zNXB4O1xyXG4gICAgICAgIHJpZ2h0OiAtMzVweDtcclxuICBcclxuICAgICAgfVxyXG4gIFxyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuXHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIFxyXG4gICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgaGVpZ2h0OiAxOTBweDtcclxuICBcclxuICAgICAgdG9wOiA1MHB4O1xyXG4gICAgICBsZWZ0OiAtNzVweDtcclxuICBcclxuICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gIFxyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMXM7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkIHtcclxuXHJcbiAgICAgICZfX2xvZ28ge1xyXG4gICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICBoZWlnaHQ6IDExMHB4O1xyXG5cclxuICAgICAgICB0b3A6IC05NXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi0tc21hbGwsICYtLWxpc3Rpbmcge1xyXG5cclxuICAgIHBhZGRpbmc6IDJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBwYWRkaW5nOiAyZW07XHJcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJkIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tbGlzdGluZyB7XHJcblxyXG4gICAgbWluLWhlaWdodDogYXV0bztcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDIuNWVtIDFlbTsgICAgXHJcblxyXG4gICAgICAuY2FyZCB7ICAgICAgICBcclxuXHJcbiAgICAgICAgJl9fc2VjdGlvbiB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9faW1hZ2Uge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG4uY2FyZC1ncmlkIHtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgcGFkZGluZzogMmVtIDA7XHJcblxyXG4gIGdhcDogMmVtO1xyXG4gIG1hcmdpbjogMCAwIDJlbSAwO1xyXG5cclxuICAuY2FyZCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLmNhcmQsIC5hc2lkZSB7XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBtYXgtd2lkdGg6IGNhbGMoICgxMDAlIC8gMikgLSAxLjVlbSk7XHJcbiAgICAgIGZsZXg6IDAgMCA4MCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXgtd2lkdGg6IGNhbGMoICgxMDAlIC8gMykgLSAxLjVlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gJi0tbmV3c2xldHRlciB7XHJcbiAgICAvL1xyXG4gICAgLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC8vICAgcGFkZGluZzogMmVtO1xyXG4gICAgLy8gICBiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiAgICAvLyAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAvL1xyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vICZfX25ld3NsZXR0ZXIge1xyXG4gICAgLy9cclxuICAgIC8vICAgJi1pbnRybyB7XHJcbiAgICAvL1xyXG4gICAgLy8gICAgIGgzIHtcclxuICAgIC8vICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAvLyAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgLy9cclxuICAgIC8vICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvL1xyXG4gICAgLy8gICB9XHJcbiAgICAvL1xyXG4gICAgLy8gICAmLWZvcm0ge1xyXG4gICAgLy9cclxuICAgIC8vICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAvLyAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAvLyAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vXHJcbiAgICAvLyAgICAgLmJ1dHRvbiB7XHJcbiAgICAvLyAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAvLyAgICAgICBwYWRkaW5nOiAxLjRlbSAxLjZlbTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvL1xyXG4gICAgLy8gICB9XHJcbiAgICAvL1xyXG4gICAgLy8gfVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIlxyXG5cclxuLnJldmVhbC12aWRlbyB7XHJcblxyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuXHJcbiAgdG9wOiAwO1xyXG5cclxuICB3aWR0aDogMTAwdnc7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgcGFkZGluZzogMmVtO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuXHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAuOCk7XHJcblxyXG4gIHRyYW5zaXRpb246IGFsbCAxLjJzIGVhc2UtaW4tb3V0O1xyXG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xyXG5cclxuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICB6LWluZGV4OiAyO1xyXG5cclxuICAmLm9wZW4ge1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogYWxsIDEuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxLjVzO1xyXG5cclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b24ge1xyXG4gICAgdG9wOiAtMWVtO1xyXG4gICAgcmlnaHQ6IC0wLjVlbTtcclxuXHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG5cclxuLnJldmVhbC12aWRlb19fcGFja2FnaW5ne1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgbWF4LXdpZHRoOiA3NXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XHJcblxyXG4gIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYgLyA5KSB7XHJcbiAgICBoZWlnaHQ6IDU2JTtcclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuLnJldmVhbC12aWRlb19faWZyYW1le1xyXG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiIsIi5oZXJvIHtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBvdmVyZmxvdzogY2xpcDtcclxuICBwYWRkaW5nLXRvcDogN2VtICFpbXBvcnRhbnQ7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmctdG9wOiBjYWxjKDZlbSArIDEyNXB4KSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgb2JqZWN0IHtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7ICAgICAgIFxyXG4gICAgICB3aWR0aDogMTAwJTsgICAgICBcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS1iZ3JvdW5kIHtcclxuXHJcbiAgICAmLXdoaXRlIHtcclxuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtLWJvcmRlci1ib3R0b20ge1xyXG5cclxuICAgICYtbWFnZW50YSB7ICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAmOmJlZm9yZXtcclxuXHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkbWFnZW50YTtcclxuICAgICAgICBhbmltYXRpb246IGJvcmRlcl9hbmltIDMuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBAa2V5ZnJhbWVzIGJvcmRlcl9hbmltIHtcclxuXHJcbiAgICAgICAgMCV7XHJcbiAgICAgICAgICB3aWR0aDogMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAxMDAle1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi0tY2VudGVyZWQtdGV4dCB7XHJcblxyXG4gICAgJi5zZWN0aW9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTNlbTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS1yZWR1Y2VkIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59XHJcblxyXG4uaGVyb19fY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogMWVtO1xyXG5cclxuICAvLyBGaXggZm9yIGlPUzE0XHJcbiAgJiA+ICoge1xyXG4gICAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIGFuZCAobm90KHRyYW5zbGF0ZTogbm9uZSkpIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMWVtIDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICYtLWhhcy1wYWdlLWJ1aWxkZXIge1xyXG5cclxuICAvLyAgIGdhcDogMDtcclxuXHJcbiAgLy8gfVxyXG5cclxufVxyXG5cclxuLmhlcm9fX2ltYWdlIHtcclxuXHJcbiAgJi1zcGxpdCB7XHJcblxyXG4gICAgJi0td2lkZSB7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTEwJTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmhlcm9fX2gxIHtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG5cclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAuMmVtO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgfVxyXG5cclxuICBoMSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjJlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGg1IHtcclxuICAgIC8vIG1hcmdpbjogMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogJGdyZWVuO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uaGVyb19faDEtLWJpZyB7XHJcbiAgaDEge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcclxuXHJcbiAgICBjb2xvcjogJG5hdnk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICBpLCBlbSwgc3BhbiB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBjb2xvcjogJG5hdnk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5oZXJvX19oMS0tc2VtaWJvbGQge1xyXG5cclxuICBoMSB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5oZXJvX19oMiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuXHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICBtYXgtd2lkdGg6IDIyY2g7XHJcbiAgfVxyXG5cclxuICAmLS1ibHVlLCAmLS1jeWFuIHtcclxuICAgIGNvbG9yOiAkY3lhbjtcclxuICB9XHJcblxyXG4gICYtLWdyZWVuIHtcclxuICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgfVxyXG5cclxuICAmLS1yZWQsICYtLW1hZ2VudGEge1xyXG4gICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gIH1cclxuXHJcbiAgJi0teWVsbG93IHtcclxuICAgIGNvbG9yOiAkeWVsbG93O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5oZXJvX19oMyB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gIGZvbnQtc2l6ZTogMzBweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIG1hcmdpbi1ib3R0b206IC41ZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICBtYXgtd2lkdGg6IDIyY2g7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmhlcm9fX2Rlc2NyaXB0aW9uIHtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIC8vIG1heC13aWR0aDogMzZjaDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkbWFnZW50YTsgXHJcbiAgfVxyXG5cclxuICAmLS1jZW50ZXJlZCB7XHJcbiAgICBtYXgtd2lkdGg6IDcyY2g7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcblxyXG4gICYtLWZ1bGwtd2lkdGgge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgcCB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGE6bm90KFtocmVmXj1cIm1haWx0bzpcIl0pIHtcclxuICAgIGNvbG9yOiAkbWFnZW50YSAhaW1wb3J0YW50O1xyXG4gICAgQGV4dGVuZCAuYnV0dG9uLS1hcnJvdy1tYWdlbnRhO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5oZXJvX19kZXNjcmlwdGlvbi0tYmlne1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICBmb250LXNpemU6IDIycHg7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmhlcm9fX2ljb24ge1xyXG4gIG1heC13aWR0aDogNzBweDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5oZXJvX19idXR0b24ge1xyXG4gIHdpZHRoOiBmaXQtY29udGVudDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uaGVyb19fbG9nbyB7XHJcbiAgbWF4LXdpZHRoOiAxNjBweDtcclxufVxyXG5cclxuXHJcbi5oZXJvX19hcnRpY2xlIHtcclxuXHJcbiAgJi1pbmZvIHtcclxuXHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuXHJcbiAgICBsaSB7XHJcblxyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYudXBkYXRlZCB7IFxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgICAgIFxyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNWVtOyBcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5yZWFkLXRpbWUge1xyXG5cclxuICAgICAgICBjb2xvcjogJHllbGxvdztcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJ1xcMjAyMic7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xyXG4gICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLS1ibHVlLCAmLS1jeWFuIHtcclxuXHJcbiAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgJi5yZWFkLXRpbWUge1xyXG5cclxuICAgICAgICAgIGNvbG9yOiAkY3lhbjtcclxuXHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLS1ncmVlbiB7XHJcblxyXG4gICAgICBsaSB7XHJcblxyXG4gICAgICAgICYucmVhZC10aW1lIHtcclxuXHJcbiAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLS1yZWQsICYtLW1hZ2VudGEge1xyXG5cclxuICAgICAgbGkge1xyXG5cclxuICAgICAgICAmLnJlYWQtdGltZSB7XHJcblxyXG4gICAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLmhlcm8tLWNhc2Utc3R1ZHkge1xyXG5cclxuICBtaW4taGVpZ2h0OiA3NTBweDtcclxuXHJcbiAgXHJcblxyXG4gIG1heC13aWR0aDogMjU2MHB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgfVxyXG5cclxuICAuZ3JpZC1jb250YWluZXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG5cclxuICAuY2FyZCB7XHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjRzIG5vcm1hbCBmb3J3YXJkcyBlYXNlLW91dDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAvLyBDTElFTlQgUkVRVUVTVCwgTUFZIENIQU5HRSBNSU5EIEFORCBCRSBSRVZFUlRFRCwgSEVOQ0UgTU9ESUZJRVIgQ0xBU1NcclxuICAmLS1taW5pbWFsIHtcclxuXHJcbiAgICAuZ3JpZC1jb250YWluZXIge1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyAgICBcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZCB7XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbi10b3A6IDZlbTtcclxuXHJcbiAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNGVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc3ZnLWdhdG9yLWFuaW1hdGUge1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAtNTBweDtcclxuICAgICAgICBsZWZ0OiAtNTBweDtcclxuXHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMHB4O1xyXG5cclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gJjpiZWZvcmUge1xyXG5cclxuICAgICAgLy8gICBjb250ZW50OiAnJztcclxuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAvLyAgIGJvdHRvbTogLTQwcHg7XHJcbiAgICAgIC8vICAgbGVmdDogLTQwcHg7XHJcblxyXG4gICAgICAvLyAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgLy8gICB3aWR0aDogMTUwcHg7XHJcbiAgICAgIC8vICAgaGVpZ2h0OiAxMDBweDtcclxuXHJcbiAgICAgIC8vICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAvLyAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7XHJcblxyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0yNXB4O1xyXG4gICAgICAgIHJpZ2h0OiAtMjVweDtcclxuXHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdnk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMDtcclxuXHJcbiAgICAgICAgb3BhY2l0eTogMDsgICAgICAgIFxyXG5cclxuICAgICAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICAgICAgICAwJSB7IG9wYWNpdHk6IDA7fVxyXG4gICAgICAgICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDRzIGZvcndhcmRzOyAgICAgICAgIFxyXG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fc3lub3BzaXMge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX3NlY3Rpb24ge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19sb2dvIHtcclxuXHJcbiAgICAgICAgJi1pbWFnZSB7ICAgICAgXHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgfSAgICAgICAgXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5oZXJvIHtcclxuXHJcbiAgJi0tcmVzb3VyY2VzIHtcclxuXHJcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDI1NjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTIycHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDc1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuXHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDI3NXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xyXG5cclxuICAgICAgcGFkZGluZzogMmVtIDFlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi1pbm5lciB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHJcbiAgICAgICAgLmhlcm8ge1xyXG5cclxuICAgICAgICAgICZfX2gxLCAmX19oMiwgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICZfX2gxIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICZfX2gyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYtZW50cnkge1xyXG5cclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIC5oZXJvIHtcclxuXHJcbiAgICAgICAgJl9faDEge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19oMiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA1MmNoOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2FydGljbGUtaW5mbyB7XHJcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtLWJsdWUsICYtLWN5YW4ge1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjeWFuO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCR3aGl0ZSwwKSAwJSwgcmdiYSgkY3lhbiwxKSAxMDAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1ncmVlbiB7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCR3aGl0ZSwwKSAwJSwgcmdiYSgkZ3JlZW4sMSkgMTAwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgJi0tcmVkLCAmLS1tYWdlbnRhIHtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkd2hpdGUsMCkgMCUsIHJnYmEoJG1hZ2VudGEsMSkgMTAwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgJi0teWVsbG93IHtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCR3aGl0ZSwwKSAwJSwgcmdiYSgkeWVsbG93LDEpIDEwMCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLy8gQlJFQURDUlVNQiBNT0RJRklFUlNcclxuXHJcbi5oZXJvIHtcclxuXHJcbiAgLmJyZWFkY3J1bWIgeyAgICBcclxuXHJcbiAgICAmLS1jeWFuIHtcclxuXHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGNvbG9yOiAkY3lhbjtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmU6aG92ZXIsIGE6YWN0aXZlOmZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0tZ3JlZW4ge1xyXG5cclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgY29sb3I6ICRncmVlbjtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlOmhvdmVyLCBhOmFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICBcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLS1tYWdlbnRhIHtcclxuXHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmU6aG92ZXIsIGE6YWN0aXZlOmZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0teWVsbG93IHtcclxuXHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGNvbG9yOiAkeWVsbG93O1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICR5ZWxsb3c7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlOmhvdmVyLCBhOmFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgICAgICBjb2xvcjogJHllbGxvdztcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn0iLCIucG9zdGNvZGUtc2VhcmNoIHtcclxuXHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcblxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2lucHV0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIC41KTtcclxuICAgICAgICBwYWRkaW5nOiAxLjVlbTtcclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogLTFweDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbi1pbWFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLm5ld3NsZXR0ZXItZm9ybSB7XHJcblxyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbnB1dCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuNSk7XHJcbiAgICAgICAgcGFkZGluZzogMS41ZW0gNmVtIDEuNWVtIDEuNWVtO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAtMXB4O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICBtaW4taGVpZ2h0OiA0ZW07XHJcbiAgbWFyZ2luLXRvcDogLjVlbTtcclxufVxyXG5cclxuc2VsZWN0IHtcclxuICBtaW4taGVpZ2h0OiAyZW07XHJcbiAgbWFyZ2luLXRvcDogLjVlbTtcclxufVxyXG5cclxubGFiZWwge1xyXG4gIGJvcmRlci1ib3R0b206IC41ZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcblxyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIG1hcmdpbjogMDtcclxuXHJcbiAgZm9udDogaW5oZXJpdDtcclxuICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gIHdpZHRoOiAxLjE1ZW07XHJcbiAgaGVpZ2h0OiAxLjE1ZW07XHJcbiAgYm9yZGVyOiAwLjE1ZW0gc29saWQgY3VycmVudENvbG9yO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAuMTVlbTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMDc1ZW0pO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDAuNjVlbTtcclxuICBoZWlnaHQ6IDAuNjVlbTtcclxuICBjbGlwLXBhdGg6IHBvbHlnb24oMTQlIDQ0JSwgMCA2NSUsIDUwJSAxMDAlLCAxMDAlIDE2JSwgODAlIDAlLCA0MyUgNjIlKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xyXG4gIHRyYW5zaXRpb246IDEyMG1zIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcclxuICBib3gtc2hhZG93OiBpbnNldCAxZW0gMWVtIHZhcigtLWZvcm0tY29udHJvbC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQ2FudmFzVGV4dDtcclxuICB0b3A6IC4yNWVtO1xyXG4gIGxlZnQ6IC4yNWVtOyBcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOjpiZWZvcmUge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XHJcbiAgb3V0bGluZTogIDAuMTVlbSBzb2xpZCAgcmdiYSgkYmxhY2ssIC4yKTtcclxuICBvdXRsaW5lLW9mZnNldDogMC4xNWVtO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xyXG4gIC0tZm9ybS1jb250cm9sLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuXHJcbiAgY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcblxyXG4uY2hlY2tib3gtY29sdW1ucyB7XHJcbiAgY29sdW1uczogMTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgY29sdW1uczogMjtcclxuICB9XHJcbn1cclxuXHJcbi5jaGVja2JveC1jb2x1bW5zX19jaGVja2JveHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDAuNWVtO1xyXG4gIH1cclxuXHJcbiAgW3R5cGU9J2NoZWNrYm94J10rbGFiZWwsIFt0eXBlPSdyYWRpbyddK2xhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICBtYXJnaW4tbGVmdDogMS44ZW07XHJcbiAgfVxyXG5cclxufVxyXG4uY2hlY2tib3gtY29sdW1uc19fbGVnZW5ke1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5mb3JtLWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIG1hcmdpbjogLjRlbTtcclxuICBwYWRkaW5nOiAxZW07XHJcbiAgYm94LXNoYWRvdzogMCA2cHggOXB4IC0xcHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBtYXJnaW46IDJlbTtcclxuICAgIHBhZGRpbmc6IDRlbTsgXHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgQGV4dGVuZCAuYnV0dG9uO1xyXG4gICAgQGV4dGVuZCAuc2Vjb25kYXJ5O1xyXG4gIH1cclxuXHJcbiAgJi0td2hpdGUge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIH0gXHJcbn1cclxuXHJcbi5lcnJvcnMge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwIDAgMWVtO1xyXG5cclxuICBsaSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFnZW50YTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBwYWRkaW5nOiAwLjZlbTtcclxuICAgIGZvbnQtc2l6ZTogLjhlbTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLyBUaGlzIGdlbmVyaWMgY2xhc3NlcyBjYW4gYmUgYWRkZWQgdG8gYW55IGNvbnRhaW5lclxyXG4uZm9ybS1yZXNldCB7XHJcbiAgbGFiZWwsIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBidXR0b24sIC5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFja01lc3NhZ2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFja3tcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICB0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgdGFibGUubXVsdGkgLnRleHRGb3JtRmllbGRCbG9jaywgdGFibGUubXVsdGkgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2ssIHRhYmxlLm11bHRpIC50d29PcHRpb25Gb3JtRmllbGRCbG9jaywgdGFibGUubXVsdGkgLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCB0YWJsZS5tdWx0aSAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jaywgdGFibGUubXVsdGkgLmxvb2t1cEZvcm1GaWVsZEJsb2NrLCAudGV4dEZvcm1GaWVsZEJsb2NrLCAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jaywgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLCAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAubG9va3VwRm9ybUZpZWxkQmxvY2sge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgdGgge1xyXG4gICAgcGFkZGluZzogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAvLyB3aHkgZG9lcyB0aGlzIHdvcms/XHJcbiAgICB3aWR0aDogMTAlIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIHRhYmxlLm11bHRpIHtcclxuXHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIHRyIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgc2VsZWN0LCAudGV4dEZvcm1GaWVsZEJsb2NrIGlucHV0LCAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBpbnB1dCwgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIGlucHV0LCAubWFya2V0aW5nRm9ybSB0ZXh0YXJlYSwgZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBpbnB1dCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDhweCAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuY29sdW1uQ29udGFpbmVyLmlubmVyIHtcclxuICAgIC50ZXh0Rm9ybUZpZWxkQmxvY2t7XHJcbiAgICAgIC8vIG1hcmdpbi1yaWdodDogMWVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGV4dEZvcm1GaWVsZEJsb2NrLCAuZGF0ZVRpbWVGb3JtRmllbGRCbG9jaywgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLCAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrLCAubG9va3VwRm9ybUZpZWxkQmxvY2sge1xyXG4gICAgZ2FwOiA0cHg7XHJcbn1cclxuXHJcbiAgLmNvbnNlbnRCbG9ja3tcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIlN1Ym1pdEJ1dHRvblwiXSB7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc3VibWl0QnV0dG9ue1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG5cclxuICBkaXZbZGF0YS1jYWNoZWQtZm9ybS11cmxdIGJ1dHRvbi5zdWJtaXRCdXR0b24ge1xyXG4gICAgbWluLXdpZHRoOiAxNjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XHJcblxyXG4gICAgJjpob3ZlciwgJjphY3RpdmUsICY6YWZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDIwKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvcm0tcmVzZXQtLXJldmVyc2Uge1xyXG4gIC5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFja01lc3NhZ2Uge1xyXG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBsYWJlbCB7XHJcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4udGV4dEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlciwgLnR3b29wdGlvbl9jaGVja2JveCBsYWJlbDo6YWZ0ZXIsIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlciwgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlciwgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsOjphZnRlciwgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi50d29vcHRpb25fY2hlY2tib3ggbGFiZWw6OmFmdGVyLCAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLCAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsIC5jb25zZW50QmxvY2sgbGFiZWw6OmFmdGVyLCAuZXZlbnRTZXNzaW9uIGxhYmVsOjphZnRlciwgZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBsYWJlbFtpZF49XCJ3bHNwaXNwSGlwSW5zdHJ1Y3Rpb25Db250YWluZXJcIl06OmFmdGVyIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4jaXViZW5kYS1jcy1iYW5uZXIgLml1YmVuZGEtZ3JhbnVsYXItY29udHJvbHMtY29udGFpbmVyIC5ncmFudWxhci1jb250cm9sLWNoZWNrYm94IGlucHV0LnN0eWxlMTpjaGVja2VkIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmctcmVjYXB0Y2hhIHtcclxuICBwYWRkaW5nLXRvcDogMjVweDtcclxufSIsImJsb2NrcXVvdGUge1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi12YXIyO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHJcbiAgYm9yZGVyOiBub25lOyAgXHJcbiAgbWFyZ2luOiA1ZW0gMDtcclxuXHJcbiAgcGFkZGluZzogM2VtIDVlbSAzZW0gMmVtO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgcGFkZGluZzogM2VtIDhlbSAzZW0gNGVtO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnXFwwMjAxQyc7IFxyXG5cclxuICAgIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgICByaWdodDogMTVweDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE0MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgdG9wOiA4MHB4O1xyXG4gICAgICAgIHJpZ2h0OiAyMHB4O1xyXG5cclxuICAgICAgICBmb250LXNpemU6IDIwMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsgICAgXHJcbiAgICB9XHJcbiAgXHJcbiAgfVxyXG4gXHJcblxyXG4gIGNpdGUge1xyXG5cclxuICAgIG1hcmdpbi10b3A6IDJlbTtcclxuXHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIi50YWJzLWNvbnRlbnQge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gIG1hcmdpbi10b3A6IDJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcbn1cclxuXHJcbi50YWJzLXNlY3Rpb24tdGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XHJcbiAgICBtYXJnaW4tbGVmdDogMjRweDtcclxufVxyXG5cclxuXHJcbi50YWJzLXRpdGxlIHtcclxuXHJcbiAgYSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07ICAgICAgXHJcblxyXG4gICAgICAmOmZvY3VzLCAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXJ7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIC8vIGZpbHRlcjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gIH1cclxuICBcclxufVxyXG5cclxuLnRhYnMtcGFuZWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblxyXG4gICY6YWZ0ZXIsICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGhlaWdodDogMTkwcHg7XHJcblxyXG4gICAgdG9wOiA1MHB4O1xyXG4gICAgbGVmdDogLTc1cHg7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG5cclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAxcztcclxuICB9XHJcbiAgXHJcblxyXG4gIC8vICY6YWZ0ZXIge1xyXG4gIC8vICAgd2lkdGg6IDUyMHB4O1xyXG4gIC8vICAgaGVpZ2h0OiAzODBweDtcclxuXHJcbiAgLy8gICBib3R0b206IC01MHB4O1xyXG4gIC8vICAgcmlnaHQ6IC03NXB4O1xyXG5cclxuICAvLyAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgLy8gICBib3JkZXI6IDVweCBzb2xpZCAkZ3JlZW4tdmFyMjtcclxuICAvLyB9XHJcblxyXG4gIC5zdmctZ2F0b3ItYWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDUxOXB4O1xyXG4gICAgYm90dG9tOiAtNzBweDtcclxuICAgIHJpZ2h0OiAtNzBweDtcclxuXHJcbiAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIFxyXG4gICAgICB3aWR0aDogMzUwcHg7XHJcbiAgICAgIGJvdHRvbTogLTM1cHg7XHJcbiAgICAgIHJpZ2h0OiAtMzVweDtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMzJweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcclxuICB9XHJcblxyXG4gIC5jYXJkIHtcclxuXHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG5cclxuLnRhYnMtcGFuZWwtLWNhcmR7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgLmNhcmQge1xyXG4gICAgbWF4LXdpZHRoOiAzNjhweDtcclxuICB9XHJcblxyXG59IiwiLmJ1dHRvbiB7XHJcblxyXG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcclxuXHJcbiAgJjphY3RpdmUsICY6Zm9jdXMsICY6YWN0aXZlOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfSBcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbmF2eS12YXIyO1xyXG4gIH1cclxuXHJcbiAgJi0tZ3JlZW4sICYudGhpcmRseSB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tdmFyMjtcclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSwgJjpmb2N1cywgJjphY3RpdmU6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tdmFyMjtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS1tYWdlbnRhIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YS12YXIyO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSwgJjpmb2N1cywgJjphY3RpdmU6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS1jeWFuIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkY3lhbi12YXIyO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY3lhbjtcclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSwgJjpmb2N1cywgJjphY3RpdmU6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY3lhbjtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS13aGl0ZS1ib3JkZXIge1xyXG5cclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlLCAmOmZvY3VzLCAmOmFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtLWNlbnRlciB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJi0tbmF2eS1ib3JkZXIge1xyXG5cclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbmF2eTtcclxuICAgIGNvbG9yOiAkbmF2eTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJG5hdnk7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUsICY6Zm9jdXMsICY6YWN0aXZlOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogJG5hdnk7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi0tY3lhbi1ib3JkZXIge1xyXG5cclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY3lhbi12YXIyO1xyXG4gICAgY29sb3I6ICRjeWFuLXZhcjI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjeWFuLXZhcjI7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUsICY6Zm9jdXMsICY6YWN0aXZlOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogJGN5YW4tdmFyMjtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLS1ncmVlbi1ib3JkZXIge1xyXG5cclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW47XHJcbiAgICBjb2xvcjogJGdyZWVuO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUsICY6Zm9jdXMsICY6YWN0aXZlOmZvY3VzIHtcclxuICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYtLW1hZ2VudGEtYm9yZGVyIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJG1hZ2VudGEtdmFyMjtcclxuICAgIGNvbG9yOiAkbWFnZW50YS12YXIyO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YS12YXIyO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlLCAmOmZvY3VzLCAmOmFjdGl2ZTpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRtYWdlbnRhLXZhcjI7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLmJ1dHRvbi0tYXJyb3cge1xyXG5cclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRlbTtcclxuICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgcGFkZGluZzogMi4yZW0gMi40ZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gIGIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAyZW0gIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAyZW0gIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3doaXRlLWFycm93LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBtYXJnaW4tbGVmdDogLjVlbTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyZW0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi0tYXJyb3ctZ3JlZW4ge1xyXG5cclxuICBAZXh0ZW5kIC5idXR0b24tLWFycm93O1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGNvbG9yOiAkZ3JlZW47XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2dyZWVuLWFycm93LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVye1xyXG4gICAgY29sb3I6ICRncmVlbjtcclxuICB9XHJcblxyXG59XHJcblxyXG4uYnV0dG9uLS1hcnJvdy1tYWdlbnRhIHtcclxuXHJcbiAgQGV4dGVuZCAuYnV0dG9uLS1hcnJvdztcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBjb2xvcjogJG1hZ2VudGE7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL21hZ2VudGEtY2hldnJvbi1yaWdodC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxLjJlbSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEuMmVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVye1xyXG4gICAgY29sb3I6ICRtYWdlbnRhLXZhcjI7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLmJ1dHRvbi0tcHVsbC11cHtcclxuXHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yZW0pO1xyXG5cclxufVxyXG5cclxuXHJcbi5idXR0b24gKyAuYnV0dG9uIHtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcclxuICB9XHJcblxyXG59XHJcblxyXG5wICsgLmJ1dHRvbiB7XHJcblxyXG4gbWFyZ2luLXRvcDogMWVtO1xyXG5cclxufVxyXG5cclxuXHJcbi5idXR0b24tLWRjIHtcclxuXHJcbiAgJjphY3RpdmUsICY6dmlzaXRlZCwgJjpmb2N1cywgJjphY3RpdmU6aG92ZXJ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgcGFkZGluZy1yaWdodDogMS40cmVtICFpbXBvcnRhbnQ7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IC42ZW0gIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAuNmVtICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy93aGl0ZS1jaGV2cm9uLWRvd24uc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgLy8gbWFyZ2luLXRvcDogLS41ZW0gIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcclxuICB9XHJcblxyXG4gICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiLnNlY3Rpb24tLWFjY29yZGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblxyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAwJSBjZW50ZXIsIDAgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NsdXN0ZXItYmx1ZS1hbmQtcGllY2VzLnN2ZycpO1xyXG5cclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAlIGNlbnRlciwgMCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBjb2xvcjogJG9mZi13aGl0ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24ge1xyXG4gICYtLXJldmVyc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgIC5hY2NvcmRpb24taXRlbSB7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkLCAmOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSwgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG5cclxuICAgICAgfVxyXG4gICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvcmRpb24tdGl0bGV7XHJcbiAgICAgIGNvbG9yOiAkb2ZmLXdoaXRlO1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAuNCk7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcclxuXHJcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmxvZ28td2FsbHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAzZW0gMDtcclxuXHJcbiAgJl9fbG9nby1jb250YWluZXJ7XHJcblxyXG4gICAgbWFyZ2luOiAxZW07XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgcGxhY2Utc2VsZjogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIHdpZHRoOiBjYWxjKDMzJSAtIDNlbSk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM2VtKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gM2VtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xvZ28ge1xyXG5cclxuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiLmJyZWFkY3J1bWJzX19jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDcycHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuXHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB0b3A6IDE3NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5icmVhZGNydW1icyB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjgpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRoaXJkbHktY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2gtbW9iaWxlIHtcclxuICBwYWRkaW5nOiAuOGVtO1xyXG4gIG1hcmdpbi1yaWdodDogLjhlbTtcclxuXHJcbiAgLmZhIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICB9XHJcbn1cclxuIiwiaHRtbCwgYm9keSAge1xyXG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gIC8vIG92ZXJmbG93LXg6aGlkZGVuO1xyXG59XHJcblxyXG5zdmcge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuYSwgYTphY3RpdmUge1xyXG4gICAgLy8gbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1vdXQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG5wIHtcclxuICAvLyBtYXgtd2lkdGg6IDU1Y2g7XHJcbn1cclxuXHJcbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDV7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6ICRuYXZ5O1xyXG5cclxuICAmOmVtcHR5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5oMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1IHtcclxuICBjb2xvcjogJGJsYWNrO1xyXG59XHJcblxyXG5cclxuLmh4X19tYjAge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5oeF9fbXQxIHtcclxuICBtYXJnaW4tdG9wOiAxZW07XHJcbn1cclxuXHJcblxyXG5oMywgLmgzIHtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG59XHJcblxyXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzIHtcclxuXHJcbiAgaSwgZW0sIHNwYW4ge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiAkbWFnZW50YS12YXIyO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5oZWFkaW5nIHtcclxuICAmLS1ncmVlbiB7XHJcbiAgICBjb2xvcjogJGdyZWVuO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLS1kYXJrLWdyZWVuIHtcclxuICAgIGNvbG9yOiAkZ3JlZW4tdmFyMjtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRncmVlbi12YXIyO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLS1jeWFuLCAmLS1ibHVlIHtcclxuICAgIGNvbG9yOiAkY3lhbjtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRjeWFuO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLS1tYWdlbnRhLCAmLS1yZWQge1xyXG4gICAgY29sb3I6ICRtYWdlbnRhO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtLW5hdnkge1xyXG4gICAgY29sb3I6ICRuYXZ5O1xyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJG5hdnk7XHJcbiAgICB9XHJcbiAgfSBcclxuICAmLS15ZWxsb3cge1xyXG4gICAgY29sb3I6ICR5ZWxsb3c7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAkeWVsbG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxucCwgdWwsIG9sLCBpbnB1dCwgdGV4dGFyZWEge1xyXG4gIC8vIGZvbnQtc2l6ZTogMThweDtcclxuICAvLyBtYXJnaW4tYm90dG9tOiAyZW07XHJcbn1cclxuXHJcbm9sIHtcclxuICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XHJcbn1cclxub2wgbGkge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDFlbSAwIDJlbTtcclxufVxyXG5vbCBsaTpiZWZvcmUge1xyXG4gICAgY29udGVudDogY291bnRlcihpdGVtKVwiLlwiO1xyXG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XHJcbiAgICByaWdodDogMTBweDsgLyogc3BhY2UgYmV0d2VlbiBudW1iZXIgYW5kIHRleHQgKi9cclxuICAgIGNvbG9yOiAkY3lhbjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG59XHJcblxyXG5vbFt0eXBlPVwiMVwiXSB7XHJcbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xyXG59XHJcbm9sW3R5cGU9XCIxXCJdIGxpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbm9sW3R5cGU9XCIxXCJdIGxpOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBjb3VudGVycyhpdGVtLCBcIi5cIilcIi5cIjtcclxuICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xyXG4gICAgcmlnaHQ6IDEwcHg7IC8qIHNwYWNlIGJldHdlZW4gbnVtYmVyIGFuZCB0ZXh0ICovXHJcbiAgICBjb2xvcjogJGN5YW47XHJcbn1cclxuXHJcbm9sW3R5cGU9XCJhXCJdIHtcclxuICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluO1xyXG59XHJcbm9sW3R5cGU9XCJhXCJdIGxpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbm9sW3R5cGU9XCJhXCJdIGxpOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBjb3VudGVyKGl0ZW0sIGxvd2VyLWxhdGluKVwiLlwiO1xyXG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIGNvbG9yOiAkY3lhbjtcclxufVxyXG5cclxub2JqZWN0LnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcblxyXG4gICYuYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuLmNoZWNrZWQtbGlzdHtcclxuICAgdWwge1xyXG5cclxuICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogdXJsKCcuLi8uLi9pbWcvZ3JlZW4tdGljay5zdmcnKTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICB9XHJcbn1cclxuXHJcblxyXG5ibG9ja3F1b3Rle1xyXG5cclxuICBwIHtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb290ZXIge1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgIGNpdGUge1xyXG4gICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHJcbiAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLnNlY3Rpb24tLXN0YXQge1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy14OiBjbGlwO1xyXG4gIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbi0tc3RhdCArIC5zZWN0aW9uLS1sb2dvLWxpc3Qge1xyXG5cclxuICBtYXJnaW4tdG9wOiAzZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXJnaW4tdG9wOiA4ZW07XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5zdGF0LWdyaWQge1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcblxyXG4gIGdhcDogMWVtO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgZ2FwOiAyZW07XHJcbiAgfSAgXHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuLnN0YXQge1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIGJveC1zaGFkb3c6IDJweCA2cHggOXB4IC0xcHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cclxuICBwYWRkaW5nOiAxLjVlbTtcclxuXHJcbiAgJjpudGgtb2YtdHlwZSgzKSB7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICogKDEvMikpIC0gLjVlbSk7XHJcbiAgICAgICAgcGFkZGluZzogLjVlbTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlICogKDEvMykpIC0gMmVtKTtcclxuICAgICAgcGFkZGluZzogMWVtO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAqICgxLzQpKSAtIDJlbSk7XHJcbiAgICAgIHBhZGRpbmc6IDEuNWVtO1xyXG4gIH1cclxuXHJcbiAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIGFuZCAobm90KHRyYW5zbGF0ZTogbm9uZSkpIHtcclxuICAgIG1hcmdpbjogLjVlbSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgKiAoMS8yKSkgLSAxLjVlbSk7XHJcbiAgfVxyXG5cclxuICAmX19jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDFlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDFlbTtcclxuXHJcbiAgICAmID4gKiB7XHJcbiAgICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCh0cmFuc2xhdGU6IG5vbmUpKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxZW0gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5zdGF0X19kZWZpbml0aW9uIHtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXNtYWxsIHtcclxuICAgICAgZm9udC1zaXplOiAxLjFlbTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5zdGF0X192YWx1ZSB7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBsaW5lLWhlaWdodDogMmVtO1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG5cclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmb250LXNpemU6IDNlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XHJcbiAgICAgIG1hcmdpbi10b3A6IDAuNWVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZm9udC1zaXplOiAzZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgIHdpZHRoOiAxMjhweDtcclxuICAgICAgaGVpZ2h0OiAxMjhweDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbjo6YmVmb3JlIHtcclxuICAgICAgY2xpcC1wYXRoOiBjaXJjbGUoMCUpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjbGlwLXBhdGggMXMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24uYWN0aXZlOjpiZWZvcmUge1xyXG4gICAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc21hbGwge1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICBtYXgtd2lkdGg6IDE2Y2g7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3RhdF9fbG9nbyB7XHJcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xyXG4gIH1cclxuXHJcbiAgJi0tZ3JlZW4ge1xyXG4gICAgLnN0YXRfX3ZhbHVlIHtcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRncmVlbiwgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1jeWFuIHtcclxuICAgIC5zdGF0X192YWx1ZSB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY3lhbiwgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS15ZWxsb3cge1xyXG4gICAgLnN0YXRfX3ZhbHVlIHtcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR5ZWxsb3csIC40KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tbWFnZW50YSB7XHJcbiAgICAuc3RhdF9fdmFsdWUge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1hZ2VudGEsIC40KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLS1ncmV5IHtcclxuICAgIC5zdGF0X192YWx1ZSB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLWJpZyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgLnN0YXRfX3ZhbHVlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogM2VtO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc3RhdF9fZGVmaW5pdGlvbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAqICgyLzMpKSAtIDJlbSk7XHJcblxyXG4gICAgICAuc3RhdF9fdmFsdWUge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAzZW07XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnN0YXRfX2RlZmluaXRpb24ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblxyXG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAqICgzLzQpKSAtIDJlbSk7XHJcblxyXG4gICAgICAuc3RhdF9fY29udGVudCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgfVxyXG5cclxuICAgICAgLnN0YXRfX2RlZmluaXRpb24ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdGF0X192YWx1ZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDZlbTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgJi0tdGhpcmQsICYtLXNtYWxsIHsgXHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMWVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgKiAoMS8zKSkgLSAyZW0pO1xyXG4gICAgICAgIHBhZGRpbmc6IDFlbTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgKiAoMS8zKSkgLSAyZW0pO1xyXG4gICAgICAgIHBhZGRpbmc6IDFlbTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBcclxufVxyXG5cclxuXHJcblxyXG4uc3RhdC1ncmlkIHsgXHJcblxyXG4gICYtLWFsdCB7XHJcbiAgICAgIFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICBcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcclxuXHJcbiAgICBnYXA6IDFlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBnYXA6IDJlbTtcclxuICAgIH0gIFxyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBnYXA6IDJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhdCB7XHJcblxyXG4gICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAxZW0pO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gMmVtKTtcclxuICAgICAgfSAgICBcclxuICAgICAgXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAyZW0pO1xyXG4gICAgICB9ICAgXHJcblxyXG4gICAgICAmOm50aC1vZi10eXBlKDMpIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyBcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgfSAgICBcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuIiwiLnNlY3Rpb24tLWJlaGluZCB7XHJcbiAgei1pbmRleDogMTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMXB4KTtcclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uLS1sb2dvLWNvbGxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAzO1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIG1hcmdpbi10b3A6IDZlbSAhaW1wb3J0YW50O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy14OiBjbGlwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwzcHgpO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxNzUlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtMTAlLC0xcHgpO1xyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICB0b3A6IC01JTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5idXR0b24ge1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyZW07XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5sb2dvLWNvbGxlY3Rpb257XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGFzcGVjdC1yYXRpbzogMy8yO1xyXG4gIG1hcmdpbi1ib3R0b206IDRlbTtcclxuXHJcbiAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxIC8gMSkge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA4MCU7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubG9nby1jb2xsZWN0aW9uX19tYWluIHtcclxuICB3aWR0aDogMjAlO1xyXG4gIG1heC13aWR0aDogMzIwcHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG5cclxuLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgcGFkZGluZzogMSU7XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG92ZXJmbG93OiB1bnNldDtcclxuICAgIG92ZXJmbG93OiB1bnNldDtcclxuICAgIHdpZHRoOiAxMyU7XHJcbiAgICBtYXgtd2lkdGg6IDE4MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMTgwcHg7XHJcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcclxuXHJcbiAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICAgIGhlaWdodDogOCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5LS1zbWFsbHtcclxuICBzY2FsZTogLjY7XHJcbiAgQHN1cHBvcnRzIG5vdCAoc2NhbGU6IDEpIHtcclxuICAgICAgd2lkdGg6IDglO1xyXG4gICAgICBoZWlnaHQ6IDUlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiRudW1iZXJzOiAoXHJcbiAgXCIwXCI6IFwiMjkwJSwgLTcwJVwiLFxyXG4gIFwiMVwiOiBcIjI1MCUsIC01MCVcIixcclxuICBcIjJcIjogXCI0NDAlLCAxMzAlXCIsXHJcbiAgXCIzXCI6IFwiMTAlLCAyMDAlXCIsXHJcbiAgXCI0XCI6IFwiLTYwJSwgLTI2MCVcIixcclxuICBcIjVcIjogXCIxMjAlLCAxMzUlXCIsXHJcbiAgXCI2XCI6IFwiMjUwJSwgMTg1JVwiLFxyXG4gIFwiN1wiOiBcIi0yOTAlLCA4MCVcIixcclxuICBcIjhcIjogXCIxOTAlLCAtMTcwJVwiLFxyXG4gIFwiOVwiOiBcIi0xODAlLCAyMCVcIixcclxuICBcIjEwXCI6IFwiLTMyMCUsIDIxMCVcIixcclxuICBcIjExXCI6IFwiMjYwJSwgMzAlXCIsXHJcbiAgXCIxMlwiOiBcIi0xNTAlLCAtMTQwJVwiLFxyXG4gIFwiMTNcIjogXCI3MCUsIC0xOTAlXCIsXHJcbiAgXCIxNFwiOiBcIi00MDAlLCAtMTIwJVwiLFxyXG4gIFwiMTVcIjogXCItMTAwJSwgMTUwJVwiLFxyXG4pO1xyXG5cclxuLnNlY3Rpb24tLWxvZ28tY29sbGVjdGlvbiB7XHJcblxyXG4gICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xyXG5cclxuICAgIC5sb2dvLWNvbGxlY3Rpb25fX3RoaXJkLXBhcnR5IHtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKSwgb3BhY2l0eSAxcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcblxyXG4gICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgQGVhY2ggJGksICRudW1iZXIgaW4gJG51bWJlcnMge1xyXG4gICAgICAgICY6bnRoLW9mLXR5cGUoI3skaX1uKSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7JGl9MG1zICogIDI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICN7JGl9NW1zICogIDI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uLmFjdGl2ZSB7XHJcblxyXG4gICAgLmxvZ28tY29sbGVjdGlvbl9fdGhpcmQtcGFydHl7XHJcblxyXG4gICAgICBAZWFjaCAkaSwgJG51bWJlciBpbiAkbnVtYmVycyB7XHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfW4pIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoICN7JG51bWJlcn0gKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlY3Rpb24tLWljb24tcHJvcGVydHkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAwO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy14OiBjbGlwO1xyXG4gIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5pY29uLXByb3BlcnR5e1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgZ2FwOiA0ZW07XHJcbiAgLy8gRml4IGZvciBpT1MxNFxyXG4gICYgPiAqIHtcclxuICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCh0cmFuc2xhdGU6IG5vbmUpKSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDRlbSAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pdGVte1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuMyk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNGVtO1xyXG5cclxuICAgIGdhcDogMWVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGdhcDogMmVtO1xyXG4gICAgfVxyXG4gICAgLy8gRml4IGZvciBpT1MxNFxyXG4gICAgJiA+ICoge1xyXG4gICAgICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgYW5kIChub3QodHJhbnNsYXRlOiBub25lKSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAxZW0gMCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgfVxyXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xyXG4gICAgICAuaWNvbi1wcm9wZXJ0eV9faWNvbntcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRncmVlbiwgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDJuKSB7XHJcbiAgICAgIC5pY29uLXByb3BlcnR5X19pY29ue1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHJlZCwgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDNuKSB7XHJcbiAgICAgIC5pY29uLXByb3BlcnR5X19pY29ue1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICByZ2JhKCRibHVlLCAuNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6bnRoLW9mLXR5cGUoNG4pIHtcclxuICAgICAgLmljb24tcHJvcGVydHlfX2ljb257XHJcbiAgICAgICAgYmFja2dyb3VuZDogIHJnYmEoJHllbGxvdywgLjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pY29ue1xyXG4gICAgZm9udC1zaXplOiAuNmVtO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxZW07XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyZWVuLCAuNCk7XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XHJcblxyXG4gICAgd2lkdGg6IDVlbTtcclxuICAgIGhlaWdodDogNWVtO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICZfX2NvbnRlbnR7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogLjVlbTtcclxuXHJcbiAgICAmID4gKiB7XHJcbiAgICAgIEBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSBhbmQgKG5vdCh0cmFuc2xhdGU6IG5vbmUpKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgLjVlbSAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmX190aXRsZXtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19kZXNjcmlwdGlvbntcclxuXHJcbiAgfVxyXG5cclxuICAmLS1jb21wYWN0IHtcclxuXHJcbiAgICBtYXJnaW46IDNlbSAwIDNlbSAwO1xyXG5cclxuICAgIGdhcDogMWVtO1xyXG4gICAgLy8gRml4IGZvciBpT1MxNFxyXG4gICAgJiA+ICoge1xyXG4gICAgICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkgYW5kIChub3QodHJhbnNsYXRlOiBub25lKSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDFlbSAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1wcm9wZXJ0eV9faXRlbXtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiXHJcbi5zZWN0aW9uLS1sb2dvLWxpc3Qge1xyXG59XHJcblxyXG4ubG9nby1saXN0e1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDA7XHJcblxyXG5cclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIH1cclxuXHJcbiAgJl9fbG9nby1jb250YWluZXJ7XHJcblxyXG4gICAgbWFyZ2luOiAxZW07XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgcGxhY2Utc2VsZjogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC8vIHdpZHRoOiBjYWxjKDMzJSAtIDNlbSk7XHJcbiAgICAvL1xyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIC8vICAgd2lkdGg6IGNhbGMoMjUlIC0gM2VtKTtcclxuICAgIC8vIH1cclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgd2lkdGg6IGNhbGMoMjAlIC0gM2VtKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gICZfX2xvZ28ge1xyXG5cclxuICAgIG1heC1oZWlnaHQ6IDgwcHg7XHJcbiAgICAvLyBtYXgtd2lkdGg6IDYwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAvLyB3aWR0aDogODBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiLnNlY3Rpb24tLXF1b3RlLWZvcm0ge1xyXG4gIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAzO1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIG1hcmdpbi10b3A6IDZlbSAhaW1wb3J0YW50O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy14OiBjbGlwO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwzcHgpO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyMDB2dztcclxuICAgIGhlaWdodDogODB2dztcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0yJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwtMTAlLC0xcHgpO1xyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLnF1b3RlLWZvcm1fX3NlY3Rpb24ge1xyXG4gIG1hcmdpbjogM2VtIDA7XHJcbiAgcGFkZGluZzogMCAwIDNlbSAwO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmxhY2s7ICAgIFxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgbWFyZ2luOiA2ZW0gMDtcclxuICAgIHBhZGRpbmc6IDAgMCA2ZW0gMDtcclxuICB9ICBcclxuXHJcbiAgcCwgbGVnZW5kLCBoMSwgaDIsIGgzLCBoNCwgaDUge1xyXG4gICAgY29sb3I6ICRibGFja1xyXG4gIH1cclxuXHJcbiAgJjpudGgtb2YtdHlwZSgxbikge1xyXG4gICAgY29sb3I6ICAkZ3JlZW47XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcblxyXG4gICAgLmhlYWRpbmd7XHJcbiAgICAgIGNvbG9yOiAgY3VycmVudENvbG9yO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICY6bnRoLW9mLXR5cGUoMm4pIHtcclxuICAgIGNvbG9yOiAgJGN5YW47XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcblxyXG4gICAgLmhlYWRpbmd7XHJcbiAgICAgIGNvbG9yOiAgY3VycmVudENvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOm50aC1vZi10eXBlKDNuKSB7XHJcbiAgICBjb2xvcjogICRtYWdlbnRhO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgLmhlYWRpbmd7XHJcbiAgICAgIGNvbG9yOiAgY3VycmVudENvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOm50aC1vZi10eXBlKDRuKSB7XHJcbiAgICBjb2xvcjogICRncmVlbjtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgIC5oZWFkaW5ne1xyXG4gICAgICBjb2xvcjogIGN1cnJlbnRDb2xvcjtcclxuICAgIH1cclxuICB9XHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgIGNvbG9yOiAgJGJsYWNrO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcbiAgICAuaGVhZGluZ3tcclxuICAgICAgY29sb3I6ICBjdXJyZW50Q29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxudGV4dGFyZWEge1xyXG5cclxuICBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogOHB4IDE2cHggIWltcG9ydGFudDtcclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZGZkZDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGZsZXg6IDI7XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgbWluLWhlaWdodDogMy41ZW07XHJcbiAgbWFyZ2luLXRvcDogLjVlbTtcclxuICAvLyBib3JkZXItY29sb3I6ICRuYXZ5O1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgLy8gYm9yZGVyLWJvdHRvbTogLjVlbTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbi10b3A6IDRweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgZmxleDogMTtcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiAjMzIzMTMwO1xyXG4gIFxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG5cclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBtYXJnaW46IDA7XHJcblxyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICB3aWR0aDogMS4xNWVtO1xyXG4gIGhlaWdodDogMS4xNWVtO1xyXG4gIGJvcmRlcjogMC4xNWVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAwLjE1ZW07XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjA3NWVtKTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMC42NWVtO1xyXG4gIGhlaWdodDogMC42NWVtO1xyXG4gIGNsaXAtcGF0aDogcG9seWdvbigxNCUgNDQlLCAwIDY1JSwgNTAlIDEwMCUsIDEwMCUgMTYlLCA4MCUgMCUsIDQzJSA2MiUpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XHJcbiAgdHJhbnNpdGlvbjogMTIwbXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDFlbSAxZW0gdmFyKC0tZm9ybS1jb250cm9sLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBDYW52YXNUZXh0O1xyXG4gIHRvcDogLjE1ZW07XHJcbiAgbGVmdDogLjFlbTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOjpiZWZvcmUge1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XHJcbiAgb3V0bGluZTogIDAuMTVlbSBzb2xpZCAgcmdiYSgkYmxhY2ssIC4yKTtcclxuICBvdXRsaW5lLW9mZnNldDogMC4xNWVtO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xyXG4gIC0tZm9ybS1jb250cm9sLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuXHJcbiAgY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xyXG4gIC8vIHBhZGRpbmc6IDEuNWVtO1xyXG4gIC8vIGJvcmRlci1jb2xvcjogJG5hdnk7XHJcbiAgYm9yZGVyLXJhZGl1czogMjRweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA4cHggMTZweCAhaW1wb3J0YW50O1xyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWRmZGQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZmxleDogMjtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLmNoZWNrYm94LWNvbHVtbnMge1xyXG4gIGNvbHVtbnM6IDE7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGNvbHVtbnM6IDI7XHJcbiAgfVxyXG59XHJcblxyXG4uY2hlY2tib3gtY29sdW1uc19fY2hlY2tib3h7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwLjVlbTtcclxuICB9XHJcblxyXG4gIFt0eXBlPSdjaGVja2JveCddK2xhYmVsLCBbdHlwZT0ncmFkaW8nXStsYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEuOGVtO1xyXG4gIH1cclxuXHJcbn1cclxuLmNoZWNrYm94LWNvbHVtbnNfX2xlZ2VuZHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmZvcm0tY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxuICBib3JkZXItcmFkaXVzOiAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xyXG4gIG1hcmdpbjogLjRlbTtcclxuICBwYWRkaW5nOiAxZW07XHJcbiAgYm94LXNoYWRvdzogMCA2cHggOXB4IC0xcHggcmdiYSgwLDAsMCwwLjEpO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBtYXJnaW46IDFlbTtcclxuICAgIHBhZGRpbmc6IDJlbSAzZW07XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgQGV4dGVuZCAuYnV0dG9uO1xyXG4gIH1cclxufVxyXG5cclxuLmVycm9ycyB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDAgMCAxZW07XHJcblxyXG4gIGxpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIHBhZGRpbmc6IDAuNmVtO1xyXG4gICAgZm9udC1zaXplOiAuOGVtO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5pZnJhbWUtY29udGFpbmVyIHtcclxuICBtYXJnaW46IDJlbSAwIDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgbWFyZ2luOiAzZW0gMCAwO1xyXG4gIH1cclxufVxyXG5cclxuLmJhY2tncm91bmQtaW1hZ2V7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNGVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC00ZW07XHJcbiAgfVxyXG5cclxuICAmLS1jZW50ZXJlZCB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBcclxuICB9XHJcblxyXG59XHJcblxyXG4uc21hbGwtcHJpbnR7XHJcbiAgZm9udC1zaXplOiAuOGVtO1xyXG4gIG1hcmdpbjogMmVtIDA7XHJcbn1cclxuXHJcblxyXG5cclxuLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24ge1xyXG4gIG1hcmdpbi10b3A6IDJlbTtcclxuICBwYWRkaW5nOiAyZW0gMDtcclxuICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgkYmxhY2ssIC4yKTtcclxuXHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgIC8vIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkbWFnZW50YSAhaW1wb3J0YW50O1xyXG4gICAgQGV4dGVuZCAuYnV0dG9uLS1hcnJvdy1tYWdlbnRhO1xyXG4gIH1cclxufVxyXG4iLCIuc2VjdGlvbi0tbWFnZWxsYW4tZnVsbCB7XHJcblxyXG4gIHotaW5kZXg6IDI7XHJcblxyXG4gICYtLW5vLXBhZGIge1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyBcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5tZW51LS1tYWdlbGxhbi1mdWxse1xyXG5cclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgd2lkdGg6IDEwMCU7IFxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmhvdmVyOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGhlaWdodDogNnB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNwYztcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMmVtKTtcclxuICAgICAgICB0b3A6IDNlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICBhbmltYXRpb246IGZhZGVJbiAuNHMgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG5cclxuXHJcbi5tZW51LS1tYWdlbGxhbi1wYXJlbnR7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4ubWVudV9fZnVsbC13aWR0aC1pdGVtIHtcclxuXHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuMik7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcblxyXG59XHJcbiIsIi5zZWN0aW9uLS1jb250ZW50LXNwbGl0IHtcclxuICAgXHJcbiAgICAubWVkaXVtLW9yZGVyLTIge1xyXG4gICAgICAgIFxyXG4gICAgICAgIGltZyB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLS1jeWFuIHtcclxuXHJcbiAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbi0tY3lhbi1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY3lhbi12YXIyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwge1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgICAgICY6Om1hcmtlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjeWFuLXZhcjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0tZ3JlZW4ge1xyXG5cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLS1ncmVlbi1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6bWFya2VyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYtLW1hZ2VudGEge1xyXG5cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLS1tYWdlbnRhLWJvcmRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhLXZhcjI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6bWFya2VyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1hZ2VudGEtdmFyMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICBcclxufVxyXG4iLCIuc2VjdGlvbi0tc25pcHBldHMtYnktdHdvIHtcclxuICB6LWluZGV4OiA0O1xyXG59XHJcblxyXG4uY2VsbC0tYWx0ZXJuYXRlLXVuZGVybGluZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjeWFuO1xyXG4gIH1cclxuXHJcblxyXG4gICY6bnRoLW9mLXR5cGUoMW4pIHtcclxuICAgICY6OmFmdGVye1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAgJHllbGxvdztcclxuICAgIH1cclxuICB9XHJcbiAgJjpudGgtb2YtdHlwZSgybikge1xyXG4gICAgJjo6YWZ0ZXJ7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICAkY3lhbjtcclxuICAgIH1cclxuICB9XHJcbiAgJjpudGgtb2YtdHlwZSgzbikge1xyXG4gICAgJjo6YWZ0ZXJ7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICAkZ3JlZW47XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6bnRoLW9mLXR5cGUoNG4pIHtcclxuICAgICY6OmFmdGVye1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAgJG1hZ2VudGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICB9XHJcblxyXG4gIC5idXR0b24tLWFycm93e1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcbiIsIi5zZWN0aW9uLS10YWJiZWQtbG9nby1mZWF0dXJlLWNhcmRzIHtcclxuXHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaDIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcblxyXG59XHJcblxyXG4udGFicy0tbG9nb3N7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDJlbTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgXHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZ2FwOiAxZW07IFxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZ2FwOiAxLjVlbTsgXHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnRhYnMtdGl0bGUtLWxvZ28ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbG9hdDogbm9uZTtcclxuXHJcbiAgJi5pcy1hY3RpdmU6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBoZWlnaHQ6IDZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICBhbmltYXRpb246IGZhZGVJbiAuNHMgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xyXG5cclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjVlbSk7XHJcbiAgICBsZWZ0OiAuNzVlbTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41ZW0pO1xyXG4gICAgICBsZWZ0OiAxLjI1ZW07XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJj5hIHtcclxuICAgIHBhZGRpbmc6IDEuMjVyZW0gLjI1cmVtO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1heC13aWR0aDogODBweDsgXHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogOTZweDsgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuLnRhYnMtY29udGVudC0tbG9nb3N7XHJcbiAgbWFyZ2luLXRvcDogMmVtO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXJnaW4tdG9wOiA0ZW07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLnRhYnMtcGFuZWwtLWNhcmQtY29udGFpbmVyIHtcclxuXHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIHBhZGRpbmc6IDJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHBhZGRpbmc6IDRlbTtcclxuICB9XHJcblxyXG4gIC5jYXJkIHtcclxuICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbiAgICAuY2FyZCB7XHJcbiAgICAgIGFuaW1hdGlvbjogZmFkZUluIC40cyBub3JtYWwgZm9yd2FyZHMgZWFzZS1vdXQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5zZWN0aW9uIHtcclxuXHJcbiAgICAmLS1jb2x1bW5lZC1saXN0IHsgICAgICAgXHJcblxyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcms7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG5cclxuICAgICAgICAgICAgcGFkZGluZzogM2VtIDJlbTtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVlbTsgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwgeyAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uczogMTAwcHggMjtcclxuICAgICAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiAxMDBweCAzO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tdmlkZW8tZ2FsbGVyeSB7XHJcblxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufSIsIi5jbG9zZS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBjb2xvcjogIzZBNkE2QTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNsb3NlLWJ1dHRvbi5tZWRpdW0sIC5jbG9zZS1idXR0b24ge1xyXG4gICAgcmlnaHQ6IDFyZW07XHJcbiAgICB0b3A6IDAuNXJlbTtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcblxyXG4ucmV2ZWFsLS12aWRlb3tcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIG1heC13aWR0aDoxMDB2dztcclxuICAgIHBhZGRpbmc6IDJlbTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDY0cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgIFxyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIFxyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMjAwcHggMTIwMHB4IHJnYmEoMCwwLDAsLjUpO1xyXG4gICAgfVxyXG4gIFxyXG4gIH1cclxuXHJcbiIsIi5zZWN0aW9uIHtcclxuXHJcbiAgICAmLS10cmVuZGluZy1hcnRpY2xlcyB7XHJcblxyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XHJcblxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0taW50cm8ge1xyXG5cclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tZ3JlZW4ge1xyXG5cclxuICAgICAgICAgICAgICAgIGEsIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1ibHVlLCAmLS1jeWFuIHtcclxuXHJcbiAgICAgICAgICAgICAgICBhLCBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGN5YW47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1yZWQsICYtLW1hZ2VudGEge1xyXG5cclxuICAgICAgICAgICAgICAgIGEsIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgLnNlY3Rpb24tLXRyZW5kaW5nLWFydGljbGVzX19pdGVtLS1pbnRybyB7XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4ucmVzb3VyY2VzIHtcclxuXHJcblxyXG5cclxuICAgICZfX2ZpbHRlcnMge1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ncmlkLXgge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fZmlsdGVyIHtcclxuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgeHktY2VsbCg2KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDIuNSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSwgc2VsZWN0IHtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC40ZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1zZWFyY2gge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWVudV9fc3VidGl0bGV7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgICZfX3NlYXJjaCB7XHJcblxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWlucHV0LCAmLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcblxyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNWVtO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMxMDJGNTE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWJ1dHRvbiwgJi1idXR0b246aG92ZXIgIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogLTFweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMuNjI1cmVtO1xyXG4gXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24tbmF2LXNlYXJjaC5zdmdcIik7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2MCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICBcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLXJlc291cmNlcy1lbnRyeSB7XHJcblxyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fc2lkZS1iYXIge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2FyZC0tcG9zdCB7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3doaXRlcGFwZXIsICZfX2FydGljbGUge1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19hcnRpY2xlIHtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tYmx1ZSwgJi0tY3lhbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgc3BhbiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLWdyZWVuIHtcclxuXHJcbiAgICAgICAgICAgICAgICBzcGFuID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLXJlZCwgJi0tbWFnZW50YSB7XHJcblxyXG4gICAgICAgICAgICAgICAgc3BhbiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4ucmVzb3VyY2VfX2ltYWdlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxufVxyXG5cclxuXHJcblxyXG4ucmVzb3VyY2VzIHtcclxuXHJcbiAgICAmX19wYWdlLWJ1aWxkZXIge1xyXG5cclxuICAgICAgICAvLyBBREQgTU9ESUZJRVJTIElOIEhFUkUgSUYgUkVRVUlSRURcclxuXHJcblxyXG4gICAgICAgIC5zZWN0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNlbSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgJi0tdHdvLWNvbC1lbnRyeV9fY29udGVudC1jYWxsb3V0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLS1ncmV5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1jdGEtYmFyIHtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiAzZW07XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogM2VtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1mYXFzIHtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiAzZW07XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogM2VtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1pY29uLWdyaWQtdGhyZWUtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiAzZW07XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogM2VtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1pbWFnZS1mdWxsLXdpZHRoIHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogM2VtO1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDNlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAuY2VsbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLXF1b3RhdGlvbi1jYWxsb3V0IHtcclxuXHJcbiAgICAgICAgICAgICAgICAucXVvdGF0aW9uLWNhbGxvdXQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmX19jYWxsb3V0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2VsbCB7XHJcblxyXG4gICAgICAgICAgICAmLS1yaWNoLXRleHQge1xyXG5cclxuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgICAgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLWF1dGhvciB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuXHJcbiAgICAgICAgJl9fYXZhdGFyIHsgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogOTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3NvY2lhbCB7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMmVtO1xyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fc2NyZWVuLW5hbWUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fcm9sZS10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19zb2NpYWwtbGluayB7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcblxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4yZW0gMWVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufSIsIi5hc2lkZSB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGRhcms7XHJcbiAgICBwYWRkaW5nOiA0ZW0gM2VtO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcblxyXG4gICAgJl9faW50cm8ge1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2Jhc2Uge1xyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMS40ZW0gMS42ZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLXRlYW0tZ3JpZCB7XHJcblxyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gICAgICAgIC5jYXJkIHtcclxuXHJcbiAgICAgICAgICAgICZfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX3N1cnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1hZ2VudGEtdmFyMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fZm9vdGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAmLXNlY3Rpb24ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gJl9fcHJvZmlsZSB7XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDRlbTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDZlbTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gICAgICYtaW1hZ2Uge1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgICAgIGltZyB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweCAyNXB4IDAgMDtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgJi1jb250ZW50IHtcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICAgICAgaDQge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xZW07XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgICAgIGg1IHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAvLyAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgICAgIHVsIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJlbTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVlbTtcclxuICAgICAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICAgICAgICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi5wYWdpbmF0aW9uIHtcclxuXHJcbiAgLmN1cnJlbnQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgfVxyXG4gIC5wYWdpbmF0aW9uLW5leHQsIC5wYWdpbmF0aW9uLXByZXZpb3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgIHdpZHRoOiAxZW07XHJcbiAgICAgICAgcmlnaHQ6IC0yZW07XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbWFnZW50YS1jaGV2cm9uLXJpZ2h0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgxZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wYWdpbmF0aW9uLXByZXZpb3VzIHtcclxuICAgIGEge1xyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgbGVmdDogLTJlbTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoNTAlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSg1MCUpIHRyYW5zbGF0ZVgoMWVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyAucGFnaW5hdGlvbi1uZXh0IHtcclxuICAvLyAgIGEge1xyXG4gIC8vICAgICAmOjphZnRlciB7XHJcbiAgLy8gICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgLy8gICAgIH1cclxuICAvL1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbn1cclxuIiwiLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLW9mZmljZSB7XHJcblxyXG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgJl9fY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKCk7IFxyXG5cclxuICAgICAgICAgICAgJi0tbm8tcGFkLWxyIHsgXHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS10cmlwdHljaCB7XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM2VtOyBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAuc2VjdGlvbi0tb2ZmaWNlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJl9fZGV0YWlscyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19pbm5lciB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCBib3R0b20pOyBcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDIpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLW5vLW1hZy1sciB7IFxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2ltYWdlIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAgICAgXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpOyAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCB0b3AgYm90dG9tKTtcclxuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9ICAgIFxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgICAgICAgICAgICAgIHRvcDogMTUlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoJHdoaXRlLDApIDAlLCByZ2JhKCRibHVlLDEpIDEwMCUpOyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBjbGlwLXBhdGg6IGNpcmNsZSgwKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNsaXAtcGF0aCAxcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDE1JTsgIFxyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0zNSU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tYmx1ZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoJHdoaXRlLDApIDAlLCByZ2JhKCRibHVlLDEpIDEwMCUpOyAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tZ3JlZW4ge1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsMCkgMCUsIHJnYmEoJGdyZWVuLDEpIDEwMCUpOyAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tcmVkIHtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwwKSAwJSwgcmdiYSgkcmVkLDEpIDEwMCUpOyAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0teWVsbG93IHtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwwKSAwJSwgcmdiYSgkeWVsbG93LDEpIDEwMCUpOyAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2RldGFpbHMge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgxKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLWdyaWQge1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7ICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tYmx1ZSB7IFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgICAgJi0tZ3JlZW4geyBcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JlZW47XHJcbiAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgICAgICAmLS1yZWQgeyBcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcmVkO1xyXG4gICAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgICAgJi0teWVsbG93IHsgXHJcbiAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR5ZWxsb3c7XHJcbiAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYmdyb3VuZCB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYtbGlnaHQtZ3JleSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTsgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgLnNlY3Rpb24tLW9mZmljZV9faW1hZ2Uge1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBjbGlwLXBhdGg6IGNpcmNsZSg1MCUpOyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IFxyXG5cclxufSAiLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tZmFxcyB7XHJcblxyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIC5iYWNrZ3JvdW5kLWltYWdle1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgd2lkdGg6IDY1MHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRlbTsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDsgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDRzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNTMwZGVnKTtcclxuICAgICAgICAgICAgfSAgIFxyXG5cclxuICAgICAgICAgICAgJi0tcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMDBweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMi41ZW07ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH0gICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2NvbCB7XHJcblxyXG4gICAgICAgICAgICAmLWZhcXMge1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLS1mdWxsLXdpZHRoIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpOyAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtc2lkZWJhciB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZmFxLWFjY29yZGlvbiB7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1ZW07XHJcblxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmlzLWhpZGRlbiB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24ge1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJi1pdGVtIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi10aXRsZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDQwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tY3lhbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGN5YW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLS1ncmVlbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tbWFnZW50YSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLS15ZWxsb3cge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLWNvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19oZWFkZXIge1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41ZW07XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XHJcblxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1jeWFuIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGN5YW47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLWdyZWVuIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1tYWdlbnRhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLXllbGxvdyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR5ZWxsb3c7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uZmFxcyB7IFxyXG5cclxuICAgICZfX3NlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX25vLXJlc3VsdHMge1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVlbTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7ICAgICBcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2hvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fZmFxLWxpc3Qge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fdG9waWNzIHtcclxuXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5mcmFnbWVudC1pZGVudGlmaWVyICsgLnNlY3Rpb24tLWZhcXMgeyBcclxuICAgIHBhZGRpbmctdG9wOiAwOyBcclxufSIsIi5zZWN0aW9uIHtcclxuIFxyXG4gICAgJi0tY2FyZWVycy1yb2xlcyB7IFxyXG5cclxuICAgICAgICAmLS1saWdodC1ncmV5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoZWFkZXIge1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY2FyZC1jYXJlZXIge1xyXG5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlOyBcclxuXHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCA5cHggLTFweCByZ2JhKDAsMCwwLDAuMSk7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAmLXRpdGxlIHsgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDQwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtZGVzY3JpcHRpb24geyAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA2MCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuYnV0dG9uLS1hcnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbi0tY2FyZWVycy1saXN0aW5nIHtcclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIG1heC13aWR0aDogNTVjaDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAyZW0gYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xvY2F0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDA7ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmX19zeW5vcHNpc3tcclxuICAgICAgICBtYXJnaW46IDAgMCAxZW07XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbn0iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tY3RhLXRleHQge1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0td2hpdGVwYXBlci1mb3JtIHtcclxuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG4gICAgICAgICZfX2Zvcm0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg5KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2LjUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYmFja2dyb3VuZC1pbWFnZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tdGVybXMtcGFnZXMge1xyXG5cclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgLmdyaWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRuYXZ5O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2ZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuYXZ5O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICsgLnNlY3Rpb24tLWNhcmQtZ3JpZC1maWxlcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59IiwiLmNvb2tpZS1tZXNzYWdlIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDIwMDtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgYm94LXNoYWRvdzogMCAtMnB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgLjE2KTtcclxuXHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBtYXJnaW46IDFlbSAwO1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbntcclxuICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIH1cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tY3RhLWJhciB7IFxyXG4gICAgICAgIFxyXG4gICAgICAgIC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtYWdlbnRhLXZhcjI7ICAgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNWVtIDIuNWVtO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1czsgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyLCBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfSAgICAgICAgXHJcblxyXG4gICAgICAgIG9iamVjdCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNlbGwge1xyXG5cclxuICAgICAgICAgICAgJl9fYnV0dG9uIHtcclxuXHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tc3Vic2NyaWJlIHtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdnk7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLy8gJjphZnRlciwgJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4gICAgICAgIC8vICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDogMTkwcHg7XHJcblxyXG4gICAgICAgIC8vICAgICB0b3A6IDUwcHg7XHJcbiAgICAgICAgLy8gICAgIGxlZnQ6IC0yNXB4O1xyXG5cclxuICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAvLyAgICAgYm9yZGVyOiA1cHggc29saWQgJGdyZWVuLXZhcjI7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAvLyAmOmFmdGVyIHtcclxuICAgICAgICAvLyAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDE5MHB4O1xyXG5cclxuICAgICAgICAvLyAgICAgYm90dG9tOiAtNTBweDtcclxuICAgICAgICAvLyAgICAgcmlnaHQ6IC01MHB4O1xyXG5cclxuICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAvLyAgICAgYm9yZGVyOiA1cHggc29saWQgJHllbGxvdztcclxuICAgICAgICAvLyB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgLnN2Zy1nYXRvci1iZWZvcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTkwcHg7XHJcblxyXG4gICAgICAgICAgICB0b3A6IC0xNjBweDtcclxuICAgICAgICAgICAgbGVmdDogLTI1cHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdmctZ2F0b3ItYWZ0ZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTkwcHg7XHJcblxyXG4gICAgICAgICAgICBib3R0b206IC0xNTBweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTI1cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgLnN1YnNjcmliZSB7XHJcblxyXG4gICAgICAgICAgICAmX19jb250ZW50IHtcclxuXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGN5YW4tdmFyMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fcHJpdmFjeSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX19mb3JtIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMmVtIDA7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgLnN1YnNjcmliZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgJl9fY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi5zZWN0aW9uIHtcclxuXHJcbiAgICAmLS1mZWF0dXJlZC1uZXdzIHtcclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uY2FyZCB7XHJcblxyXG4gICAgJl9fbmV3cyB7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFlbSAxZW0gMWVtIDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDUvMztcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfSAgICAgICAgXHJcblxyXG4gICAgICAgICYtZGF0YSB7XHJcblxyXG4gICAgICAgICAgICAmLS1ibHVlLCAmLS1jeWFuIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3lhbi12YXIyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1ncmVlbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgICAgJi0teWVsbG93IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1yZWQsICYtLW1hZ2VudGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9faW1hZ2Uge1xyXG5cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmLS1zcGxpdCB7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSB4eS1jZWxsKCk7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0LWdyZXktdmFyMjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyAgICAgICBcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNhcmQge1xyXG5cclxuICAgICAgICAgICAgICAgICZfX2ltYWdlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtIDAgMWVtIDFlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICZfX25ld3MtZGF0YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tZmVhdHVyZWQtbmV3cywgJi0tbmV3cy1wYWdlIHtcclxuXHJcbiAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5ld3MtbGF0ZXN0LXRocmVlIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLmNhcmQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhcmQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJl9fbmV3cyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLS1uZXdzLXBhZ2Uge1xyXG5cclxuICAgICAgICAubmV3cy1sYXRlc3QtdGhyZWUge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyAgICAgICAgICAgIFxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4uc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tZmVhdHVyZWQtbmV3cyB7XHJcblxyXG4gICAgICAgICYtLXNtYWxsIHtcclxuXHJcbiAgICAgICAgICAgIGhlYWRlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY3lhbi12YXIyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fZ3JpZCB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7IFxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi0td3JhcCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgIC5jYXJkIHtcclxuXHJcbiAgICAgICAgICAgICAgICAmX19uZXdzIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tc3BsaXQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuIiwiLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLWljb24tZ3JpZC10d28tY29sIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0taWNvbi1ncmlkLXRocmVlLWNvbCB7XHJcblxyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uaWNvbi1ncmlkLXR3by1jb2wge1xyXG5cclxuICAgICZfX2hlYWRlciB7XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwY2g7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmX19ibG9jayB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7ICAgICAgICBcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2ljb24ge1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgXHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGZsZXg6IDAgMCA2MHB4O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4OyAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cclxuICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgOTBweDsgICBcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDVweDsgICAgXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcclxuXHJcbiAgICAgICAgcCwgaDIsIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIsIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi5pY29uLWdyaWQtdGhyZWUtY29sIHtcclxuXHJcbiAgICAmX19ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogM2VtIDJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGVyIHtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODBjaDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxZW0gYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aGFzKHApIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9fYmxvY2sge1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJl9faWNvbiB7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICAgIGhlaWdodDogOTBweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDVweDtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQgeyAgICAgICAgXHJcblxyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41ZW07XHJcblxyXG4gICAgICAgIHAsIGgyLCBoMywgaDQsIGg1IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIsIGgzLCBoNCwgaDUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2eTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG5cclxuICAgICAgICBwYWRkaW5nLXRvcDogM2VtOyBcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLWljb24tZ3JpZC10aHJlZS1jb2wge1xyXG5cclxuICAgICAgICAuYmFja2dyb3VuZC1pbWFnZXtcclxuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2NTBweDtcclxuICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnNjcm9sbC1yZXZlYWwtYW5pbWF0aW9uIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7ICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0cyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgIH0gICBcclxuXHJcbiAgICAgICAgICAgICYtLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMi41ZW07ICAgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMi43cztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH0gICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLXRvcCB7XHJcblxyXG4gICAgICAgICAgICAuaWNvbi1ncmlkLXRocmVlLWNvbCB7XHJcblxyXG4gICAgICAgICAgICAgICAgJl9fZ3JpZC1jb250YWluZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2eTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNGVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmX19oZWFkZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGgyLCBoMywgaDQsIGg1IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAmX19pY29uIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMS41ZW07ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweCAxNXB4IDE1cHggMDsgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYtLWN5YW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY3lhbi12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tZGFyay1ncmVlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tZ3JlZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICYtLW1hZ2VudGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YS12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0teWVsbG93IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdy12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJl9fY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGg1IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLDAuMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07ICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy93aGl0ZS1jaGV2cm9uLXJpZ2h0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgXHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICZfX2Jsb2NrIHsgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLS1jeWFuIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uLWdyaWQtdGhyZWUtY29sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGN5YW4tdmFyMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjeWFuLXZhcjI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjeWFuLXZhcjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tZGFyay1ncmVlbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi1ncmlkLXRocmVlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdyZWVuLXZhcjI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi12YXIyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tZ3JlZW4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb24tZ3JpZC10aHJlZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9fY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZ3JlZW47XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLS1tYWdlbnRhIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uLWdyaWQtdGhyZWUtY29sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1hZ2VudGEtdmFyMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtYWdlbnRhLXZhcjI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhLXZhcjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0teWVsbG93IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uLWdyaWQtdGhyZWUtY29sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9faWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdy12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHllbGxvdy12YXIyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93LXZhcjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4iLCIkY29sb3JzOiAkbWFnZW50YS12YXIyLCAkY3lhbi12YXIyLCAkZ3JlZW4tdmFyMywgJHllbGxvdy12YXIyLCAkZ3JlZW4tdmFyMjtcclxuXHJcblxyXG4uc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tdGFiYmVkLWNvbnRlbnQtdGFicyB7XHJcblxyXG4gICAgICAgIC50YWJzIHtcclxuXHJcbiAgICAgICAgICAgICYtcGFuZWwge1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtLWNhcmQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyZW0gMS4yNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0ZW0gMWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi0tbG9jYXRpb25zIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNlY3Rpb24tLXRhYmJlZC1jb250ZW50LXRhYnNfX3RhYnMtcGFuZWwtaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAmLS1jeWFuIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjeWFuLXZhcjI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY3lhbi12YXIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLS1kYXJrLWdyZWVuIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLXZhcjIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtLWdyZWVuIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi12YXIzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLXZhcjMgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtLW1hZ2VudGEge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1hZ2VudGEtdmFyMjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhLXZhcjIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtLXllbGxvdyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93LXZhcjI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93LXZhcjIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xyXG4gICAgICAgICAgICAgICAgLy8gICAmOm50aC1vZi10eXBlKCN7bGVuZ3RoKCRjb2xvcnMpfW4rI3skaX0pIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgYmFja2dyb3VuZDogbnRoKCRjb2xvcnMsICRpKVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgY29sb3I6ICBudGgoJGNvbG9ycywgJGkpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtLXdoaXRlLWZhZGUge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLnRhYnMtcGFuZWwtLWNhcmQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIuNGVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5zZWN0aW9uLS10YWJiZWQtY29udGVudC10YWJzX19jYXJkLWxvY2F0aW9uLWltYWdlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLXRpdGxlIHtcclxuXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cywgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXktdmFyMjtcclxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGZhZGVJbiAuNHMgbm9ybWFsIGZvcndhcmRzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS41ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC43NWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxLjI1ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgJi0tY3lhbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGN5YW4tdmFyMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtLWRhcmstZ3JlZW4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtLWdyZWVuIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tdmFyMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi0tbWFnZW50YSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1hZ2VudGEtdmFyMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLS15ZWxsb3cge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3ctdmFyMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICY6bnRoLW9mLXR5cGUoI3tsZW5ndGgoJGNvbG9ycyl9bisjeyRpfSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBiYWNrZ3JvdW5kOiBudGgoJGNvbG9ycywgJGkpXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1jb250ZW50IHtcclxuXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogMWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tdmVydGljYWwge1xyXG5cclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgLnRhYnMtdGl0bGUge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBpbml0aWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0UxMzQyOTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3RhYnMge1xyXG5cclxuICAgICAgICAgICAgJi1wYW5lbC1pbm5lciB7XHJcblxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2ltYWdlLCAmX19jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuXHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBjb2x1bW5zOiA4MHB4IDI7XHJcbiAgICAgICAgICAgICAgICAvLyBicmVhay1pbnNpZGU6IGF2b2lkO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwM0FcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2NhcmQge1xyXG5cclxuICAgICAgICAgICAgJi1wZW9wbGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmVkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgJi1sb2NhdGlvbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtaW1hZ2Uge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyLCAkZ3V0dGVyLXR5cGU6IGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxZW0gMCAxZW0gMWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFjaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA1IC8gMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiA1IC8gNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMywgJGd1dHRlci10eXBlOiBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLWNvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyLCAkZ3V0dGVyLXR5cGU6IGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMWVtIDFlbSAxZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS40ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOSwgJGd1dHRlci10eXBlOiBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDFlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLWluZm8ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDMsIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtYWRkcmVzcyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHAsIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtb3BlbmluZy1ob3VycyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdWwge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1tYWdlbnRhIHtcclxuXHJcbiAgICAgICAgICAgIC50YWJzIHtcclxuXHJcbiAgICAgICAgICAgICAgICAmLWNvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB1bCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFnZW50YS12YXIyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtdGl0bGUge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YS12YXIyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWN5YW4ge1xyXG5cclxuICAgICAgICAgICAgLnRhYnMge1xyXG5cclxuICAgICAgICAgICAgICAgICYtY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjeWFuLXZhcjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi10aXRsZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjeWFuLXZhcjI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tZ3JlZW4ge1xyXG5cclxuICAgICAgICAgICAgLnRhYnMge1xyXG5cclxuICAgICAgICAgICAgICAgICYtY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLXRpdGxlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2hlYWRlciB7XHJcblxyXG4gICAgICAgICAgICAmLXRoaW4ge1xyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uYWxpZ24taXRlbXMtLXN0cmV0Y2gge1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbn1cclxuXHJcblxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblxyXG4gICAgLmNlbGwtLXJlbGF0aXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDY4cHg7XHJcbiAgICAgICAgei1pbmRleDogMjAwOyBcclxuICAgIH1cclxuXHJcbiAgICAudGFicy0tdmVydGljYWwge1xyXG4gICAgICAgIHRvcDogLTYwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgaGVpZ2h0OiA1NHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDIwMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IC42ZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IC42ZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvY2hldnJvbi1kb3duLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICByaWdodDogMWVtO1xyXG4gICAgICAgICAgICB0b3A6IDEuNWVtO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAudGFicy10aXRsZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG5cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tcmljaC10ZXh0IHtcclxuXHJcbiAgICAgICAgJi0tY2VudGVyZWQge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLmNlbGwge1xyXG5cclxuICAgICAgICAgICAgICAgICYtLXJpY2gtdGV4dCB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19oZWFkZXIge1xyXG5cclxuICAgICAgICAgICAgJi10aGluIHtcclxuXHJcbiAgICAgICAgICAgICAgICBoMiwgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uY2VsbC0tcmljaC10ZXh0IHtcclxuXHJcbiAgICBmaWd1cmUgeyBcclxuICAgICAgICBtYXJnaW46IDRlbSBhdXRvOyBcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGNsaXA7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93aGl0ZS1yaW5nLXdpdGgtY3V0LnN2ZycpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogLTIwJTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZpZGVvIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGlzIGRvZXNuJ3QgeWV0IHdvcmsgaW4gQ2hyb21lXHJcbiAgICAmOmVtcHR5LCAmOi1tb3otb25seS13aGl0ZXNwYWNlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IFxyXG4gICAgfVxyXG5cclxuICAgIG9se1xyXG4gICAgICAgIG1hcmdpbjogMmVtIDAgMS4yNWVtIDJlbTtcclxuICAgICAgbGkge1xyXG4gICAgICAgIG1hcmdpbjogLjVlbSAwO1xyXG4gICAgICB9ICBcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICBcclxuICAgICAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1IHsgICAgICAgIFxyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgaDUgKyBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XHJcbiAgICB9XHJcblxyXG4gICAgYSB7ICAgICAgICBcclxuXHJcbiAgICAgICAgJjpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgICAgICBjb2xvcjogJG1hZ2VudGE7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLWhlYWRlci10ZXh0LXdlaWdodCB7XHJcblxyXG4gICAgICAgICYtLWxpZ2h0IHtcclxuXHJcbiAgICAgICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSB7ICBcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCIucXVvdGF0aW9uLWNhbGxvdXQgeyAgIFxyXG5cclxuICAgICZfX2NhbGxvdXQge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDExKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tdmFyMjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDNlbSAyZW07XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcclxuICAgICAgICAgICAgcGFkZGluZzogM2VtIDRlbTtcclxuICAgICAgICB9ICAgICAgICBcclxuIFxyXG4gICAgfSAgICBcclxuXHJcbiAgICAmX19xdW90ZSB7ICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogN2VtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDAyMDFDJzsgXHJcblxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNDBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMzBweDtcclxuXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4OyAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX3Byb2ZpbGUge1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7ICAgICBcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYW1lLCAucG9zaXRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4uc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tcXVvdGF0aW9uLWNhbGxvdXQge1xyXG5cclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uIHtcclxuXHJcbiAgICAmLS1xdW90YXRpb24tY2FsbG91dCB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmFsaWduLWxlZnQge1xyXG5cclxuICAgICAgICAgICAgLnF1b3RhdGlvbi1jYWxsb3V0IHtcclxuXHJcbiAgICAgICAgICAgICAgICAmX19jYWxsb3V0IHsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAkZ2xvYmFsLXJhZGl1czsgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9ICBcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uIHtcclxuXHJcbiAgICAmLS1xdW90YXRpb24tY2FsbG91dCB7XHJcblxyXG4gICAgICAgIC5iYWNrZ3JvdW5kLWltYWdle1xyXG5cclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMGVtOyAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDsgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDsgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDRzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgIH0gICBcclxuICAgIFxyXG4gICAgICAgICAgICAmLS1sZWZ0IHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7ICAgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTBweDsgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1uYXZ5IHtcclxuXHJcbiAgICAgICAgICAgIC5xdW90YXRpb24tY2FsbG91dCB7XHJcblxyXG4gICAgICAgICAgICAgICAgJl9fY2FsbG91dCB7XHJcbiAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG5hdnk7XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gXHJcbiAgICB9XHJcbiBcclxuIH1cclxuXHJcbiAuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tcXVvdGF0aW9uLWNhbGxvdXQge1xyXG5cclxuICAgICAgICAmLS1ncmVlbiB7XHJcblxyXG4gICAgICAgICAgICAucXVvdGF0aW9uLWNhbGxvdXQge1xyXG5cclxuICAgICAgICAgICAgICAgICZfX2NhbGxvdXQge1xyXG4gICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiBcclxuICAgIH1cclxuIFxyXG4gfVxyXG4gIiwiLmNhcmQge1xyXG5cclxuICAgICZfX2NvdXJzZXMge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2ZW07XHJcblxyXG4gICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzMpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7IFxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtZGF0YSB7XHJcblxyXG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLXZhcjI7XHJcblxyXG4gICAgICAgICAgICAmLS1jeWFuIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tZ3JlZW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2ltYWdlIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5jYXJkIHtcclxuXHJcbiAgICAgICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLWNvdXJzZXMge1xyXG5cclxuICAgICAgICAmX19oZWFkZXIge1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGg1IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tdmFyMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmNhcmQge1xyXG5cclxuICAgICZfX2NvdXJzZSB7XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJkX19uZXdzLWRhdGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLXZhcjI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCJcclxuLnNlY3Rpb24ge1xyXG5cclxuICAgICYtLXR3by1jb2wtZW50cnkge1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiA4ZW07XHJcblxyXG4gICAgICAgICZfX2NvbnRlbnQge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhlcm8ge1xyXG5cclxuICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX193eXNpd3lnIHtcclxuXHJcbiAgICAgICAgICAgIGgyLCBoMywgaDQge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogM2VtIDRlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMmVtIDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aGFzKGgyLCBoMywgaDQsIGg1KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpoYXMoYSkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6bWFya2VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3NpZGUtYmFyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgxKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNhcmQtLXBvc3Qge1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmFzaWRlIHtcclxuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgICAgICAgICAgJi0tZ3JlZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmFzaWRlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZfX2ludHJvIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fYXJ0aWNsZSB7ICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1ibHVlLCAmLS1jeWFuIHtcclxuXHJcbiAgICAgICAgICAgICAgICBzcGFuLCBzcGFuID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjeWFuLXZhcjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1ncmVlbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgc3Bhbiwgc3BhbiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLS1yZWQsICYtLW1hZ2VudGEge1xyXG5cclxuICAgICAgICAgICAgICAgIHNwYW4sIHNwYW4gPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1hZ2VudGEtdmFyMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19jdGEtdGV4dCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZXhwZXJ0cyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNlbTsgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgJi1ncmlkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgpO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fYmFjay10byB7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzZW07XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19idXR0b25zIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyZW0gMDtcclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZXZlbnQtaW5mbyB7XHJcblxyXG4gICAgICAgICAgICBwYWRkaW5nOiAzZW0gNGVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDJlbSAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4gICAgICAgICAgICBoMiwgaDMsIGg0LCBoNSB7XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19jb250ZW50LWNhbGxvdXQge1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luOiAzZW0gMDtcclxuICAgICAgICAgICAgcGFkZGluZzogM2VtIDRlbTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1czsgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgaDIsIGgzLCBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMmVtIDA7ICAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpoYXMoaDIsIGgzLCBoNCwgaDUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhhcyhhKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjptYXJrZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjeWFuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY3lhbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGN5YW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgKyAuc2VjdGlvbi0tZmVhdHVyZWQtbmV3cy0tc21hbGwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tY29kZS1jb3B5IHsgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyOyAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19jb250ZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbDtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19jb2RlLWJsb2NrIHtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHByZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZlbSAzZW0gM2VtIDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDNlbSAwO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBjb2RlIHtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBvdmVyZmxvdzogYXV0bzsgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC8qIG1ha2Ugc3BhY2UgICovXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lOyAgICAgICAgICBcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgaDMge1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gICAgICAgIFxyXG5cclxuICAgICAgICAmX19tc2ctY29uZmlybSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwKTtcclxuXHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcblxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZS1pbjtcclxuXHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUgeyAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IFxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC43NSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tZXZlbnQtZm9ybSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmJhY2tncm91bmQtaW1hZ2V7XHJcblxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICB9ICAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00ZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDsgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDRzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAmLS1jZW50ZXJlZCB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tbGVmdCB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwOyAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi0tcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7ICAgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5zY3JvbGwtcmV2ZWFsLWFuaW1hdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMi43cztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59IiwiLnNlY3Rpb24ge1xyXG4gICAgXHJcbiAgICAmLS1jYXJkLWdyaWQtdGV4dC10d28tY29sIHtcclxuXHJcbiAgICAgICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19ncmlkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fY2FyZCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmV5LXZhcjI7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1LjUpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn07IiwiLnNlY3Rpb24ge1xyXG4gICAgXHJcbiAgICAmLS1jYXJkLWdyaWQtZmlsZXMge1xyXG5cclxuICAgICAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2dyaWQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICBnYXA6IDEuNWVtO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGdhcDogM2VtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19oZWFkZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19jYXJkIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMi41ZW07ICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNS41KTsgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59OyIsIjpyb290IHtcclxuICAgIC0tbG9jYXRpb24tbWFya2VyLWRlbGF5OiAwczsgXHJcbn1cclxuXHJcbi5zZWN0aW9uIHtcclxuXHJcbiAgICAmLS1sb2NhdGlvbnMtbWFwIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19oZWFkZXIge1xyXG5cclxuICAgICAgICAgICAgJi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1ZW07XHJcbiAgICAgICAgICAgIH0gICAgICAgIFxyXG5cclxuICAgICAgICAgICAgJi1ncmlkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTsgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX21hcCB7XHJcblxyXG4gICAgICAgICAgICAmLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH0gICAgICAgIFxyXG5cclxuICAgICAgICAgICAgJi1ncmlkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgICAgICAmLWJsb2NrIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4MDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBIQUNLIFRPIEZJWCBHT09HTEUgTUFQIFRJTEUgRURHRSBMSU5FU1xyXG4gICAgICAgICAgICAgICAgaW1nW3JvbGU9cHJlc2VudGF0aW9uXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjBweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDoyNTdweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjU3cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyAmLW1hcmtlciB7XHJcblxyXG4gICAgICAgICAgICAvLyAgICAgJHJhbmRvbURlbGF5TnVtOiByYW5kb20oNSk7XHJcblxyXG4gICAgICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAvLyAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICAgICAgLy8gICAgIGhlaWdodDogMTJweDtcclxuXHJcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgLy8gICAgIGJvcmRlci1yYWRpdXM6IDdweDtcclxuXHJcbiAgICAgICAgICAgIC8vICAgICBvdXRsaW5lOiAwcHggc29saWQgcmdiYSgkd2hpdGUsIDEpO1xyXG4gICAgICAgICAgICAvLyAgICAgb3V0bGluZS1vZmZzZXQ6IDBweDtcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluIDBzLCBcclxuICAgICAgICAgICAgLy8gICAgIGJvcmRlciAwLjNzIGVhc2UtaW4gMHMsIFxyXG4gICAgICAgICAgICAvLyAgICAgb3V0bGluZSAwLjVzIGVhc2UtaW4gMHMsIFxyXG4gICAgICAgICAgICAvLyAgICAgb3BhY2l0eSAxcyBlYXNlLWluIHZhcigtLWxvY2F0aW9uLW1hcmtlci1kZWxheSk7XHJcblxyXG4gICAgICAgICAgICAvLyAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgICAgLy8gICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgICAgICAvLyAgICAgJi5hY3RpdmUgeyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyAgICAgJi5hY3RpdmUtbWFya2VyIHsgICAgXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi41KTtcclxuICAgICAgICAgICAgLy8gICAgICAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICAgICAgICAgLy8gICAgICAgICBvdXRsaW5lOiAxMHB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICBvdXRsaW5lLW9mZnNldDogMDtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vICAgICAmLS1tYWdlbnRhIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICBiYWNrZ3JvdW5kOiAkbWFnZW50YTsgXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG1hZ2VudGE7ICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gICAgICYtLXllbGxvdyB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdzsgIFxyXG4gICAgICAgICAgICAvLyAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR5ZWxsb3c7ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAgIC8vICYtdG9vbHRpcCB7XHJcblxyXG4gICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOTUpO1xyXG4gICAgICAgICAgICAvLyAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAyOTBweDtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmc6IDEuNWVtO1xyXG4gICAgICAgICAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbiAgICAgICAgICAgIC8vICAgICBoNCB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vICAgICBwIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgLy8gICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gfSAgICAgICAgICAgIFxyXG5cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAuZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWMgeyAgICAgICAgXHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDEycHggMTJweCAwO1xyXG5cclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nbS1zdHlsZSBpZnJhbWUgKyBkaXYgeyBcclxuICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gXHJcblxyXG4gICAgICAgICZfX2luZm8td2luZG93IHtcclxuXHJcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjk1KTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgd2lkdGg6IDI5MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAgICAgICBjb2xvcjogJG5hdnk7XHJcblxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5hdnk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59IiwiLm5ld3NsZXR0ZXItcG9wdXAge1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRuYXZ5O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgcGFkZGluZzogMi41ZW0gMWVtIDIuNWVtIDFlbTtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcclxuICAgIH1cclxuXHJcbiAgICBoMiwgYSB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgXHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ljb24ge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDEuNWVtIGF1dG87XHJcblxyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwOyBcclxuICAgIH1cclxuXHJcbiAgICAmX19mb3JtIHtcclxuICAgICAgICBtYXJnaW46IDJlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcclxuICAgIH0gICAgXHJcblxyXG59IiwiXHJcbi5zZWFyY2gtZm9ybSB7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIFxyXG4gICAgbWF4LXdpZHRoOiA2OTBweDtcclxuICBcclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIC5zZWFyY2gtZm9ybV9fc3VibWl0IHtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgIGNvbG9yOiAkdGhpcmRseS1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgICZfX2tleXdvcmRzLWlucHV0IHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIuOGVtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJl9fc3VibWl0IHtcclxuICBcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24tbmF2LXNlYXJjaC5zdmdcIik7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICBcclxuICAgICAgICBpIHtcclxuICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gIFxyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2Utb3V0XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICB9XHJcblxyXG4gIH1cclxuICBcclxuICAuc2VjdGlvbi0tc2VhcmNoIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgLy8gbWFyZ2luLXRvcDogLTUwcHg7XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBtYXJnaW4tdG9wOiAtMTMwcHg7XHJcbiAgICAgIH1cclxuICBcclxuICB9XHJcblxyXG4gIC5zZWFyY2gtcmVzdWx0c3tcclxuXHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbGlnaHQtZ3JleTtcclxuICBcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgXHJcbiAgICAgIHBhZGRpbmc6IDJlbTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgZWFzZS1vdXQgLjNzO1xyXG4gIFxyXG4gICAgICAmOmhvdmVye1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG5hdnksIC4xMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgbWFyZ2luOiAxZW0gMCAhaW1wb3J0YW50O1xyXG4gICAgICBtYXgtd2lkdGg6IDY5MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGluayB7XHJcbiAgICAgIGNvbG9yOiAkbmF2eTtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBtYXJnaW46IDAgMDtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgXHJcbiAgICAgIG1hcmdpbjogLjJlbSAwO1xyXG4gIFxyXG4gICAgfVxyXG5cclxuICAgICZfX2V4Y2VycHQge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5zZWFyY2gtLXN1Z2dlc3Rpb257XHJcbiAgICBtYXJnaW4tdG9wOiAyZW07XHJcbiAgfSIsIi5uZXdzIHtcclxuXHJcblxyXG4gICAgJl9fYXJ0aWNsZSB7XHJcblxyXG4gICAgICAgICYtc2lkZWxpc3Qge1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMmVtIC0wLjdlbSAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyZW0gMC43ZW0gMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XHJcbiAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jYXJkIHtcclxuXHJcbiAgICAgICAgICAgICAgICAmX19uZXdzIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmV5LXZhcjI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07ICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH0gICAgIFxyXG5cclxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxyXG4gICAgXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4ubWVudS0tZmlsdGVyIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgIC5tZW51X19zdWJ0aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudS0taW5saW5lIHtcclxuICAgIC8vIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwdnc7XHJcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnVfX2l0ZW1zLS1pbmxpbmUge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogLjhlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bi1saW5rLXdpZGVye1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiA0ODBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tLXJlc291cmNlcyB7XHJcbiAgICAuZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yOyAgIFxyXG4gICAgICAgIHBhZGRpbmc6IDEuNWVtIDIuNWVtO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzOyAgICAgICBcclxuICAgICAgICBcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcblxyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcclxuICAgICAgICAgICAgY29sdW1uLWdhcDogMmVtO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkd2hpdGUsIC4yKTtcclxuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLWRvd25sb2FkLWFycm93LnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIuNGVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi0tbGlua3Mge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgLmJhY2tncm91bmQtaW1hZ2Uge1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgd2lkdGg6IDM2MHB4OyAgXHJcblxyXG4gICAgICAgICYuc2Nyb2xsLXJldmVhbC1hbmltYXRpb24ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwOyAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA0cyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTQlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgIH0gICBcclxuXHJcbiAgICAgICAgJi0tbGVmdCB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDsgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNTBweDsgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gIFxyXG4gICAgXHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7ICAgXHJcbiAgICAgICAgcGFkZGluZzogMS41ZW0gMi41ZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7ICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgaDIge1xyXG4gICAgICAgIC8vIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG5cclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgLy8gICAgIGNvbHVtbi1nYXA6IDJlbTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgLy8gY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xyXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAuMik7XHJcblxyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMi40ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDNBXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLS4zZW07XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFnZW50YTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5jYXNlLXN0dWR5IHtcclxuXHJcbiAgICAmX19wYWdlLWJ1aWxkZXIge1xyXG5cclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAuY2VsbCB7XHJcblxyXG4gICAgICAgICAgICAmLS1yaWNoLXRleHQge1xyXG5cclxuICAgICAgICAgICAgICAgIGgyLCBoMywgaDQsIGg1IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiBibG9ja3F1b3RlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7ICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaW1nIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGZpZ3VyZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ3JleS1yaW5nLXdpdGgtY3V0LnN2Zyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDMuNXM7ICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHsgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTI1MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMnM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHsgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMjVweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTMwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC03NWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCIuZ2xvc3Nhcnkge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgZ2FwOiAxZW07XHJcblxyXG4gICZfX3RpdGxle1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4OiBub25lO1xyXG4gICAgbWFyZ2luOiAxZW0gMCAwO1xyXG4gIH1cclxuXHJcbiAgJl9fY29udGVudHtcclxuICAgIHBhZGRpbmc6IDFlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IC41ZW07XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxIC0gMWVtKTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxIC0gMWVtKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMWVtKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAxZW0pO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAxZW0pO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjeWFuLXZhcjIsIDM1KTtcclxuICAgICAgY29sb3I6ICRibGFjaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5saW5rLS1iYWNrIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY29sb3I6ICRtYWdlbnRhO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgbWFyZ2luLWxlZnQ6IDJlbTtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBsZWZ0OiAtMmVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoNTAlKTtcclxuXHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBoZWlnaHQ6IDFlbTtcclxuICAgIHdpZHRoOiAxZW07XHJcbiAgICByaWdodDogLTJlbTtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL21hZ2VudGEtY2hldnJvbi1yaWdodC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDUwJSkgdHJhbnNsYXRlWCguNWVtKTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG4iLCIuc2VjdGlvbiB7XHJcblxyXG4gICAgJi0tY2FyZWVycyB7XHJcblxyXG4gICAgICAgICZfX2JyZWFkY3J1bWJzIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG5cclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtYWdlbnRhO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcvJztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmhlcm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1ZW07XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgLmhlcm8geyAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICZfX2ltYWdlIHtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICZfX2NvbnRlbnQsICZfX2FwcGx5IHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19hcHBseS1pbnRybyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzZW07XHJcblxyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19hcHBsaWNhdGlvbi1mb3JtIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3N1bW1hcnktaWNvbnMge1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xyXG5cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICAmLWxpc3RpbmdzIHtcclxuXHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3ZW0gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDZlbSArIDEyNXB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX19saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX3NlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5yZXNvdXJjZXNfX3NlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5yZXNvdXJjZXNfX3NlYXJjaC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fZmlsdGVycy1saXN0IHtcclxuXHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGxpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN5YW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZS1vdXQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjeWFuLCAxMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuZ3JlZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRncmVlbiwgMTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfDlyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2NsZWFyLWZpbHRlcnMge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2ZpbHRlci1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmV5O1xyXG5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcblxyXG4gICAgICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fZmlsdGVyLW9wdGlvbiB7XHJcblxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrLWdyZXk7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyLjVlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfX2ZpbHRlci1zb3J0IHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGFyay1ncmV5OyBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIuNWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fZmlsdGVyLWNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fc2lkZS1hbm5vdW5jZW1lbnQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2eTtcclxuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBoMSwgaDIsIGgzLCBoNCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4jdG9nZ2xlLWZpbHRlcnN7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICY6dGFyZ2V0IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAvLyB0b3A6IDA7XHJcbiAgICAgICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAvLyBib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVlbTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDZlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG4uY2VsbC0tZmlsdGVye1xyXG4gICAgXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcblxyXG4gICAgICAgIGZvbnQtc2l6ZTogNGVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXR0b24tLWZpbHRlciB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgICAgaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6IDEuMmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb24tZmlsdGVycy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbi5idXR0b24tLWNsb3NlLWZpbHRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gfSIsIi5uYXYtYWxlcnQtYmFyIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkbmF2eTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG4gICAgcGFkZGluZzogMC41ZW0gMDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMGVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMjVlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRhaW5lciB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi50aXRsZS1iYXIge1xyXG5cclxuICAgICYtLWhhcy1uYXYtYWxlcnQge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLm1haW4tLWZ1bGwtd2lkdGgge1xyXG5cclxuICAgICYtLWhhcy1uYXYtYWxlcnQge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICAgICAgICBcclxuICAgICAgICAgICAgdG9wOiAxNTdweCAgIWltcG9ydGFudDsgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICBcclxufVxyXG5cclxuLmhlYWRlciB7XHJcblxyXG4gICAgJi0taGFzLW5hdi1hbGVydCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcbiAgICBcclxufSIsIi5yZWxhdGVkLW9mZmljZXMge1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9IFxyXG5cclxuICAgICZfX2NvbnRhaW5lci13aGl0ZSB7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDIuNWVtO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6IDFlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMi40ZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSJdfQ== */
