@charset "UTF-8";
/* App Settings */
.bg-color-alpha {
  background-color: #00be82; }

.bg-color-beta {
  background-color: #00be82; }

.bg-color-gamma {
  background-color: #00be82; }

.bg-color-back-80 {
  background-color: #525f6b;
  background-color: #28323c; }

.color-alpha {
  color: #00be82; }

.color-beta {
  color: #00be82; }

.color-gamma {
  color: #00be82; }

.color-back-80 {
  color: #525f6b;
  color: #28323c; }

.color-gradient-1 {
  color: #fefefe;
  background-image: linear-gradient(90deg, #00be82, #00be82);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

.color-gradient-2 {
  color: #fefefe;
  background-image: linear-gradient(90deg, #00be82, #00be82);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

.color-gradient-3 {
  color: #fefefe;
  background-image: linear-gradient(90deg, #00be82, #00be82);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

/*Imports für foundation selbst*/
/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

hr {
  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;
  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 {
  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"] {
  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 {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #28323c;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(40, 50, 60, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #28323c;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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'] {
  appearance: none;
  border-radius: 0; }

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

::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: #28323c; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

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

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #28323c;
  text-align: center;
  white-space: nowrap;
  display: flex;
  flex: 0 0 auto;
  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;
  flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: flex;
  flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    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;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #28323c;
  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;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

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

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-container {
  padding-right: 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: flex;
  flex-flow: row wrap; }

.cell {
  flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    flex: 1 1 0px; }
  .cell.shrink {
    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 {
  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 {
    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 {
    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 {
  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 {
    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 {
    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 {
    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 {
    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%; } }

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

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

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

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

.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 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 print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: flex;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto;
    max-width: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    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 {
      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 {
      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 {
    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 {
      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 {
      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 {
      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 {
      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%; } }

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

.grid-frame {
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  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: flex;
  flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    flex-wrap: nowrap; }

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

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

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

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    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%; } }

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  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;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #28323c; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #28323c; }
  .button.warning {
    background-color: #ffae00;
    color: #28323c; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #28323c; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #28323c; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #28323c; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

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

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

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

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

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

.orbit {
  position: relative; }

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

.orbit-slide {
  width: 100%;
  position: absolute; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(40, 50, 60, 0.5); }

.orbit-previous {
  left: 0; }

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

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

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

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

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  flex-basis: 0;
  order: 1; }

.clearfix::after {
  clear: both; }

.align-left {
  justify-content: flex-start; }

.align-right {
  justify-content: flex-end; }

.align-center {
  justify-content: center; }

.align-justify {
  justify-content: space-between; }

.align-spaced {
  justify-content: space-around; }

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

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

.align-center.vertical.menu > li > a {
  justify-content: center; }

.align-top {
  align-items: flex-start; }

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

.align-bottom {
  align-items: flex-end; }

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

.align-middle {
  align-items: center; }

.align-self-middle {
  align-self: center; }

.align-stretch {
  align-items: stretch; }

.align-self-stretch {
  align-self: stretch; }

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center; }

.small-order-1 {
  order: 1; }

.small-order-2 {
  order: 2; }

.small-order-3 {
  order: 3; }

.small-order-4 {
  order: 4; }

.small-order-5 {
  order: 5; }

.small-order-6 {
  order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    order: 1; }
  .medium-order-2 {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

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

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

.flex-dir-row {
  flex-direction: row; }

.flex-dir-row-reverse {
  flex-direction: row-reverse; }

.flex-dir-column {
  flex-direction: column; }

.flex-dir-column-reverse {
  flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.shake {
  animation-name: shake-7; }

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

.spin-cw {
  animation-name: spin-cw-1turn; }

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

.spin-ccw {
  animation-name: spin-cw-1turn; }

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

.wiggle {
  animation-name: wiggle-7deg; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

iframe {
  height: 1000px;
  border: none; }

.org-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000; }
  .org-overlay span.closer {
    position: absolute;
    height: 30px;
    width: 30px;
    top: 15px;
    right: 15px;
    cursor: pointer;
    z-index: 20; }
    .org-overlay span.closer:after {
      content: "\e90a";
      position: absolute;
      font-family: 'syntegon';
      top: 0px;
      right: 4px;
      font-size: 30px;
      color: #fefefe; }
  .org-overlay .org-overlay-content-wrap {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    position: relative;
    top: 0;
    bottom: 0; }
  .org-overlay .org-overlay-content {
    width: 100%;
    height: 0;
    overflow: visible;
    position: absolute;
    overflow: visible;
    z-index: 10;
    padding-top: 56.25%; }
  .org-overlay iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 100px; }

body,
html {
  max-width: 100%; }

body {
  overflow-x: hidden; }

main > div-grid-x {
  padding: 0 15px;
  max-width: 1230px;
  margin: 0 auto; }

main .grid-x {
  max-width: 1200px;
  margin: 0 auto; }

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

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

@font-face {
  font-family: "syntegonsans";
  font-style: normal;
  font-weight: 700;
  src: url(../fonts/Syntegon-Bold.woff2) format("woff2"), url(../fonts/Syntegon-Bold.woff) format("woff"); }

@font-face {
  font-family: "syntegonsans";
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/Syntegon-Medium.woff2) format("woff2"), url(../fonts/Syntegon-Medium.woff) format("woff"); }

@font-face {
  font-family: "syntegonsans";
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/Syntegon-Regular.woff2) format("woff2"), url(../fonts/Syntegon-Regular.woff) format("woff"); }

@font-face {
  font-family: 'syntegon';
  src: url("../fonts/syntegon.ttf?n2h34g") format("truetype"), url("../fonts/syntegon.woff?n2h34g") format("woff"), url("../fonts/syntegon.svg?n2h34g#syntegon") format("svg");
  font-weight: normal;
  font-style: normal; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  font-family: "syntegonsans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal; }

h1 {
  font-size: 3.4375rem;
  line-height: 3.75rem;
  font-weight: 300;
  margin-bottom: 2.9375rem; }
  @media screen and (max-width: 63.99875em) {
    h1 {
      font-size: 2.25rem;
      line-height: 2.75rem;
      margin-bottom: 1.6875rem; } }

h2 {
  font-size: 2.5rem;
  line-height: 2.8125rem;
  font-weight: 400;
  margin-bottom: 2.9375rem;
  text-transform: uppercase; }
  @media screen and (max-width: 63.99875em) {
    h2 {
      font-size: 1.75rem;
      line-height: 2rem; } }

h3 {
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 300;
  margin-bottom: 2.125rem; }
  @media screen and (max-width: 63.99875em) {
    h3 {
      font-size: 1.5rem;
      line-height: 1.875rem;
      margin-bottom: 1rem; } }

h4 {
  font-size: 1.25rem;
  line-height: 1.5625rem;
  font-weight: 700;
  margin-bottom: 2.1875rem; }
  @media screen and (max-width: 63.99875em) {
    h4 {
      font-size: 1.25rem;
      line-height: 1.5625rem; } }

h5 {
  font-size: 1rem;
  line-height: 1.125rem;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 1.0625rem; }
  @media screen and (max-width: 63.99875em) {
    h5 {
      font-size: 1rem;
      line-height: 1.125rem; } }

p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: normal;
  margin-bottom: 2.375rem; }
  @media screen and (max-width: 63.99875em) {
    p {
      font-size: 1rem;
      line-height: 1.5rem; } }

p.mini {
  font-size: 0.75rem;
  line-height: 1.125rem;
  margin-bottom: 0.875rem; }

p.intro-text {
  font-size: 1.375rem;
  line-height: 1.875rem;
  font-weight: 500;
  margin-bottom: 4rem;
  color: #00be82; }
  @media screen and (max-width: 63.99875em) {
    p.intro-text {
      font-size: 1.125rem;
      line-height: 1.625rem; } }
  p.intro-text a {
    font-size: 1.375rem;
    line-height: 1.875rem;
    color: #00be82;
    text-decoration: underline;
    text-decoration: underline #00be82; }
    @media screen and (max-width: 63.99875em) {
      p.intro-text a {
        font-size: 1.125rem;
        line-height: 1.625rem; } }
    p.intro-text a:hover {
      color: #28323c;
      text-decoration: underline #28323c; }

p.highlight-text {
  font-size: 2.5rem;
  line-height: 2.8125rem;
  font-weight: 400;
  margin-bottom: 3.75rem;
  color: #fefefe;
  background-image: linear-gradient(90deg, #00be82, #00be82);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }
  @media screen and (max-width: 63.99875em) {
    p.highlight-text {
      font-size: 1.75rem;
      line-height: 2.125rem; } }

p.postfact-text {
  font-size: 5.625rem;
  line-height: 5.9375rem;
  font-weight: 400;
  margin-bottom: 0.9375rem;
  color: #00be82; }
  @media screen and (max-width: 63.99875em) {
    p.postfact-text {
      font-size: 3.75rem;
      line-height: 4.375rem; } }

p.figure-text {
  font-size: 5.625rem;
  line-height: 5.9375rem;
  font-weight: 400;
  margin-bottom: 0.9375rem;
  color: #00be82;
  margin-bottom: 3.375rem; }
  @media screen and (max-width: 63.99875em) {
    p.figure-text {
      font-size: 3.75rem;
      line-height: 4.375rem; } }

ul {
  margin-left: 0;
  list-style: none;
  margin-bottom: 5rem; }
  ul li {
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: normal;
    margin-bottom: 2.375rem;
    margin-bottom: 1.625rem;
    margin-left: 3.125rem; }
    @media screen and (max-width: 63.99875em) {
      ul li {
        font-size: 1rem;
        line-height: 1.5rem; } }

.cke_editable_themed ul li, .text ul li {
  position: relative; }
  .cke_editable_themed ul li:after, .text ul li:after {
    content: "\e903";
    font-family: 'syntegon';
    position: absolute;
    font-size: 1.875rem;
    top: 0;
    left: -3.125rem;
    color: #00be82; }

.cke_editable_themed ul.alt-list-style li:after, .text ul.alt-list-style li:after {
  content: "\e936";
  font-family: 'syntegon';
  font-size: 0.625rem;
  left: -3.125rem;
  top: 0.0625rem; }

ol {
  margin-left: 0;
  margin-bottom: 4.375rem;
  list-style: none; }
  ol li {
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: normal;
    margin-bottom: 2.375rem;
    margin-bottom: 1.625rem;
    margin-left: 3.125rem; }
    @media screen and (max-width: 63.99875em) {
      ol li {
        font-size: 1rem;
        line-height: 1.5rem; } }
  ol.ol-restyled li {
    position: relative; }
    ol.ol-restyled li span.ordered-list-number {
      position: absolute;
      left: -50px;
      top: 0px;
      font-size: 32px;
      font-weight: 400;
      color: #00be82; }

.text ol {
  counter-reset: ordered-list-counter; }
  .text ol li {
    position: relative; }
    .text ol li:after {
      counter-increment: ordered-list-counter;
      content: counter(ordered-list-counter);
      position: absolute;
      font-size: 2rem;
      top: 0;
      left: -3.125rem;
      color: #00be82; }

hr {
  border-bottom: 0.3125rem solid #ededed;
  margin-bottom: 4.4375rem; }

blockquote {
  margin: 0;
  padding: 0;
  border: none;
  padding-top: 3.625rem;
  position: relative;
  max-width: 35.625rem;
  margin: 0 auto 4rem; }
  blockquote p.highlight-text {
    margin-bottom: 2.4375rem;
    text-align: center; }
  blockquote p.blockquote-person {
    font-size: 0.75rem;
    line-height: 1.125rem;
    text-align: center;
    margin-bottom: 1.25rem; }
  blockquote p.blockquote-button {
    text-align: center; }
  blockquote img {
    border-radius: 50%; }
  blockquote:after {
    content: "\e909";
    font-family: 'syntegon';
    position: absolute;
    top: -0.9375rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 3.125rem;
    height: 2.375rem;
    font-size: 3.125rem;
    color: #7e848a; }
  blockquote a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    background-color: red;
    border: 1px solid red;
    margin: 13px 0;
    padding: 0.375rem 1.875rem 0.375rem 1.875rem;
    cursor: pointer;
    text-decoration: none;
    background-color: transparent;
    border: 1px solid #28323c;
    color: #28323c;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
    blockquote a:hover {
      text-decoration: none; }
    blockquote a:after {
      content: none; }
    blockquote a.mail {
      padding-left: 4.0625rem;
      position: relative; }
      blockquote a.mail:before {
        content: "\e90b";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    blockquote a.download {
      padding-left: 4.0625rem; }
      blockquote a.download:before {
        content: "\e926";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    blockquote a:hover {
      border: 1px solid #00be82;
      color: #00be82; }

.herostruct {
  padding-top: 25px; }
  .herostruct .icon-box {
    width: 164px;
    height: 164px;
    display: block;
    margin: 0 auto 25px;
    position: relative;
    border: 3px solid #00be82; }
    .herostruct .icon-box:after {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 27px;
      font-family: 'syntegon';
      font-size: 105px;
      color: #00be82; }
    .herostruct .icon-box.icon-box-drop:after {
      content: "\e900"; }
    .herostruct .icon-box.icon-box-gear:after {
      content: "\e901"; }
    .herostruct .icon-box.icon-box-package:after {
      content: "\e925"; }
    .herostruct .icon-box.icon-box-download:after {
      content: "\e926"; }
    .herostruct .icon-box.icon-box-callcenter:after {
      content: "\e927"; }
    .herostruct .icon-box.icon-box-envelope:after {
      content: "\e90b"; }
    .herostruct .icon-box.icon-box-food:after {
      content: "\e90c"; }
    .herostruct .icon-box.icon-box-globe:after {
      content: "\e90d"; }
    .herostruct .icon-box.icon-box-handshake:after {
      content: "\e90e"; }
    .herostruct .icon-box.icon-box-info:after {
      content: "\e90f"; }
    .herostruct .icon-box.icon-box-magnifying-glass:after {
      content: "\e910"; }
    .herostruct .icon-box.icon-box-newspaper:after {
      content: "\e913"; }
    .herostruct .icon-box.icon-box-person:after {
      content: "\e914"; }
    .herostruct .icon-box.icon-box-pharma:after {
      content: "\e915"; }
    .herostruct .icon-box.icon-box-pin-outline:after {
      content: "\e917"; }
    .herostruct .icon-box.icon-box-play:after {
      content: "\e918"; }
    .herostruct .icon-box.icon-box-shop:after {
      content: "\e91a"; }
    .herostruct .icon-box.icon-box-smartphone:after {
      content: "\e91b"; }
    .herostruct .icon-box.icon-box-speech-bubble:after {
      content: "\e921"; }
    .herostruct .icon-box.icon-box-speech:after {
      content: "\e922"; }
    .herostruct .icon-box.icon-box-training:after {
      content: "\e923"; }
    .herostruct .icon-box.icon-box-warning:after {
      content: "\e924"; }
    .herostruct .icon-box.icon-box-award:after {
      content: "\e928"; }
    .herostruct .icon-box.icon-box-certificate:after {
      content: "\e929"; }
    .herostruct .icon-box.icon-box-gmp:after {
      content: "\e92a"; }
    .herostruct .icon-box.icon-box-head:after {
      content: "\e92b"; }
    .herostruct .icon-box.icon-box-injektion:after {
      content: "\e92c"; }
    .herostruct .icon-box.icon-box-iso:after {
      content: "\e92d"; }
    .herostruct .icon-box.icon-box-star:after {
      content: "\e92e"; }
    .herostruct .icon-box.icon-box-arrows:after {
      content: "\e92f"; }
    .herostruct .icon-box.icon-box-medal:after {
      content: "\e930"; }
    .herostruct .icon-box.icon-box-rocket:after {
      content: "\e931"; }
    .herostruct .icon-box.icon-box-handlewithcare:after {
      content: "\e932"; }
    .herostruct .icon-box.icon-box-document:after {
      content: "\e933"; }
    .herostruct .icon-box.icon-box-building-big:after {
      content: "\e934"; }
    .herostruct .icon-box.icon-box-building-medium:after {
      content: "\e935"; }
    .herostruct .icon-box.icon-box-building-small:after {
      content: "\e936"; }
    .herostruct .icon-box.icon-box-biscuit-tray:after {
      content: "\e937"; }
    .herostruct .icon-box.icon-box-biscuit-slug:after {
      content: "\e938"; }
    .herostruct .icon-box.icon-box-biscuit-pileslug:after {
      content: "\e939"; }
    .herostruct .icon-box.icon-box-biscuit-pile:after {
      content: "\e93a"; }
    .herostruct .icon-box.icon-box-chart:after {
      content: "\e906"; }
    .herostruct .icon-box.icon-box-organization:after {
      content: "\e916"; }
    .herostruct .icon-box.icon-box-monomaterial:after {
      content: "\e92b"; }
    .herostruct .icon-box.icon-box-paper:after {
      content: "\e92c"; }
    .herostruct .icon-box.icon-box-bakery:after {
      content: "\e92d"; }
    .herostruct .icon-box.icon-box-bars:after {
      content: "\e92e"; }
    .herostruct .icon-box.icon-box-powder:after {
      content: "\e930"; }
    .herostruct .icon-box.icon-box-video:after {
      content: "\e92a"; }
    .herostruct .icon-box.icon-box-percent:after {
      content: "\e931"; }

.text blockquote a {
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  text-decoration: none;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .text blockquote a.download, .text blockquote a.mail {
    padding-left: 4.0625rem; }
  .text blockquote a:after {
    content: none; }
  .text blockquote a:hover {
    text-decoration: none; }

hr.separator {
  display: block;
  width: 0.0625rem;
  background-color: #bfc0c2;
  height: 5.625rem;
  padding: 0 0;
  position: relative;
  margin: 0 auto 1rem; }
  hr.separator:after {
    content: "";
    position: absolute;
    width: 0.6875rem;
    height: 0.6875rem;
    top: 0;
    background-color: #bfc0c2;
    left: -0.3125rem;
    border-radius: 50%; }

p.extra-line-for-table {
  font-size: 0.75rem;
  line-height: 1.125rem;
  color: #d4d6d8;
  width: 1170px !important; }
  @media print, screen and (min-width: 64em) {
    p.extra-line-for-table {
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      transform: translateX(calc(-50% - 17px));
      margin-left: 15px;
      margin-right: 15px;
      max-width: calc(100vw - 47px); } }

table {
  border: 0;
  border-bottom: #f9f9f9;
  margin-bottom: 0.4375rem;
  width: 1170px !important; }
  @media print, screen and (min-width: 64em) {
    table {
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      transform: translateX(calc(-50% - 17px));
      margin-left: 15px;
      margin-right: 15px;
      max-width: calc(100vw - 47px); } }
  table caption {
    font-size: 1.25rem;
    line-height: 1.5625rem;
    font-weight: 700;
    margin-bottom: 2.1875rem;
    text-align: left;
    border-top: #f9f9f9;
    padding: 1.25rem 0.625rem 1.5rem 0.625rem;
    margin: 0;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      table caption {
        font-size: 1.25rem;
        line-height: 1.5625rem; } }
  table tr:nth-child(2n + 1) {
    background-color: #f9f9f9; }
  table td,
  table th {
    border: 0;
    border-top: #f9f9f9;
    font-size: 1rem;
    line-height: 1.5rem;
    vertical-align: top;
    padding: 0.75rem 0.625rem 0.8125rem 0.625rem;
    text-align: left; }
  table th {
    font-weight: 700; }
  table tr th {
    width: 33.3%; }

@media screen and (max-width: 63.99875em) {
  .table-restyled-wrap {
    overflow-x: scroll; } }

a {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: normal;
  margin-bottom: 2.375rem; }
  @media screen and (max-width: 63.99875em) {
    a {
      font-size: 1rem;
      line-height: 1.5rem; } }

.button-style-1-beta {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  background-color: red;
  border: 1px solid red;
  margin: 13px 0;
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid #28323c;
  color: #28323c;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .button-style-1-beta:hover {
    text-decoration: none; }
  .button-style-1-beta:after {
    content: none; }
  .button-style-1-beta.mail {
    padding-left: 4.0625rem;
    position: relative; }
    .button-style-1-beta.mail:before {
      content: "\e90b";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-1-beta.download {
    padding-left: 4.0625rem; }
    .button-style-1-beta.download:before {
      content: "\e926";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-1-beta:hover, .button-style-1-beta:focus {
    border: 1px solid #00be82;
    color: #00be82;
    background-color: transparent; }

.text .button-style-1-beta {
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  text-decoration: none;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .text .button-style-1-beta.download, .text .button-style-1-beta.mail {
    padding-left: 4.0625rem; }
  .text .button-style-1-beta:after {
    content: none; }
  .text .button-style-1-beta:hover {
    text-decoration: none; }

.button-style-2-beta {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  background-color: red;
  border: 1px solid red;
  margin: 13px 0;
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  cursor: pointer;
  text-decoration: none;
  background-color: #28323c;
  border: 1px solid #28323c;
  color: #fefefe;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .button-style-2-beta:hover {
    text-decoration: none; }
  .button-style-2-beta:after {
    content: none; }
  .button-style-2-beta.mail {
    padding-left: 4.0625rem;
    position: relative; }
    .button-style-2-beta.mail:before {
      content: "\e90b";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-2-beta.download {
    padding-left: 4.0625rem; }
    .button-style-2-beta.download:before {
      content: "\e926";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-2-beta:hover {
    background-color: #00be82;
    border: 1px solid #00be82;
    color: #fefefe; }

.text .button-style-2-beta {
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  text-decoration: none;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .text .button-style-2-beta.download, .text .button-style-2-beta.mail {
    padding-left: 4.0625rem; }
  .text .button-style-2-beta:after {
    content: none; }
  .text .button-style-2-beta:hover {
    text-decoration: none; }

.button-style-3-beta {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  background-color: red;
  border: 1px solid red;
  margin: 13px 0;
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid #28323c;
  color: #28323c;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .button-style-3-beta:hover {
    text-decoration: none; }
  .button-style-3-beta:after {
    content: none; }
  .button-style-3-beta.mail {
    padding-left: 4.0625rem;
    position: relative; }
    .button-style-3-beta.mail:before {
      content: "\e90b";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-3-beta.download {
    padding-left: 4.0625rem; }
    .button-style-3-beta.download:before {
      content: "\e926";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-3-beta:hover {
    border: 1px solid #00be82;
    color: #00be82; }

.text .button-style-3-beta {
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  text-decoration: none;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .text .button-style-3-beta.download, .text .button-style-3-beta.mail {
    padding-left: 4.0625rem; }
  .text .button-style-3-beta:after {
    content: none; }
  .text .button-style-3-beta:hover {
    text-decoration: none; }

.button-style-3-gamma {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  background-color: red;
  border: 1px solid red;
  margin: 13px 0;
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid #28323c;
  color: #28323c;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .button-style-3-gamma:hover {
    text-decoration: none; }
  .button-style-3-gamma:after {
    content: none; }
  .button-style-3-gamma.mail {
    padding-left: 4.0625rem;
    position: relative; }
    .button-style-3-gamma.mail:before {
      content: "\e90b";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-3-gamma.download {
    padding-left: 4.0625rem; }
    .button-style-3-gamma.download:before {
      content: "\e926";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-3-gamma:hover {
    border: 1px solid #00be82;
    color: #00be82; }

.text .button-style-3-gamma {
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  text-decoration: none;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .text .button-style-3-gamma.download, .text .button-style-3-gamma.mail {
    padding-left: 4.0625rem; }
  .text .button-style-3-gamma:after {
    content: none; }
  .text .button-style-3-gamma:hover {
    text-decoration: none; }

.button-style-4-beta {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5rem;
  background-color: red;
  border: 1px solid red;
  margin: 13px 0;
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
  color: #fefefe;
  border: 1px solid #fefefe;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .button-style-4-beta:hover {
    text-decoration: none; }
  .button-style-4-beta:after {
    content: none; }
  .button-style-4-beta.mail {
    padding-left: 4.0625rem;
    position: relative; }
    .button-style-4-beta.mail:before {
      content: "\e90b";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-4-beta.download {
    padding-left: 4.0625rem; }
    .button-style-4-beta.download:before {
      content: "\e926";
      position: absolute;
      font-family: 'syntegon';
      font-size: 1.6875rem;
      left: 1.75rem; }
  .button-style-4-beta:hover {
    border: 1px solid #28323c;
    color: #28323c; }

.text .button-style-4-beta {
  padding: 0.375rem 1.875rem 0.375rem 1.875rem;
  text-decoration: none;
  transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
  .text .button-style-4-beta.download, .text .button-style-4-beta.mail {
    padding-left: 4.0625rem; }
  .text .button-style-4-beta:after {
    content: none; }
  .text .button-style-4-beta:hover {
    text-decoration: none; }

.text a {
  position: relative;
  color: #28323c;
  transition: color .4s ease-out, text-decoration .4s ease-out;
  text-decoration: underline;
  text-decoration: underline #28323c; }
  .text a:hover {
    color: #00be82;
    text-decoration: underline;
    text-decoration: underline #00be82;
    right: 0; }

.cke_panel_listItem div,
.cke_panel_listItem dl,
.cke_panel_listItem dt,
.cke_panel_listItem dd,
.cke_panel_listItem ul,
.cke_panel_listItem ol,
.cke_panel_listItem li,
.cke_panel_listItem h1,
.cke_panel_listItem h2,
.cke_panel_listItem h3,
.cke_panel_listItem h4,
.cke_panel_listItem h5,
.cke_panel_listItem h6,
.cke_panel_listItem pre,
.cke_panel_listItem form,
.cke_panel_listItem p,
.cke_panel_listItem blockquote,
.cke_panel_listItem th,
.cke_panel_listItem td,
.cke_panel_listItem a,
.cke_panel_listItem span {
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5rem; }

.orbit ul.orbit-container li {
  margin-left: 0; }

.orbit .orbit-previous {
  background-color: #fefefe;
  left: 1.8125rem;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  transition: all 0.25s ease-in-out; }
  .orbit .orbit-previous:before {
    content: "\e905";
    position: absolute;
    font-family: 'syntegon';
    font-size: 26px;
    top: 7px;
    left: 7px;
    color: #00be82; }
  @media print, screen and (min-width: 64em) {
    .orbit .orbit-previous.small {
      width: 2.5rem;
      height: 2.5rem; }
      .orbit .orbit-previous.small:before {
        font-size: 26px;
        top: 7px;
        left: 7px; } }
  .orbit .orbit-previous:hover {
    filter: drop-shadow(0 0 6px #0a0a0a80); }

.orbit .orbit-next {
  background-color: #fefefe;
  right: 1.8125rem;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  transition: all 0.25s ease-in-out; }
  .orbit .orbit-next:before {
    content: "\e907";
    position: absolute;
    font-family: 'syntegon';
    font-size: 26px;
    top: 7px;
    left: 7px;
    color: #00be82; }
  @media print, screen and (min-width: 64em) {
    .orbit .orbit-next.small {
      width: 2.5rem;
      height: 2.5rem; }
      .orbit .orbit-next.small:before {
        font-size: 26px;
        top: 7px;
        left: 7px; } }
  .orbit .orbit-next:hover {
    filter: drop-shadow(0 0 6px #0a0a0a80); }

.orbit nav.orbit-bullets {
  margin: 0;
  display: flex;
  justify-content: center;
  background-color: #f9f9f9; }
  .orbit nav.orbit-bullets button {
    width: 4.1875rem;
    height: 0.3125rem;
    background-color: #bfc0c2;
    margin: 0 0.03125rem;
    line-height: 0;
    border-radius: 0;
    cursor: pointer; }
    .orbit nav.orbit-bullets button.is-active {
      background-color: #00be82; }

@media screen and (max-width: 63.99875em) {
  .orbit {
    padding-bottom: 3.75rem; }
    .orbit .orbit-next {
      top: auto;
      bottom: 0.625rem;
      right: 50%;
      transform: translateX(calc(50% + 33px)); }
    .orbit .orbit-previous {
      top: auto;
      bottom: 0.625rem;
      left: 50%;
      transform: translateX(calc(50% - 73px)); }
    .orbit nav.orbit-bullets button {
      width: auto;
      flex-grow: 1;
      flex-shrink: 1;
      height: 0.9375rem; } }

.stage-carousel {
  margin-bottom: 5.625rem; }
  .stage-carousel img {
    max-width: none;
    width: 100%; }
  @media print, screen and (min-width: 64em) {
    .stage-carousel .img-16-9-special {
      padding-top: 527px;
      top: 263.5px;
      transform: translateY(-50%); } }
  @media screen and (max-width: 63.99875em) {
    .stage-carousel {
      margin-bottom: 3.125em; } }
  .stage-carousel .img-wrap {
    position: relative; }
  .stage-carousel a.videolink {
    position: absolute;
    width: 100px;
    height: 100px;
    background-color: #28323c;
    opacity: .9;
    border: none;
    top: 50%;
    left: 66.66%;
    transform: translate(-50%, -50%);
    z-index: 1;
    border-radius: 50%;
    transition: all 0.25s ease-in-out; }
    .stage-carousel a.videolink:after {
      content: "\e918";
      font-family: 'syntegon';
      position: absolute;
      font-size: 102px;
      top: 36px;
      left: -1px;
      color: #fefefe; }
    .stage-carousel a.videolink:hover {
      background-color: #00be82;
      opacity: 1; }
    @media screen and (max-width: 63.99875em) {
      .stage-carousel a.videolink {
        left: 50%; } }
  .stage-carousel .text {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    width: 400px;
    padding: 1.625rem 1.875rem;
    color: #fefefe;
    left: 6.25rem;
    z-index: 1; }
    .stage-carousel .text h3, .stage-carousel .text h1 {
      font-size: 1.875rem;
      line-height: 2.25rem;
      font-weight: 300;
      margin-bottom: 2.125rem;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 63.99875em) {
        .stage-carousel .text h3, .stage-carousel .text h1 {
          font-size: 1.5rem;
          line-height: 1.875rem;
          margin-bottom: 1rem; } }
    .stage-carousel .text p {
      margin-bottom: 0.8125rem; }
    .stage-carousel .text .button-cont {
      padding: 0;
      margin-bottom: 0.875rem; }
    .stage-carousel .text a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none; }
      .stage-carousel .text a:hover {
        text-decoration: none; }
      .stage-carousel .text a:after {
        content: none; }
      .stage-carousel .text a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .stage-carousel .text a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .stage-carousel .text a.download {
        padding-left: 4.0625rem; }
        .stage-carousel .text a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
    .stage-carousel .text.bg-color-back-80 a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-carousel .text.bg-color-back-80 a:hover {
        border: 1px solid #00be82;
        color: #00be82; }
    .stage-carousel .text.bg-color-alpha a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-carousel .text.bg-color-alpha a:hover {
        border: 1px solid #28323c;
        color: #28323c; }
    .stage-carousel .text.bg-color-beta a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-carousel .text.bg-color-beta a:hover {
        border: 1px solid #28323c;
        color: #28323c; }
    .stage-carousel .text.bg-color-gamma a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-carousel .text.bg-color-gamma a:hover {
        border: 1px solid #28323c;
        color: #28323c; }
    @media screen and (max-width: 63.99875em) {
      .stage-carousel .text {
        position: static;
        transform: none;
        width: auto;
        padding: 1.875rem 0.9375rem; }
        .stage-carousel .text h3, .stage-carousel .text h1 {
          margin-bottom: 0.9375rem; }
        .stage-carousel .text p {
          margin-bottom: 1.125rem; }
        .stage-carousel .text .button-cont {
          margin-bottom: 0.625rem; } }
  .stage-carousel li {
    margin-bottom: 0; }
  .stage-carousel .wrap {
    height: 100%; }

.stage-textbox {
  position: relative;
  margin-bottom: 5.625rem; }
  .stage-textbox img {
    max-width: none;
    width: 100%; }
  @media print, screen and (min-width: 64em) {
    .stage-textbox .img-16-9-special {
      padding-top: 527px;
      top: 263.5px;
      transform: translateY(-50%); } }
  @media screen and (max-width: 63.99875em) {
    .stage-textbox {
      margin-bottom: 3.125em; } }
  .stage-textbox .img-wrap {
    position: relative; }
  .stage-textbox a.videolink {
    position: absolute;
    width: 100px;
    height: 100px;
    background-color: #28323c;
    opacity: .9;
    border: none;
    top: 50%;
    left: 66.66%;
    transform: translate(-50%, -50%);
    z-index: 1;
    border-radius: 50%;
    transition: all 0.25s ease-in-out; }
    .stage-textbox a.videolink:after {
      content: "\e918";
      font-family: 'syntegon';
      position: absolute;
      font-size: 102px;
      top: 36px;
      left: -1px;
      color: #fefefe; }
    .stage-textbox a.videolink:hover {
      background-color: #00be82;
      opacity: 1; }
    @media screen and (max-width: 63.99875em) {
      .stage-textbox a.videolink {
        left: 50%; } }
  .stage-textbox .text {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    width: 400px;
    padding: 1.625rem 1.875rem;
    color: #fefefe;
    left: 6.25rem;
    z-index: 1; }
    .stage-textbox .text h3, .stage-textbox .text h1 {
      font-size: 1.875rem;
      line-height: 2.25rem;
      font-weight: 300;
      margin-bottom: 2.125rem;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 63.99875em) {
        .stage-textbox .text h3, .stage-textbox .text h1 {
          font-size: 1.5rem;
          line-height: 1.875rem;
          margin-bottom: 1rem; } }
    .stage-textbox .text p {
      margin-bottom: 0.8125rem; }
    .stage-textbox .text .button-cont {
      padding: 0;
      margin-bottom: 0.875rem; }
    .stage-textbox .text a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none; }
      .stage-textbox .text a:hover {
        text-decoration: none; }
      .stage-textbox .text a:after {
        content: none; }
      .stage-textbox .text a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .stage-textbox .text a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .stage-textbox .text a.download {
        padding-left: 4.0625rem; }
        .stage-textbox .text a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
    .stage-textbox .text.bg-color-back-80 a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-textbox .text.bg-color-back-80 a:hover {
        border: 1px solid #00be82;
        color: #00be82; }
    .stage-textbox .text.bg-color-alpha a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-textbox .text.bg-color-alpha a:hover {
        border: 1px solid #28323c;
        color: #28323c; }
    .stage-textbox .text.bg-color-beta a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-textbox .text.bg-color-beta a:hover {
        border: 1px solid #28323c;
        color: #28323c; }
    .stage-textbox .text.bg-color-gamma a {
      background-color: transparent;
      color: #fefefe;
      border: 1px solid #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-textbox .text.bg-color-gamma a:hover {
        border: 1px solid #28323c;
        color: #28323c; }
    @media screen and (max-width: 63.99875em) {
      .stage-textbox .text {
        position: static;
        transform: none;
        width: auto;
        padding: 1.875rem 0.9375rem; }
        .stage-textbox .text h3, .stage-textbox .text h1 {
          margin-bottom: 0.9375rem; }
        .stage-textbox .text p {
          margin-bottom: 1.125rem; }
        .stage-textbox .text .button-cont {
          margin-bottom: 0.625rem; } }

.stage-text-carousel {
  margin-bottom: 5.625rem; }
  .stage-text-carousel img {
    filter: brightness(0.7); }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .stage-text-carousel .img-16-9-special:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: 2;
      background-color: rgba(0, 0, 0, 0.3); } }
  @media print, screen and (min-width: 64em) {
    .stage-text-carousel .img-16-9-special {
      padding-top: 527px;
      top: 263.5px;
      transform: translateY(-50%); } }
  @media screen and (max-width: 63.99875em) {
    .stage-text-carousel {
      margin-bottom: 3.125em; } }
  .stage-text-carousel .text {
    text-align: center;
    color: #fefefe;
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 63.99875em) {
      .stage-text-carousel .text {
        position: static;
        transform: none;
        width: auto;
        padding: 1.875rem 0.9375rem;
        transform: none;
        background-color: #00be82;
        text-align: left; } }
    .stage-text-carousel .text h1, .stage-text-carousel .text h3 {
      font-size: 3.4375rem;
      line-height: 3.75rem;
      font-weight: 300;
      margin-bottom: 2.9375rem;
      max-width: 62.5rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-text-carousel .text h1, .stage-text-carousel .text h3 {
          font-size: 2.25rem;
          line-height: 2.75rem;
          margin-bottom: 1.6875rem; } }
      @media screen and (max-width: 63.99875em) {
        .stage-text-carousel .text h1, .stage-text-carousel .text h3 {
          margin-bottom: 0.9375rem;
          font-size: 1.5rem;
          line-height: 1.875rem;
          padding-left: 0;
          padding-right: 0; } }
    .stage-text-carousel .text .intro-text {
      max-width: 37.5rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      font-weight: 400;
      margin-bottom: 0.8125rem;
      color: #fefefe;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-text-carousel .text .intro-text {
          margin-bottom: 1.0625rem;
          max-width: none;
          margin-left: 0;
          margin-right: 0;
          padding-left: 0;
          padding-right: 0;
          font-size: 1rem;
          line-height: 1.5rem; } }
    .stage-text-carousel .text a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none;
      background-color: #28323c;
      border: 1px solid #28323c;
      color: #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .stage-text-carousel .text a:hover {
        text-decoration: none; }
      .stage-text-carousel .text a:after {
        content: none; }
      .stage-text-carousel .text a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .stage-text-carousel .text a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .stage-text-carousel .text a.download {
        padding-left: 4.0625rem; }
        .stage-text-carousel .text a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .stage-text-carousel .text a:hover {
        background-color: #00be82;
        border: 1px solid #00be82;
        color: #fefefe; }
      @media screen and (max-width: 63.99875em) {
        .stage-text-carousel .text a {
          background-color: transparent;
          color: #fefefe;
          border: 1px solid #fefefe;
          transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
          .stage-text-carousel .text a:hover {
            border: 1px solid #28323c;
            color: #28323c; } }
  .stage-text-carousel div.alpha img {
    filter: none; }
  .stage-text-carousel div.alpha h1, .stage-text-carousel div.alpha h3 {
    color: #28323c; }
  .stage-text-carousel div.alpha .intro-text {
    color: #28323c; }
  .stage-text-carousel div.alpha a {
    background-color: #28323c;
    border: 1px solid #28323c;
    color: #fefefe;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
    background-color: #00be82;
    border: 1px solid #00be82;
    color: #fefefe;
    transition: all .4s; }
    .stage-text-carousel div.alpha a:hover {
      background-color: #00be82;
      border: 1px solid #00be82;
      color: #fefefe; }
    .stage-text-carousel div.alpha a:hover {
      background-color: #28323c;
      border: 1px solid #28323c; }
  @media screen and (max-width: 63.99875em) {
    .stage-text-carousel div.alpha .text {
      background-color: #00be82; }
      .stage-text-carousel div.alpha .text h1, .stage-text-carousel div.alpha .text h3 {
        color: #fefefe; }
      .stage-text-carousel div.alpha .text .intro-text {
        color: #fefefe; }
      .stage-text-carousel div.alpha .text a {
        background-color: transparent;
        color: #fefefe;
        border: 1px solid #fefefe;
        transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
        .stage-text-carousel div.alpha .text a:hover {
          border: 1px solid #28323c;
          color: #28323c; } }
  .stage-text-carousel div.video-wrap .img-wrap {
    position: relative; }
    .stage-text-carousel div.video-wrap .img-wrap img {
      width: 100%; }
  .stage-text-carousel div.video-wrap .videolink {
    position: relative;
    width: 58px;
    height: 58px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 18px;
    margin-top: 0;
    background-color: #28323c;
    opacity: .9;
    border: none;
    display: none; }
    .stage-text-carousel div.video-wrap .videolink:after {
      content: "\e918";
      font-family: 'syntegon';
      position: absolute;
      font-size: 60px;
      top: 17px;
      left: -1px;
      color: #fefefe; }
    @media screen and (max-width: 63.99875em) {
      .stage-text-carousel div.video-wrap .videolink {
        position: absolute;
        display: block;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        right: 0;
        z-index: 2; } }
    .stage-text-carousel div.video-wrap .videolink:hover {
      background-color: #00be82; }
  .stage-text-carousel div.video-wrap .text h1, .stage-text-carousel div.video-wrap .text h3 {
    margin-bottom: 21px; }
    @media screen and (max-width: 63.99875em) {
      .stage-text-carousel div.video-wrap .text h1, .stage-text-carousel div.video-wrap .text h3 {
        margin-bottom: -1px; } }
  .stage-text-carousel div.video-wrap .text img {
    margin-bottom: 31px;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .stage-text-carousel div.video-wrap .text .videolink {
    display: block; }
    @media screen and (max-width: 63.99875em) {
      .stage-text-carousel div.video-wrap .text .videolink {
        display: none; } }
  @media screen and (max-width: 63.99875em) {
    .stage-text-carousel div.video-wrap .text {
      background-color: #00be82; }
      .stage-text-carousel div.video-wrap .text img {
        display: none; }
      .stage-text-carousel div.video-wrap .text a {
        background-color: #28323c;
        border: 1px solid #28323c;
        color: #fefefe;
        transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
        background-color: transparent;
        border-color: #fefefe; }
        .stage-text-carousel div.video-wrap .text a:hover {
          background-color: #00be82;
          border: 1px solid #00be82;
          color: #fefefe; } }

.stage-text {
  position: relative;
  margin-bottom: 5.625rem; }
  .stage-text img {
    filter: brightness(0.7); }
    @media screen and (max-width: 63.99875em) {
      .stage-text img {
        filter: none; } }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .stage-text .img-16-9-special:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: 2;
      background-color: rgba(0, 0, 0, 0.3); } }
  @media print, screen and (min-width: 64em) {
    .stage-text .img-16-9-special {
      padding-top: 527px;
      top: 263.5px;
      transform: translateY(-50%); } }
  @media screen and (max-width: 63.99875em) {
    .stage-text {
      margin-bottom: 3.125em; } }
  .stage-text .text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    left: 0;
    right: 0;
    margin: 0 auto;
    color: white;
    z-index: 1; }
    @media screen and (max-width: 63.99875em) {
      .stage-text .text {
        position: static;
        background-color: #00be82;
        transform: none;
        text-align: left;
        padding-top: 26px;
        padding-bottom: 24px; } }
    .stage-text .text h1, .stage-text .text h3 {
      font-size: 3.4375rem;
      line-height: 3.75rem;
      font-weight: 300;
      margin-bottom: 2.9375rem;
      max-width: 62.5rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-text .text h1, .stage-text .text h3 {
          font-size: 2.25rem;
          line-height: 2.75rem;
          margin-bottom: 1.6875rem; } }
      @media screen and (max-width: 63.99875em) {
        .stage-text .text h1, .stage-text .text h3 {
          max-width: none;
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 12px; } }
    .stage-text .text .intro-text {
      max-width: 37.5rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      font-weight: 500;
      margin-bottom: 14px;
      color: #fefefe;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-text .text .intro-text {
          max-width: none;
          margin-left: auto;
          margin-right: auto; } }
    .stage-text .text a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none;
      background-color: #28323c;
      border: 1px solid #28323c;
      color: #fefefe;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
      color: #28323c;
      background-color: #fefefe;
      border-color: #fefefe; }
      .stage-text .text a:hover {
        text-decoration: none; }
      .stage-text .text a:after {
        content: none; }
      .stage-text .text a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .stage-text .text a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .stage-text .text a.download {
        padding-left: 4.0625rem; }
        .stage-text .text a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .stage-text .text a:hover {
        background-color: #00be82;
        border: 1px solid #00be82;
        color: #fefefe; }
      .stage-text .text a:hover {
        color: #fefefe;
        background-color: #00be82;
        border-color: #00be82; }
      @media screen and (max-width: 63.99875em) {
        .stage-text .text a {
          margin-left: 0.9375rem;
          margin-right: 0.9375rem;
          background-color: transparent;
          color: #fefefe;
          border: 1px solid #fefefe;
          transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
          .stage-text .text a:hover {
            border: 1px solid #28323c;
            color: #28323c; } }
  .stage-text.alpha img {
    filter: none; }
  .stage-text.alpha h1, .stage-text.alpha h3 {
    color: #28323c; }
  .stage-text.alpha .intro-text {
    color: #28323c; }
  .stage-text.alpha a {
    background-color: #28323c;
    border: 1px solid #28323c;
    color: #fefefe;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
    background-color: #00be82;
    border: 1px solid #00be82;
    color: #fefefe;
    transition: all .4s; }
    .stage-text.alpha a:hover {
      background-color: #00be82;
      border: 1px solid #00be82;
      color: #fefefe; }
    .stage-text.alpha a:hover {
      background-color: #28323c;
      border: 1px solid #28323c; }
  @media screen and (max-width: 63.99875em) {
    .stage-text.alpha .text {
      background-color: #00be82; }
      .stage-text.alpha .text h1, .stage-text.alpha .text h3 {
        color: #fefefe; }
      .stage-text.alpha .text .intro-text {
        color: #fefefe; }
      .stage-text.alpha .text a {
        background-color: transparent;
        color: #fefefe;
        border: 1px solid #fefefe;
        transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
        .stage-text.alpha .text a:hover {
          border: 1px solid #28323c;
          color: #28323c; } }
  .stage-text.video .img-wrap {
    position: relative; }
    .stage-text.video .img-wrap img {
      width: 100%; }
  .stage-text.video .videolink {
    position: relative;
    width: 58px;
    height: 58px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 18px;
    margin-top: 0;
    background-color: #28323c;
    opacity: .9;
    border: none;
    display: none;
    border-radius: 50%;
    transition: all 0.25s ease-in-out; }
    .stage-text.video .videolink:after {
      content: "\e918";
      font-family: 'syntegon';
      position: absolute;
      font-size: 60px;
      top: 17px;
      left: -1px;
      color: #fefefe; }
    @media screen and (max-width: 63.99875em) {
      .stage-text.video .videolink {
        position: absolute;
        display: block;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        right: 0;
        z-index: 2; } }
  .stage-text.video .text h1, .stage-text.video .text h3 {
    margin-bottom: 21px; }
    @media screen and (max-width: 63.99875em) {
      .stage-text.video .text h1, .stage-text.video .text h3 {
        margin-bottom: -1px; } }
  .stage-text.video .text img {
    margin-bottom: 31px;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .stage-text.video .text .videolink {
    display: block; }
    @media screen and (max-width: 63.99875em) {
      .stage-text.video .text .videolink {
        display: none; } }
  @media screen and (max-width: 63.99875em) {
    .stage-text.video .text {
      background-color: #525f6b; }
      .stage-text.video .text img {
        display: none; }
      .stage-text.video .text a {
        background-color: #28323c;
        border: 1px solid #28323c;
        color: #fefefe;
        transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
        background-color: #525f6b;
        color: #fefefe; }
        .stage-text.video .text a:hover {
          background-color: #00be82;
          border: 1px solid #00be82;
          color: #fefefe; } }

.stage-picture {
  margin-top: 3.125rem;
  margin-bottom: 5.625rem; }
  @media screen and (max-width: 63.99875em) {
    .stage-picture {
      margin-bottom: 3.125em; } }
  @media screen and (max-width: 63.99875em) {
    .stage-picture {
      margin-top: 0.375rem; } }
  .stage-picture img {
    max-width: none;
    width: 100%; }
  .stage-picture h1 {
    text-align: center;
    max-width: 62.5rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3.6875rem;
    width: 100%;
    color: #28323c; }
    @media screen and (max-width: 63.99875em) {
      .stage-picture h1 {
        margin-bottom: 1.9375rem; } }

.stage-gallery {
  margin-bottom: 5.625rem; }
  @media screen and (max-width: 63.99875em) {
    .stage-gallery {
      margin-bottom: 3.125em; } }
  .stage-gallery img {
    max-width: none;
    width: 100%; }
  .stage-gallery h1 {
    text-align: center;
    max-width: 62.5rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3.6875rem;
    width: 100%; }
    @media screen and (max-width: 63.99875em) {
      .stage-gallery h1 {
        margin-bottom: 1.9375rem; } }

.stage-backpicture {
  position: relative;
  background-color: #00be82;
  margin-bottom: 5.625rem; }
  @media screen and (max-width: 63.99875em) {
    .stage-backpicture {
      margin-bottom: 3.125em; } }
  .stage-backpicture .img-wrap {
    position: absolute;
    top: 0;
    bottom: 0;
    overflow: hidden;
    left: 0;
    right: 0;
    background-size: cover;
    background-position: center center;
    filter: brightness(0.7); }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .stage-backpicture .img-wrap:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: 2;
      background-color: rgba(0, 0, 0, 0.3); } }
  .stage-backpicture img {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 63.99875em) {
      .stage-backpicture img {
        width: auto;
        height: 100%;
        max-width: none; } }
  .stage-backpicture .text {
    position: relative;
    color: #fefefe;
    margin: 0 auto;
    left: 0;
    right: 0;
    z-index: 2;
    min-height: 369px;
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    @media screen and (max-width: 63.99875em) {
      .stage-backpicture .text {
        padding-top: 3.9375rem;
        padding-bottom: 3.9375rem;
        min-height: 209px; } }
    .stage-backpicture .text .mini {
      text-align: center;
      max-width: 50rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-backpicture .text .mini {
          margin-bottom: 1.3125rem; } }
    .stage-backpicture .text h1 {
      text-align: center;
      max-width: 75rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-backpicture .text h1 {
          margin-bottom: 1.5625rem; } }
    .stage-backpicture .text .intro-text {
      text-align: center;
      max-width: 50rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      color: #fefefe;
      font-weight: 400;
      width: 100%;
      width: 100%; }
    .stage-backpicture .text *:last-child {
      margin-bottom: 0; }

.stage-backextra {
  background-color: #28323c;
  margin-bottom: 5.625rem;
  position: relative; }
  @media screen and (max-width: 63.99875em) {
    .stage-backextra {
      margin-bottom: 3.125em; } }
  .stage-backextra .text {
    color: #00be82;
    margin: 0 auto;
    left: 0;
    right: 0;
    padding: 5.25rem 0 5.375rem 0; }
    @media screen and (max-width: 63.99875em) {
      .stage-backextra .text {
        padding-top: 3.9375rem;
        padding-bottom: 3.9375rem; } }
    .stage-backextra .text .mini {
      text-align: center;
      max-width: 50rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-backextra .text .mini {
          margin-bottom: 1.3125rem; } }
    .stage-backextra .text h1 {
      text-align: center;
      max-width: 75rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      width: 100%; }
      @media screen and (max-width: 63.99875em) {
        .stage-backextra .text h1 {
          margin-bottom: 1.5625rem; } }
    .stage-backextra .text .intro-text {
      text-align: center;
      max-width: 50rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      color: #00be82;
      font-weight: 400;
      width: 100%; }
    .stage-backextra .text *:last-child {
      margin-bottom: 0; }

.mol-image {
  margin-bottom: 3.75rem; }
  .mol-image h3,
  .mol-image h2 {
    text-align: center;
    color: #00be82; }
  .mol-image h3 {
    margin-bottom: 2.0625rem; }
    @media screen and (max-width: 63.99875em) {
      .mol-image h3 {
        margin-bottom: 0.9375rem; } }
  @media screen and (max-width: 63.99875em) {
    .mol-image h2 {
      margin-bottom: 2.125rem; } }
  .mol-image img {
    width: 100%;
    margin-bottom: 1.25rem; }
  .mol-image .text .button {
    margin-top: 0.8125rem; }
  .mol-image .text p:last-child {
    margin-bottom: 0; }
  .mol-image hr.extra {
    margin-top: 0.875rem;
    margin-bottom: 0; }
  .mol-image.mol-image-big img {
    margin-bottom: 0.5625rem; }
  .mol-image.mol-image-giant img {
    width: 100%;
    margin-bottom: 0.5625rem; }
  .mol-image a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    background-color: red;
    border: 1px solid red;
    margin: 13px 0;
    padding: 0.375rem 1.875rem 0.375rem 1.875rem;
    cursor: pointer;
    text-decoration: none;
    background-color: transparent;
    border: 1px solid #28323c;
    color: #28323c;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
    .mol-image a:hover {
      text-decoration: none; }
    .mol-image a:after {
      content: none; }
    .mol-image a.mail {
      padding-left: 4.0625rem;
      position: relative; }
      .mol-image a.mail:before {
        content: "\e90b";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .mol-image a.download {
      padding-left: 4.0625rem; }
      .mol-image a.download:before {
        content: "\e926";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .mol-image a:hover {
      border: 1px solid #00be82;
      color: #00be82; }

.mol-gallery {
  margin-bottom: 3.75rem; }
  .mol-gallery h2 {
    color: #00be82;
    text-align: center; }
    @media screen and (max-width: 63.99875em) {
      .mol-gallery h2 {
        margin-bottom: 2.125rem; } }
  .mol-gallery img {
    display: block;
    margin-bottom: 1rem; }
  .mol-gallery .text {
    padding-bottom: 0.875rem; }
    @media screen and (max-width: 63.99875em) {
      .mol-gallery .text {
        padding-bottom: 1.875rem; } }
    .mol-gallery .text h3 {
      color: #00be82;
      margin-bottom: 0.8125rem; }
    .mol-gallery .text .button {
      margin-top: 0.8125rem; }
    .mol-gallery .text a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none;
      background-color: transparent;
      border: 1px solid #28323c;
      color: #28323c;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .mol-gallery .text a:hover {
        text-decoration: none; }
      .mol-gallery .text a:after {
        content: none; }
      .mol-gallery .text a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .mol-gallery .text a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-gallery .text a.download {
        padding-left: 4.0625rem; }
        .mol-gallery .text a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-gallery .text a:hover {
        border: 1px solid #00be82;
        color: #00be82; }
    .mol-gallery .text p:last-child {
      margin-bottom: 0; }
  .mol-gallery .orbit .orbit-bullets {
    background-color: #ededed; }
  @media print, screen and (min-width: 64em) {
    .mol-gallery.mol-gallery-small .orbit .orbit-next {
      top: calc(16.14vw + 14.72px);
      right: -4.375rem; }
    .mol-gallery.mol-gallery-small .orbit .orbit-previous {
      top: calc(16.14vw + 14.72px);
      left: -4.375rem; } }
  @media screen and (min-width: 75em) {
    .mol-gallery.mol-gallery-small .orbit .orbit-next {
      top: 13.5rem; }
    .mol-gallery.mol-gallery-small .orbit .orbit-previous {
      top: 13.5rem; } }
  @media print, screen and (min-width: 64em) {
    .mol-gallery.mol-gallery-big .orbit .orbit-next {
      top: calc(24.22vw + 27.04px); }
    .mol-gallery.mol-gallery-big .orbit .orbit-previous {
      top: calc(24.22vw + 27.04px); } }
  @media screen and (min-width: 75em) {
    .mol-gallery.mol-gallery-big .orbit .orbit-next {
      top: 20.5625rem; }
    .mol-gallery.mol-gallery-big .orbit .orbit-previous {
      top: 20.5625rem; } }
  .mol-gallery.mol-gallery-giant img {
    max-width: none;
    width: 100%; }
  @media print, screen and (min-width: 64em) {
    .mol-gallery.mol-gallery-giant .orbit .orbit-next {
      top: calc(28.25vw - 6.29px); }
    .mol-gallery.mol-gallery-giant .orbit .orbit-previous {
      top: calc(28.25vw - 6.29px); } }

.mol-disquieter {
  background-color: #ededed;
  margin-bottom: 5.625rem; }
  @media screen and (max-width: 63.99875em) {
    .mol-disquieter .cell-img {
      order: -1; } }
  .mol-disquieter .img-stretch {
    height: 100%;
    overflow: hidden; }
    @media print, screen and (min-width: 64em) {
      .mol-disquieter .img-stretch {
        position: relative; } }
    @media screen and (max-width: 63.99875em) {
      .mol-disquieter .img-stretch {
        overflow: visible; }
        .mol-disquieter .img-stretch img {
          width: 100%; } }
    .mol-disquieter .img-stretch img {
      height: 100%;
      max-width: none;
      position: relative;
      left: 50%;
      transform: translateX(-50%); }
      @media print, screen and (min-width: 64em) {
        .mol-disquieter .img-stretch img {
          position: absolute; } }
  .mol-disquieter .text {
    color: #28323c;
    padding-top: 2.875rem;
    padding-bottom: 3.75rem; }
    .mol-disquieter .text h3 {
      margin-bottom: 13px; }
    .mol-disquieter .text a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none;
      background-color: transparent;
      border: 1px solid #28323c;
      color: #28323c;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .mol-disquieter .text a:hover {
        text-decoration: none; }
      .mol-disquieter .text a:after {
        content: none; }
      .mol-disquieter .text a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .mol-disquieter .text a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-disquieter .text a.download {
        padding-left: 4.0625rem; }
        .mol-disquieter .text a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-disquieter .text a:hover {
        border: 1px solid #00be82;
        color: #00be82; }
    .mol-disquieter .text *:last-child {
      margin-bottom: 0; }

.mol-highlighted {
  background-color: #ededed;
  margin-bottom: 5.625rem; }
  .mol-highlighted .text {
    border-top: 5px solid #00be82;
    padding: 4.4375rem 0 2.9375rem 0;
    text-align: center; }
    @media screen and (max-width: 63.99875em) {
      .mol-highlighted .text {
        padding-top: 2.1875rem; } }
    .mol-highlighted .text h2 {
      margin-bottom: 1.875rem;
      color: #00be82; }
    .mol-highlighted .text .intro-text {
      margin-bottom: 40px;
      color: #00be82; }
      @media screen and (max-width: 63.99875em) {
        .mol-highlighted .text .intro-text {
          margin-bottom: 0.25rem; } }
    .mol-highlighted .text a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none;
      background-color: transparent;
      border: 1px solid #28323c;
      color: #28323c;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
      background-color: #ededed;
      margin-left: 0.875rem;
      margin-right: 0.875rem; }
      .mol-highlighted .text a:hover {
        text-decoration: none; }
      .mol-highlighted .text a:after {
        content: none; }
      .mol-highlighted .text a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .mol-highlighted .text a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-highlighted .text a.download {
        padding-left: 4.0625rem; }
        .mol-highlighted .text a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-highlighted .text a:hover {
        border: 1px solid #00be82;
        color: #00be82; }
    .mol-highlighted .text *:last-child {
      margin-bottom: 0; }

.org-head {
  position: relative; }
  @media screen and (max-width: 63.99875em) {
    .org-head {
      margin-bottom: 0.0625rem; } }
  .org-head .top {
    display: flex;
    justify-content: space-between;
    padding-bottom: 13px;
    padding-top: 18px; }
    @media screen and (max-width: 63.99875em) {
      .org-head .top {
        flex-direction: column;
        padding-bottom: 0; } }
    @media screen and (max-width: 63.99875em) {
      .org-head .top .left {
        padding-bottom: 26px; } }
    .org-head .top .left img {
      margin: 19px 0 0 30px; }
      @media screen and (max-width: 63.99875em) {
        .org-head .top .left img {
          margin: 8px 0 0 10px;
          vertical-align: top; } }
    .org-head .top .left span {
      font-size: 31px;
      margin: 10px 0 0 30px;
      display: inline-block;
      font-weight: 300;
      color: #525f6b; }
      @media screen and (max-width: 63.99875em) {
        .org-head .top .left span {
          font-size: 19px;
          line-height: 26px;
          width: calc(100% - 210px);
          margin: 26px 13px 0 16px;
          vertical-align: top; } }
    .org-head .top .right {
      display: flex;
      position: relative; }
      @media screen and (max-width: 63.99875em) {
        .org-head .top .right {
          padding: 0 0 0 0;
          justify-content: space-between;
          border-top: 3px solid #ededed;
          border-bottom: 3px solid #ededed;
          margin-bottom: 30px; } }
      .org-head .top .right a {
        color: #7e848a;
        transition: all 0.25s ease-in-out; }
        .org-head .top .right a:hover {
          color: #00be82; }
      .org-head .top .right .menu-link {
        display: none;
        position: relative;
        height: 40px;
        width: 40px;
        margin: 11px 10px 9px 10px; }
        @media screen and (max-width: 63.99875em) {
          .org-head .top .right .menu-link {
            display: block; } }
        .org-head .top .right .menu-link:after {
          content: "\e911";
          position: absolute;
          font-family: 'syntegon';
          font-size: 30px;
          top: 7px;
          left: 5px; }
        .org-head .top .right .menu-link.mobile-open:after {
          content: "\e90a"; }
      .org-head .top .right .search-link {
        position: relative;
        height: 40px;
        width: 40px;
        margin: 15px 24px 0 10px;
        transition: transform 333ms ease-in-out; }
        @media screen and (max-width: 63.99875em) {
          .org-head .top .right .search-link {
            position: absolute;
            margin: 11px 10px 0 10px;
            left: calc(100% - 60px);
            transition: left 333ms ease-in-out; } }
        .org-head .top .right .search-link:after {
          content: "\e910";
          position: absolute;
          font-family: 'syntegon';
          font-size: 30px;
          top: 7px;
          left: 5px; }
        .org-head .top .right .search-link.active {
          transform: translateX(-361px); }
          @media screen and (max-width: 63.99875em) {
            .org-head .top .right .search-link.active {
              transform: none;
              left: 60px; } }
        .org-head .top .right .search-link.active + .search-header-form {
          width: 350px; }
          @media screen and (max-width: 63.99875em) {
            .org-head .top .right .search-link.active + .search-header-form {
              width: calc(100vw - 140px); } }
      .org-head .top .right .search-header-form {
        position: absolute;
        right: 25px;
        top: 12px;
        overflow: hidden;
        width: 0;
        transition: width 333ms ease-in-out;
        display: block !important; }
        @media screen and (max-width: 63.99875em) {
          .org-head .top .right .search-header-form {
            right: 10px;
            top: 7px; } }
        .org-head .top .right .search-header-form form {
          display: flex; }
        .org-head .top .right .search-header-form input {
          font-size: 16px;
          line-height: 24px;
          width: 310px;
          padding-bottom: 12px;
          height: 45px;
          border: 0;
          border-bottom: 1px solid #f9f9f9;
          box-shadow: none; }
          @media screen and (max-width: 63.99875em) {
            .org-head .top .right .search-header-form input {
              width: calc(100vw - 180px);
              padding-bottom: 9px;
              border-bottom: none; } }
        .org-head .top .right .search-header-form .discard {
          position: relative;
          width: 40px;
          height: 45px;
          flex-shrink: 0;
          cursor: pointer;
          color: #7e848a; }
          .org-head .top .right .search-header-form .discard:hover {
            color: #00be82; }
          .org-head .top .right .search-header-form .discard:after {
            content: "\e90a";
            position: absolute;
            font-family: 'syntegon';
            font-size: 30px;
            top: 1px;
            left: 5px;
            pointer-events: none; }
      .org-head .top .right .language-link {
        position: relative;
        margin: 15px 0px 0 10px;
        height: 40px;
        padding: 7px 36px 0px 10px;
        font-weight: 400;
        font-size: 1rem; }
        @media screen and (max-width: 63.99875em) {
          .org-head .top .right .language-link {
            display: none; } }
        .org-head .top .right .language-link:after {
          content: "\e935";
          position: absolute;
          font-family: 'syntegon';
          font-size: 14px;
          top: 6px;
          right: 14px;
          transition: transform 333ms ease-in-out;
          pointer-events: none; }
        .org-head .top .right .language-link.active:after {
          transform: rotate(180deg); }
        .org-head .top .right .language-link.active + .language-header-links {
          display: block !important; }
      .org-head .top .right .language-header-links {
        position: relative; }
        @media screen and (max-width: 63.99875em) {
          .org-head .top .right .language-header-links {
            display: none; } }
        .org-head .top .right .language-header-links ul {
          position: absolute;
          display: flex;
          margin: 0;
          padding: 8px 0 6px 0;
          border: 1px solid #7e848a;
          flex-direction: column;
          top: 58px;
          right: 4px;
          background-color: #fefefe;
          z-index: 100; }
        .org-head .top .right .language-header-links li {
          margin: 0; }
        .org-head .top .right .language-header-links a {
          color: #0a0a0a;
          font-size: 12px;
          line-height: 18px;
          padding: 3px 9px 3px 8px;
          margin: 0px 0 5px 0;
          display: block;
          transition: all 0.25s ease-in-out; }
          .org-head .top .right .language-header-links a:hover {
            color: #00be82; }
      .org-head .top .right .contact-link {
        position: relative;
        margin: 15px 0px 0px 15px;
        height: 40px;
        width: 40px;
        padding: 7px 36px 0px 10px; }
        @media screen and (max-width: 63.99875em) {
          .org-head .top .right .contact-link {
            display: none; } }
        .org-head .top .right .contact-link:after {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          top: 7px;
          left: 8px;
          font-size: 30px; }
      .org-head .top .right .world-link {
        position: relative;
        margin: 15px 0px 0px 10px;
        height: 40px;
        width: 30px;
        padding: 7px 36px 0px 10px; }
        @media screen and (max-width: 63.99875em) {
          .org-head .top .right .world-link {
            display: none; } }
        .org-head .top .right .world-link:after {
          content: "\e90d";
          position: absolute;
          font-family: 'syntegon';
          top: 7px;
          left: 9px;
          font-size: 30px; }
  .org-head .main-nav {
    position: relative;
    z-index: 99;
    width: 100%;
    display: none; }
    @media print, screen and (min-width: 64em) {
      .org-head .main-nav {
        margin-bottom: 30px; } }
    .org-head .main-nav.mobile-open {
      display: block; }
    .org-head .main-nav .main-nav-lvl-one {
      background-color: #ededed;
      padding-bottom: 38px; }
      @media screen and (max-width: 63.99875em) {
        .org-head .main-nav .main-nav-lvl-one {
          transition: transform 333ms ease-in-out; }
          .org-head .main-nav .main-nav-lvl-one[data-mobile-level="1"] {
            transform: translateX(-100%); }
          .org-head .main-nav .main-nav-lvl-one[data-mobile-level="2"] {
            transform: translateX(-200%); } }
    .org-head .main-nav ul {
      margin: 0;
      padding: 0;
      position: absolute;
      width: 100%;
      left: 0;
      right: 0; }
    .org-head .main-nav li {
      margin: 0;
      padding: 0; }
    .org-head .main-nav a {
      font-size: 18px;
      line-height: 26px;
      background-color: #ededed;
      border-bottom: 5px solid #fefefe;
      margin-right: 0;
      padding: 23px 35px 24px 14px;
      margin-bottom: 0;
      color: #28323c;
      width: 100%;
      display: block;
      position: relative; }
      .org-head .main-nav a img {
        display: none;
        width: 100%; }
      .org-head .main-nav a span {
        pointer-events: none; }
      .org-head .main-nav a.has-children:before {
        content: "\e907";
        font-family: 'syntegon';
        color: #00be82;
        font-size: 30px;
        position: absolute;
        top: 23px;
        right: 7px; }
      .org-head .main-nav a:hover {
        background-color: #ededed;
        box-shadow: none;
        color: #00be82; }
      .org-head .main-nav a.mobile-back {
        text-align: center;
        text-transform: uppercase;
        font-size: 16px;
        line-height: 18px;
        padding-top: 28px;
        padding-bottom: 26px;
        color: #525f6b;
        padding-left: 40px;
        padding-right: 40px; }
        .org-head .main-nav a.mobile-back:before {
          content: "\e905";
          font-family: 'syntegon';
          color: #00be82;
          font-size: 30px;
          position: absolute;
          top: 27px;
          left: 6px; }
      .org-head .main-nav a.mobile-world-link {
        display: none;
        padding-left: 57px;
        color: #7e848a; }
        .org-head .main-nav a.mobile-world-link:after {
          content: "\e90d";
          position: absolute;
          font-family: 'syntegon';
          top: 23px;
          left: 13px;
          font-size: 30px; }
        @media screen and (max-width: 63.99875em) {
          .org-head .main-nav a.mobile-world-link {
            display: block; } }
      .org-head .main-nav a.mobile-contact-link {
        display: none;
        padding-left: 57px;
        color: #7e848a; }
        .org-head .main-nav a.mobile-contact-link:after {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          top: 23px;
          left: 14px;
          font-size: 30px; }
        @media screen and (max-width: 63.99875em) {
          .org-head .main-nav a.mobile-contact-link {
            display: block; } }
      .org-head .main-nav a.mobile-language-link {
        display: none;
        padding-left: 57px;
        color: #7e848a; }
        .org-head .main-nav a.mobile-language-link:before {
          content: "\e921";
          position: absolute;
          font-family: 'syntegon';
          top: 23px;
          left: 14px;
          font-size: 30px; }
        .org-head .main-nav a.mobile-language-link:after {
          content: "\e904";
          position: absolute;
          font-family: 'syntegon';
          top: 23px;
          right: 14px;
          font-size: 30px;
          transition: transform 333ms ease-in-out; }
        .org-head .main-nav a.mobile-language-link.mobile-open {
          border-bottom: none; }
          .org-head .main-nav a.mobile-language-link.mobile-open:after {
            transform: rotate(180deg); }
        @media screen and (max-width: 63.99875em) {
          .org-head .main-nav a.mobile-language-link {
            display: block; } }
      .org-head .main-nav a.mobile-open + .children {
        display: block;
        top: 0; }
    .org-head .main-nav .mobile-language-header-links {
      border-bottom: 5px solid #fefefe;
      position: static; }
      .org-head .main-nav .mobile-language-header-links ul {
        position: static; }
      .org-head .main-nav .mobile-language-header-links a {
        border-bottom: none;
        border-bottom: none;
        padding: 12px 35px 11px 58px; }
      @media screen and (max-width: 63.99875em) {
        .org-head .main-nav .mobile-language-header-links.mobile-open {
          display: block !important; } }
    .org-head .main-nav .children {
      display: none;
      position: absolute;
      top: 0;
      width: 100%;
      transition: all .5s; }
      .org-head .main-nav .children > .discard {
        display: none; }
      .org-head .main-nav .children > .title {
        display: none; }
    .org-head .main-nav .main-nav-lvl-one .children {
      transform: translateX(100%); }
    .org-head .main-nav .main-nav-lvl-two .children {
      transform: translateX(100%); }
    @media print, screen and (min-width: 64em) {
      .org-head .main-nav {
        display: block; }
        .org-head .main-nav ul {
          padding: 0;
          margin: 0; }
        .org-head .main-nav li {
          padding: 0;
          margin: 0; }
        .org-head .main-nav a.open + .children, .org-head .main-nav a:hover + .children {
          display: block;
          opacity: 1;
          pointer-events: all; }
        .org-head .main-nav .children {
          position: static; }
        .org-head .main-nav .children:hover {
          display: block; }
        .org-head .main-nav ul.main-nav-lvl-one {
          display: flex;
          padding: 8px 25px 0 25px;
          border-bottom: 3px solid #ededed;
          margin-bottom: 0;
          position: relative;
          background-color: transparent; }
          .org-head .main-nav ul.main-nav-lvl-one > li a {
            font-size: 16px;
            line-height: 24px;
            padding: 6px 5px 9px 5px;
            position: relative;
            margin-right: 11px;
            color: #28323c;
            display: block;
            margin-bottom: 0;
            background-color: transparent;
            border-bottom: none;
            width: auto;
            transition: all 0.25s ease-in-out; }
            .org-head .main-nav ul.main-nav-lvl-one > li a:hover {
              color: #00be82; }
            .org-head .main-nav ul.main-nav-lvl-one > li a:before {
              content: none; }
            .org-head .main-nav ul.main-nav-lvl-one > li a.active:after {
              content: "";
              position: absolute;
              bottom: -3px;
              left: 6px;
              right: 6px;
              height: 3px;
              background-color: #00be82;
              z-index: 10; }
            .org-head .main-nav ul.main-nav-lvl-one > li a.open + .children {
              display: block; }
          .org-head .main-nav ul.main-nav-lvl-one > li a.mobile-world-link,
          .org-head .main-nav ul.main-nav-lvl-one > li a.mobile-contact-link,
          .org-head .main-nav ul.main-nav-lvl-one > li a.mobile-language-link,
          .org-head .main-nav ul.main-nav-lvl-one > li a.mobile-back,
          .org-head .main-nav ul.main-nav-lvl-one > li a.mobile-self {
            display: none; }
          .org-head .main-nav ul.main-nav-lvl-one > li > .children {
            position: absolute;
            top: calc(100% + 0px);
            left: 0;
            right: 0;
            transform: none;
            padding: 28px 15px 31px 15px;
            background-color: #ededed;
            min-height: 412px;
            display: block;
            opacity: 0;
            pointer-events: none;
            transition: opacity .25s ease-in-out;
            box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); }
            .org-head .main-nav ul.main-nav-lvl-one > li > .children span.discard {
              position: absolute;
              width: 40px;
              height: 40px;
              background-color: #00be82;
              z-index: 51;
              bottom: -20px;
              left: 50%;
              transform: translateX(-50%);
              cursor: pointer;
              display: block; } }
        @media screen and (min-width: 64em) and (max-width: 63.99875em) {
          .org-head .main-nav ul.main-nav-lvl-one > li > .children span.discard {
            display: none; } }
    @media print, screen and (min-width: 64em) {
              .org-head .main-nav ul.main-nav-lvl-one > li > .children span.discard:after {
                content: "\e90a";
                font-family: 'syntegon';
                color: #fefefe;
                font-size: 25px;
                position: absolute;
                top: 8px;
                left: 8px; }
            .org-head .main-nav ul.main-nav-lvl-one > li > .children span.title, .org-head .main-nav ul.main-nav-lvl-one > li > .children a.title {
              font-size: 30px;
              line-height: 36px;
              font-weight: 300;
              color: #28323c;
              position: relative;
              display: inline-block;
              padding: 0 0.9375rem 31px; } }
        @media screen and (min-width: 64em) and (max-width: 63.99875em) {
          .org-head .main-nav ul.main-nav-lvl-one > li > .children span.title, .org-head .main-nav ul.main-nav-lvl-one > li > .children a.title {
            display: none; } }
    @media print, screen and (min-width: 64em) {
              .org-head .main-nav ul.main-nav-lvl-one > li > .children span.title:after, .org-head .main-nav ul.main-nav-lvl-one > li > .children a.title:after {
                content: "\e907";
                font-family: 'syntegon';
                font-size: 17px;
                padding-left: 5px; }
          .org-head .main-nav ul.main-nav-lvl-one > li a.open + .children, .org-head .main-nav ul.main-nav-lvl-one > li a:hover + .children {
            opacity: 1;
            pointer-events: all; }
          .org-head .main-nav ul.main-nav-lvl-one > li .children:hover {
            opacity: 1;
            pointer-events: all; }
        .org-head .main-nav ul.main-nav-lvl-two {
          position: static;
          display: flex;
          flex-wrap: wrap; }
          .org-head .main-nav ul.main-nav-lvl-two > li {
            margin: 0 0.9375rem 0.9375rem 0.9375rem;
            width: calc(25% - 30px); }
            .org-head .main-nav ul.main-nav-lvl-two > li:nth-child(1), .org-head .main-nav ul.main-nav-lvl-two > li:nth-child(2) {
              display: none; }
            .org-head .main-nav ul.main-nav-lvl-two > li > a {
              margin: 0;
              display: block;
              padding: 0 0 0 0;
              font-size: 20px;
              line-height: 25px;
              color: #00be82; }
              .org-head .main-nav ul.main-nav-lvl-two > li > a img {
                display: block;
                border-bottom: 5px solid #00be82; } }
          @media screen and (min-width: 64em) and (max-width: 63.99875em) {
            .org-head .main-nav ul.main-nav-lvl-two > li > a img {
              display: none; } }
    @media print, screen and (min-width: 64em) {
              .org-head .main-nav ul.main-nav-lvl-two > li > a span {
                font-size: 20px;
                line-height: 25px;
                color: #28323c;
                font-weight: 700;
                display: block;
                padding: 25px 10px 10px 10px;
                transition: all 0.25s ease-in-out; }
              .org-head .main-nav ul.main-nav-lvl-two > li > a:hover {
                box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
                background-color: #f5f4f2; }
                .org-head .main-nav ul.main-nav-lvl-two > li > a:hover span {
                  color: #00be82; }
              .org-head .main-nav ul.main-nav-lvl-two > li > a.no-children span {
                padding: 25px 10px 25px 10px; }
            .org-head .main-nav ul.main-nav-lvl-two > li a.mobile-back,
            .org-head .main-nav ul.main-nav-lvl-two > li a.mobile-self {
              display: none; }
            .org-head .main-nav ul.main-nav-lvl-two > li > .children {
              display: block;
              transform: none; }
              .org-head .main-nav ul.main-nav-lvl-two > li > .children span.title {
                display: none; }
        .org-head .main-nav ul.main-nav-lvl-three {
          position: static; }
          .org-head .main-nav ul.main-nav-lvl-three > li a {
            font-size: 18px;
            line-height: 26px;
            padding: 5px 10px 5px 10px;
            display: block;
            margin: 0 0 1px 0;
            color: #28323c;
            transition: all 0.25s ease-in-out; }
            .org-head .main-nav ul.main-nav-lvl-three > li a:hover {
              background-color: #f5f4f2;
              box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
              color: #00be82; } }
  .org-head .breadcrumb-nav {
    overflow: visible;
    position: relative;
    top: -30px;
    margin-bottom: -30px; }
    @media screen and (max-width: 63.99875em) {
      .org-head .breadcrumb-nav {
        width: 100%;
        overflow-x: auto; } }
    .org-head .breadcrumb-nav ol {
      display: flex;
      padding: 9px 0 9px 33px;
      margin: 0; }
      @media screen and (max-width: 63.99875em) {
        .org-head .breadcrumb-nav ol {
          padding: 9px 15px 9px 15px; } }
    .org-head .breadcrumb-nav li {
      display: block;
      margin: 0; }
    .org-head .breadcrumb-nav a {
      font-family: "Lucida Grande", Arial, sans-serif;
      font-size: 9px;
      line-height: 12px;
      position: relative;
      display: block;
      padding: 0 0 0 11px;
      margin-right: 9px;
      margin-bottom: 0;
      color: #7e848a;
      cursor: pointer; }
      .org-head .breadcrumb-nav a:after {
        content: "❮";
        position: absolute;
        font-family: "Zapf Dingbats", Arial, sans-serif;
        top: 0;
        left: 0; }
      .org-head .breadcrumb-nav a:hover {
        color: #00be82; }

.org-footer {
  border-top: 5px solid #ededed;
  padding: 38px 0 21px;
  background-position: bottom;
  position: relative; }
  .org-footer:after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 0;
    left: 0;
    right: 0;
    height: 10px; }
  @media screen and (max-width: 63.99875em) {
    .org-footer {
      padding: 38px 0 16px;
      background-size: 100% 5px; } }
  .org-footer .social-welcome {
    font-size: 16px;
    line-height: 18px;
    text-transform: uppercase;
    color: #28323c;
    text-align: center;
    display: block;
    font-weight: 500; }
  .org-footer .social-media {
    margin: 0;
    padding: 16px 0 0 0;
    display: flex;
    justify-content: center; }
    .org-footer .social-media li {
      margin: 0;
      padding: 0; }
      .org-footer .social-media li a {
        display: block;
        width: 40px;
        height: 40px;
        background-color: #fefefe;
        color: #28323c;
        margin: 0 10px;
        padding: 0;
        position: relative; }
        .org-footer .social-media li a:hover:after {
          color: #00be82; }
        .org-footer .social-media li a:after {
          position: absolute;
          font-family: 'syntegon';
          font-size: 40px;
          top: 6px;
          left: -2px;
          transition: all 0.25s ease-in-out; }
        .org-footer .social-media li a.social-media-linkedin:after {
          content: "\e91d"; }
        .org-footer .social-media li a.social-media-facebook:after {
          content: "\e91c"; }
        .org-footer .social-media li a.social-media-twitter:after {
          content: "\e91e"; }
        .org-footer .social-media li a.social-media-youtube:after {
          content: "\e920"; }
        .org-footer .social-media li a.social-media-xing:after {
          content: "\e91f"; }
  .org-footer .packaging-links {
    margin: 0;
    padding: 29px 0 0 0;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 63.99875em) {
      .org-footer .packaging-links {
        padding: 40px 0 0 0;
        flex-wrap: wrap; } }
    .org-footer .packaging-links li {
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 63.99875em) {
        .org-footer .packaging-links li {
          width: 100%;
          text-align: center; } }
      .org-footer .packaging-links li a {
        display: block;
        color: #00be82;
        margin: 0 15px;
        padding: 0;
        font-size: 18px;
        line-height: 26px;
        transition: all 0.25s ease-in-out; }
        .org-footer .packaging-links li a:hover {
          color: #28323c; }
        @media screen and (max-width: 63.99875em) {
          .org-footer .packaging-links li a {
            margin: 0 15px 10px; } }
  .org-footer .legal-links {
    margin: 0;
    padding: 38px 0 0 0;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 63.99875em) {
      .org-footer .legal-links {
        padding-top: 37px;
        padding-left: 40px;
        padding-right: 40px;
        flex-wrap: wrap; } }
    .org-footer .legal-links li {
      margin: 0;
      padding: 0; }
      .org-footer .legal-links li a,
      .org-footer .legal-links li span {
        display: block;
        color: #28323c;
        margin: 0 10px;
        padding: 0;
        font-size: 12px;
        line-height: 18px;
        transition: all 0.25s ease-in-out; }
        @media screen and (max-width: 63.99875em) {
          .org-footer .legal-links li a,
          .org-footer .legal-links li span {
            margin-bottom: 5px; } }
      .org-footer .legal-links li a:hover {
        color: #00be82; }
  .org-footer .top-link {
    display: block;
    color: #00be82;
    margin: 0 15px;
    padding: 0;
    width: 40px;
    height: 26px;
    position: fixed;
    bottom: 17px;
    right: 15px; }
    @media screen and (max-width: 63.99875em) {
      .org-footer .top-link {
        position: relative;
        bottom: auto;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        margin: 15px 0 9px; } }
    .org-footer .top-link:hover {
      color: #28323c; }
    .org-footer .top-link:after {
      content: "\e908";
      position: absolute;
      font-family: 'syntegon';
      font-size: 25px;
      top: 1px;
      left: 7px; }

.org-video {
  margin-bottom: 5.625rem; }
  .org-video h2 {
    text-align: center;
    color: #00be82; }
  .org-video .vid-16-9 {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
    margin-bottom: 1.25rem; }
  .org-video .vid-16-9-content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
    .org-video .vid-16-9-content video {
      width: 100%;
      height: 100%; }
  .org-video iframe {
    width: 100%;
    height: 100%; }
  .org-video .text .button {
    margin-top: 0.8125rem; }
  .org-video .text p:last-child {
    margin-bottom: 0; }
  .org-video a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    background-color: red;
    border: 1px solid red;
    margin: 13px 0;
    padding: 0.375rem 1.875rem 0.375rem 1.875rem;
    cursor: pointer;
    text-decoration: none;
    background-color: transparent;
    border: 1px solid #28323c;
    color: #28323c;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
    .org-video a:hover {
      text-decoration: none; }
    .org-video a:after {
      content: none; }
    .org-video a.mail {
      padding-left: 4.0625rem;
      position: relative; }
      .org-video a.mail:before {
        content: "\e90b";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .org-video a.download {
      padding-left: 4.0625rem; }
      .org-video a.download:before {
        content: "\e926";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .org-video a:hover {
      border: 1px solid #00be82;
      color: #00be82; }
  .org-video hr.extra {
    margin-top: 0.875rem;
    margin-bottom: 0; }

.org-icon-box {
  margin-bottom: 5.625rem; }
  .org-icon-box h2 {
    text-align: center; }
    @media screen and (max-width: 63.99875em) {
      .org-icon-box h2 {
        margin-bottom: 2.125rem; } }
  .org-icon-box .cell ul {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
  .org-icon-box .cell li {
    padding: 0;
    margin: 0;
    width: 25%;
    flex-shrink: 0;
    flex-grow: 0; }
    @media screen and (max-width: 63.99875em) {
      .org-icon-box .cell li {
        width: 50%; } }
  .org-icon-box .cell a {
    display: block;
    margin-bottom: 0;
    position: relative;
    height: 100%;
    min-height: 72px; }
    .org-icon-box .cell a span {
      font-size: 30px;
      line-height: 36px;
      padding: 0 0 0 137px;
      display: block;
      position: relative;
      top: 50%;
      transform: translateY(-50%);
      transition: all 0.25s ease-in-out; }
      @media screen and (max-width: 63.99875em) {
        .org-icon-box .cell a span {
          padding: 88px 0 24px 0;
          font-size: 24px;
          line-height: 30px;
          text-align: center;
          top: 0;
          transform: none; } }
    .org-icon-box .cell a:after {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 52px;
      font-family: 'syntegon';
      font-size: 65px;
      transition: all 0.25s ease-in-out; }
      @media screen and (max-width: 63.99875em) {
        .org-icon-box .cell a:after {
          left: 0;
          right: 0;
          text-align: center;
          top: 45px; } }
    .org-icon-box .cell a.icon-box-drop:after {
      content: "\e900"; }
    .org-icon-box .cell a.icon-box-gear:after {
      content: "\e901"; }
    .org-icon-box .cell a.icon-box-package:after {
      content: "\e925"; }
    .org-icon-box .cell a.icon-box-download:after {
      content: "\e926"; }
    .org-icon-box .cell a.icon-box-callcenter:after {
      content: "\e927"; }
    .org-icon-box .cell a.icon-box-envelope:after {
      content: "\e90b"; }
    .org-icon-box .cell a.icon-box-food:after {
      content: "\e90c"; }
    .org-icon-box .cell a.icon-box-globe:after {
      content: "\e90d"; }
    .org-icon-box .cell a.icon-box-handshake:after {
      content: "\e90e"; }
    .org-icon-box .cell a.icon-box-info:after {
      content: "\e90f"; }
    .org-icon-box .cell a.icon-box-magnifying-glass:after {
      content: "\e910"; }
    .org-icon-box .cell a.icon-box-newspaper:after {
      content: "\e913"; }
    .org-icon-box .cell a.icon-box-person:after {
      content: "\e914"; }
    .org-icon-box .cell a.icon-box-pharma:after {
      content: "\e915"; }
    .org-icon-box .cell a.icon-box-pin-outline:after {
      content: "\e917"; }
    .org-icon-box .cell a.icon-box-play:after {
      content: "\e918"; }
    .org-icon-box .cell a.icon-box-shop:after {
      content: "\e91a"; }
    .org-icon-box .cell a.icon-box-smartphone:after {
      content: "\e91b"; }
    .org-icon-box .cell a.icon-box-speech-bubble:after {
      content: "\e921"; }
    .org-icon-box .cell a.icon-box-speech:after {
      content: "\e922"; }
    .org-icon-box .cell a.icon-box-training:after {
      content: "\e923"; }
    .org-icon-box .cell a.icon-box-warning:after {
      content: "\e924"; }
    .org-icon-box .cell a.icon-box-award:after {
      content: "\e928"; }
    .org-icon-box .cell a.icon-box-certificate:after {
      content: "\e929"; }
    .org-icon-box .cell a.icon-box-gmp:after {
      content: "\e92a"; }
    .org-icon-box .cell a.icon-box-head:after {
      content: "\e92b"; }
    .org-icon-box .cell a.icon-box-injektion:after {
      content: "\e92c"; }
    .org-icon-box .cell a.icon-box-iso:after {
      content: "\e92d"; }
    .org-icon-box .cell a.icon-box-star:after {
      content: "\e92e"; }
    .org-icon-box .cell a.icon-box-arrows:after {
      content: "\e92f"; }
    .org-icon-box .cell a.icon-box-medal:after {
      content: "\e930"; }
    .org-icon-box .cell a.icon-box-rocket:after {
      content: "\e931"; }
    .org-icon-box .cell a.icon-box-handlewithcare:after {
      content: "\e932"; }
    .org-icon-box .cell a.icon-box-document:after {
      content: "\e933"; }
    .org-icon-box .cell a.icon-box-building-big:after {
      content: "\e934"; }
    .org-icon-box .cell a.icon-box-building-medium:after {
      content: "\e935"; }
    .org-icon-box .cell a.icon-box-building-small:after {
      content: "\e936"; }
    .org-icon-box .cell a.icon-box-biscuit-tray:after {
      content: "\e937"; }
    .org-icon-box .cell a.icon-box-biscuit-slug:after {
      content: "\e938"; }
    .org-icon-box .cell a.icon-box-biscuit-pileslug:after {
      content: "\e939"; }
    .org-icon-box .cell a.icon-box-biscuit-pile:after {
      content: "\e93a"; }
    .org-icon-box .cell a.icon-box-chart:after {
      content: "\e906"; }
    .org-icon-box .cell a.icon-box-organization:after {
      content: "\e916"; }
    .org-icon-box .cell a.icon-box-percent:after {
      content: "\e931"; }
  .org-icon-box.color-alpha h2,
  .org-icon-box.color-alpha a {
    color: #00be82; }
  .org-icon-box.color-alpha a:hover {
    color: #00be82; }
  .org-icon-box.color-beta h2,
  .org-icon-box.color-beta a {
    color: #00be82; }
  .org-icon-box.color-beta a:hover {
    color: #28323c; }
  .org-icon-box.color-gamma h2,
  .org-icon-box.color-gamma a {
    color: #00be82; }
  .org-icon-box.color-gamma a:hover {
    color: #28323c; }

.org-icon-box-v2 {
  margin-bottom: 5.625rem; }
  .org-icon-box-v2 h2 {
    text-align: center;
    margin-bottom: 29px;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .org-icon-box-v2 h2 {
        margin-bottom: 2.125rem; } }
  .org-icon-box-v2 .cell ul {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
  .org-icon-box-v2 .cell li {
    padding: 0;
    margin: 0;
    width: 25%;
    flex-shrink: 0;
    flex-grow: 0; }
    @media screen and (max-width: 63.99875em) {
      .org-icon-box-v2 .cell li {
        width: 50%; } }
    @media screen and (max-width: 39.99875em) {
      .org-icon-box-v2 .cell li {
        width: 100%; } }
  .org-icon-box-v2 .cell li a.box, .org-icon-box-v2 .cell li div.box {
    display: block;
    margin-bottom: 0;
    position: relative;
    height: 100%;
    min-height: 72px;
    position: relative; }
    .org-icon-box-v2 .cell li a.box:after, .org-icon-box-v2 .cell li div.box:after {
      position: absolute;
      content: " ";
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      width: 114px;
      height: 114px;
      border: 2px solid black;
      display: block;
      transition: all 0.25s ease-in-out; }
    .org-icon-box-v2 .cell li a.box img,
    .org-icon-box-v2 .cell li a.box svg, .org-icon-box-v2 .cell li div.box img,
    .org-icon-box-v2 .cell li div.box svg {
      margin: 0 auto 16px;
      width: 114px;
      height: 114px;
      display: block;
      padding: 19px 0;
      transition: all 0.25s ease-in-out; }
    .org-icon-box-v2 .cell li a.box h4, .org-icon-box-v2 .cell li div.box h4 {
      text-align: center;
      margin-bottom: 11px;
      transition: all 0.25s ease-in-out; }
    .org-icon-box-v2 .cell li a.box p, .org-icon-box-v2 .cell li div.box p {
      text-align: center;
      font-size: 16px;
      line-height: 24px;
      padding: 0 15px;
      color: #28323c;
      transition: all 0.25s ease-in-out; }
    .org-icon-box-v2 .cell li a.box.color-alpha:after, .org-icon-box-v2 .cell li div.box.color-alpha:after {
      border-color: #00be82; }
    .org-icon-box-v2 .cell li a.box.color-alpha h4, .org-icon-box-v2 .cell li div.box.color-alpha h4 {
      color: #00be82; }
    .org-icon-box-v2 .cell li a.box.color-beta:after, .org-icon-box-v2 .cell li div.box.color-beta:after {
      border-color: #00be82; }
    .org-icon-box-v2 .cell li a.box.color-beta h4, .org-icon-box-v2 .cell li div.box.color-beta h4 {
      color: #00be82; }
    .org-icon-box-v2 .cell li a.box.color-gamma:after, .org-icon-box-v2 .cell li div.box.color-gamma:after {
      border-color: #00be82; }
    .org-icon-box-v2 .cell li a.box.color-gamma h4, .org-icon-box-v2 .cell li div.box.color-gamma h4 {
      color: #00be82; }
  .org-icon-box-v2 .cell li a.box:hover:after {
    border-color: #28323c; }
  .org-icon-box-v2 .cell li a.box:hover h4 {
    color: #28323c; }
  .org-icon-box-v2 .cell li a.box:hover p {
    color: #28323c; }
  .org-icon-box-v2 .cell li a.box:hover svg path,
  .org-icon-box-v2 .cell li a.box:hover svg ellipse,
  .org-icon-box-v2 .cell li a.box:hover svg line {
    stroke: #28323c; }
  .org-icon-box-v2.color-alpha h2,
  .org-icon-box-v2.color-alpha a.box, .org-icon-box-v2.color-alpha div.box {
    color: #00be82; }
  .org-icon-box-v2.color-alpha a.box:hover {
    color: #00be82; }
  .org-icon-box-v2.color-beta h2,
  .org-icon-box-v2.color-beta a.box, .org-icon-box-v2.color-beta div.box {
    color: #00be82; }
  .org-icon-box-v2.color-beta a.box:hover {
    color: #80c6e7; }
  .org-icon-box-v2.color-gamma h2,
  .org-icon-box-v2.color-gamma a.box, .org-icon-box-v2.color-gamma div.box {
    color: #00be82; }
  .org-icon-box-v2.color-gamma a.box:hover {
    color: #7de3e8; }

.org-event-highlights {
  background-color: #00be82;
  padding-bottom: 40px;
  padding-top: 51px;
  margin-bottom: 5.625rem; }
  @media screen and (max-width: 63.99875em) {
    .org-event-highlights {
      padding-bottom: 30px; } }
  .org-event-highlights h2 {
    text-align: center;
    color: #fefefe; }
  .org-event-highlights ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap; }
  .org-event-highlights li {
    margin: 0;
    padding: 0 0.9375rem;
    width: 33.33%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 63.99875em) {
      .org-event-highlights li {
        width: 100%;
        margin-bottom: 15px; }
        .org-event-highlights li:first-child a {
          display: flex; } }
    .org-event-highlights li a {
      height: 100%;
      background-color: #fefefe;
      display: flex;
      border-top: 5px solid #00be82;
      margin-bottom: 0;
      padding-bottom: 21px;
      transition: all 0.25s ease-in-out; }
      .org-event-highlights li a .dates {
        width: 79px; }
        @media screen and (max-width: 63.99875em) {
          .org-event-highlights li a .dates {
            width: 70px; } }
        .org-event-highlights li a .dates span {
          text-align: center; }
        .org-event-highlights li a .dates .dates-from .month {
          font-size: 18px;
          line-height: 26px;
          padding: 19px 0 0 0;
          color: #00be82; }
        .org-event-highlights li a .dates .dates-from .day {
          font-size: 30px;
          line-height: 36px;
          font-weight: 900;
          margin-top: -2px;
          margin-bottom: -2px;
          color: #00be82; }
        .org-event-highlights li a .dates .dates-from .year {
          font-size: 18px;
          line-height: 26px;
          color: #00be82; }
        .org-event-highlights li a .dates .dates-to {
          position: relative; }
          .org-event-highlights li a .dates .dates-to .month {
            font-size: 12px;
            line-height: 26px;
            margin-top: 16px;
            margin-bottom: -13px;
            color: #00be82; }
          .org-event-highlights li a .dates .dates-to .day {
            font-size: 14px;
            line-height: 36px;
            font-weight: 900;
            margin-bottom: -16px;
            color: #00be82; }
          .org-event-highlights li a .dates .dates-to .year {
            font-size: 12px;
            line-height: 26px;
            color: #00be82; }
          .org-event-highlights li a .dates .dates-to:after {
            position: absolute;
            content: "";
            height: 10px;
            background-color: #00be82;
            width: 1px;
            top: -11px;
            left: 1px;
            right: 0;
            margin: 0 auto; }
      .org-event-highlights li a .text {
        width: calc(100% - 79px);
        padding-right: 10px; }
        @media screen and (max-width: 63.99875em) {
          .org-event-highlights li a .text {
            width: calc(100% - 70px);
            padding: 0 5px 0 5px; } }
        .org-event-highlights li a .text .place {
          font-size: 12px;
          line-height: 18px;
          color: #28323c;
          margin-top: 23px;
          margin-bottom: 12px; }
        .org-event-highlights li a .text .title {
          font-size: 30px;
          line-height: 36px;
          text-transform: uppercase;
          color: #00be82;
          transition: all 0.25s ease-in-out; }
        .org-event-highlights li a .text .info {
          font-size: 16px;
          line-height: 24px;
          color: #28323c;
          margin-top: 15px; }
      .org-event-highlights li a:hover {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); }
        .org-event-highlights li a:hover .text .title {
          color: #28323c; }
  .org-event-highlights span {
    display: block; }
  .org-event-highlights .more {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    background-color: red;
    border: 1px solid red;
    margin: 13px 0;
    padding: 0.375rem 1.875rem 0.375rem 1.875rem;
    cursor: pointer;
    text-decoration: none;
    background-color: transparent;
    color: #fefefe;
    border: 1px solid #fefefe;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
    margin-top: 40px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0; }
    .org-event-highlights .more:hover {
      text-decoration: none; }
    .org-event-highlights .more:after {
      content: none; }
    .org-event-highlights .more.mail {
      padding-left: 4.0625rem;
      position: relative; }
      .org-event-highlights .more.mail:before {
        content: "\e90b";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .org-event-highlights .more.download {
      padding-left: 4.0625rem; }
      .org-event-highlights .more.download:before {
        content: "\e926";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .org-event-highlights .more:hover {
      border: 1px solid #28323c;
      color: #28323c; }
    @media screen and (max-width: 63.99875em) {
      .org-event-highlights .more {
        margin-top: 32px; } }

.org-news-wall {
  margin-bottom: 5.625rem; }
  .org-news-wall h2 {
    text-align: center;
    color: #7e848a; }
    @media screen and (max-width: 63.99875em) {
      .org-news-wall h2 {
        margin-bottom: 2.6875rem; } }
  .org-news-wall ul,
  .org-news-wall div.views-infinite-scroll-content-wrapper {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: start;
    flex-wrap: wrap; }
  .org-news-wall li {
    margin: 0;
    padding: 0 0.9375rem;
    width: 25%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px;
    list-style: none; }
    @media screen and (max-width: 63.99875em) {
      .org-news-wall li {
        width: 100%; } }
    .org-news-wall li a {
      height: 100%;
      margin-bottom: 0;
      display: flex;
      position: relative;
      flex-direction: column;
      border: 1px solid #e1e1e1;
      transition: all 0.25s ease-in-out; }
      .org-news-wall li a .img-wrap {
        position: relative; }
        .org-news-wall li a .img-wrap:before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0;
          background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.03) 100%);
          z-index: 6; }
      .org-news-wall li a img {
        width: 100%; }
      .org-news-wall li a .text {
        padding: 22px 10px 7px 10px;
        flex-grow: 1; }
        .org-news-wall li a .text h4 {
          color: #525f6b;
          margin-bottom: 16px;
          transition: all 0.25s ease-in-out; }
        .org-news-wall li a .text p {
          font-size: 16px;
          line-height: 24px;
          color: #28323c;
          margin-bottom: 16px; }
      .org-news-wall li a:hover {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
        .org-news-wall li a:hover .text h4 {
          color: #00be82; }
      .org-news-wall li a span.social-icon + .text {
        margin-top: -30px; }
      .org-news-wall li a span.videolink {
        position: relative;
        width: 55px;
        height: 55px;
        background-color: #525f6b;
        opacity: 0.9;
        border: none;
        position: absolute;
        display: block;
        top: 50%;
        transform: translate(-50%, -50%);
        left: 50%; }
        .org-news-wall li a span.videolink:after {
          content: "\e918";
          font-family: 'syntegon';
          position: absolute;
          font-size: 55px;
          top: 14px;
          left: 0;
          color: #fefefe;
          z-index: 10; }
      .org-news-wall li a span.social-icon {
        position: relative;
        left: 0;
        right: 0;
        margin: 0 auto;
        height: 30px;
        width: 30px;
        background-color: #fefefe;
        transform: translateY(-15px);
        z-index: 10; }
        .org-news-wall li a span.social-icon img {
          max-width: 20px;
          max-height: 20px;
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%); }
  .org-news-wall .pager {
    justify-content: center; }
  .org-news-wall .more,
  .org-news-wall .pager .pager__item a.button {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #ededed;
    margin: 30px 0 0 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.25s ease-in-out; }
    .org-news-wall .more:hover,
    .org-news-wall .pager .pager__item a.button:hover {
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.33); }
    .org-news-wall .more:after,
    .org-news-wall .pager .pager__item a.button:after {
      content: "\e919";
      position: absolute;
      top: 8px;
      left: 7px;
      color: #00be82;
      font-family: 'syntegon';
      font-size: 25px; }

.org-teaser-medium {
  margin-bottom: 5.625rem; }
  .org-teaser-medium h2 {
    text-align: center;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-medium h2 {
        margin-bottom: 2.6875rem; } }
  .org-teaser-medium ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
  .org-teaser-medium li {
    margin: 0;
    padding: 0 0.9375rem;
    width: 33.33%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-medium li {
        width: 100%; } }
    .org-teaser-medium li a {
      height: 100%;
      margin-bottom: 0;
      display: block;
      background-color: #f9f9f9;
      transition: all 0.25s ease-in-out; }
      .org-teaser-medium li a img {
        width: 100%; }
      .org-teaser-medium li a .text {
        border-top: 5px solid #00be82;
        padding: 16px 10px 24px 10px; }
        .org-teaser-medium li a .text h3 {
          color: #00be82;
          margin-bottom: 14px;
          transition: all 0.25s ease-in-out; }
        .org-teaser-medium li a .text p {
          font-size: 16px;
          line-height: 24px;
          color: #28323c;
          margin-bottom: 0; }
        .org-teaser-medium li a .text *:last-child {
          margin-bottom: 0; }
      .org-teaser-medium li a:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
        background-color: #fefefe; }
        .org-teaser-medium li a:hover .text h3 {
          color: #28323c; }

.org-teaser-small {
  margin-bottom: 5.625rem; }
  .org-teaser-small h2 {
    text-align: center;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-small h2 {
        margin-bottom: 2.6875rem; } }
  .org-teaser-small ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-small ul {
        padding: 0 10px; } }
  .org-teaser-small li {
    margin: 0;
    padding: 0 0.9375rem;
    width: 25%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px;
    display: block; }
    .org-teaser-small li .wrap {
      height: 100%;
      background-color: #f9f9f9; }
    .org-teaser-small li img {
      width: 100%; }
    .org-teaser-small li .text {
      border-top: 5px solid #00be82;
      padding: 22px 10px 24px 10px; }
      @media screen and (max-width: 63.99875em) {
        .org-teaser-small li .text {
          padding: 14px 5px 15px 5px; } }
      .org-teaser-small li .text h4 {
        color: #28323c;
        margin-bottom: 12px; }
        @media screen and (max-width: 63.99875em) {
          .org-teaser-small li .text h4 {
            font-size: 13px;
            line-height: 18px; } }
      .org-teaser-small li .text p {
        font-size: 16px;
        line-height: 24px;
        color: #28323c;
        margin-bottom: 0; }
        @media screen and (max-width: 63.99875em) {
          .org-teaser-small li .text p {
            font-size: 13px;
            line-height: 18px; } }
      .org-teaser-small li .text a {
        color: #28323c; }
        @media screen and (max-width: 63.99875em) {
          .org-teaser-small li .text a {
            font-size: 13px;
            line-height: 18px; } }
        .org-teaser-small li .text a:hover {
          color: #00be82; }
      .org-teaser-small li .text *:last-child {
        margin-bottom: 0; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-small li {
        padding: 0 5px;
        width: 50%;
        margin-bottom: 15px; } }

.org-productlist {
  margin-bottom: 5.625rem; }
  .org-productlist .cell > ul {
    margin: 0;
    padding: 0 0 5px 0;
    position: relative; }
    @media screen and (max-width: 63.99875em) {
      .org-productlist .cell > ul {
        padding: 0 15px 5px; } }
    .org-productlist .cell > ul > li {
      margin: 0;
      padding: 0; }
    .org-productlist .cell > ul:after {
      content: "";
      position: absolute;
      height: 5px;
      bottom: 0;
      left: -0.9375rem;
      right: -0.9375rem;
      background-color: #ededed; }
      @media screen and (max-width: 63.99875em) {
        .org-productlist .cell > ul:after {
          left: 0.9375rem;
          right: 0.9375rem; } }
  .org-productlist .img-wrap {
    padding: 30px 30px 30px;
    flex-shrink: 0;
    flex-grow: 0;
    text-align: center; }
  .org-productlist a {
    position: relative;
    display: flex;
    margin-bottom: 0;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
    transition: all 0.25s ease-in-out; }
    @media screen and (max-width: 63.99875em) {
      .org-productlist a {
        display: block;
        margin: 0; } }
    .org-productlist a:after {
      content: "";
      position: absolute;
      height: 5px;
      top: 0;
      left: 0;
      right: 0;
      background-color: #ededed;
      transition: all 0.25s ease-in-out; }
    .org-productlist a:before {
      content: "\e907";
      font-family: 'syntegon';
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 31px;
      font-size: 35px;
      color: #00be82; }
      @media screen and (max-width: 63.99875em) {
        .org-productlist a:before {
          right: -1px;
          font-size: 26px;
          bottom: 30px;
          transform: none;
          top: auto; } }
    .org-productlist a:hover {
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
      .org-productlist a:hover:after {
        background-color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .org-productlist a:hover {
        box-shadow: none; } }
  .org-productlist .text {
    padding: 31px 100px 10px 21px; }
    @media screen and (max-width: 63.99875em) {
      .org-productlist .text {
        padding: 20px 0px 10px 0px; } }
    .org-productlist .text h4 {
      color: #28323c;
      margin-bottom: 16px; }
    .org-productlist .text p {
      font-size: 16px;
      line-height: 24px;
      margin-bottom: 16px;
      color: #28323c; }
    .org-productlist .text p.info {
      font-size: 12px;
      line-height: 18px; }
    .org-productlist .text ul li {
      font-size: 16px;
      line-height: 24px;
      margin: 0;
      list-style: disc;
      color: #28323c; }
      .org-productlist .text ul li:after {
        display: none; }

.org-teaser-decision {
  margin-bottom: 5.625rem; }
  .org-teaser-decision .text h3 {
    padding: 26px 15px 0;
    text-align: center;
    margin-bottom: 0; }
  .org-teaser-decision .text a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    background-color: red;
    border: 1px solid red;
    margin: 13px 0;
    padding: 0.375rem 1.875rem 0.375rem 1.875rem;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 40px; }
    .org-teaser-decision .text a:hover {
      text-decoration: none; }
    .org-teaser-decision .text a:after {
      content: none; }
    .org-teaser-decision .text a.mail {
      padding-left: 4.0625rem;
      position: relative; }
      .org-teaser-decision .text a.mail:before {
        content: "\e90b";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .org-teaser-decision .text a.download {
      padding-left: 4.0625rem; }
      .org-teaser-decision .text a.download:before {
        content: "\e926";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
  .org-teaser-decision.org-teaser-decision-alpha .cell:nth-child(2n) .text {
    background-color: #28323c; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-decision.org-teaser-decision-alpha .cell:nth-child(2n) .text {
        background: #00be82;
        background: -moz-linear-gradient(top, #00be82 0%, #00be82 100%);
        background: -webkit-linear-gradient(top, #00be82 0%, #00be82 100%);
        background: linear-gradient(to bottom, #00be82 0%, #00be82 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$color-beta', endColorstr='$color-gamma', GradientType=0); } }
  .org-teaser-decision.org-teaser-decision-alpha .cell:nth-child(2n + 1) .text {
    background-color: #28323c; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-decision.org-teaser-decision-alpha .cell:nth-child(2n + 1) .text {
        background: #00be82;
        background: -moz-linear-gradient(top, #00be82 0%, #00be82 100%);
        background: -webkit-linear-gradient(top, #00be82 0%, #00be82 100%);
        background: linear-gradient(to bottom, #00be82 0%, #00be82 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$color-alpha', endColorstr='$color-beta', GradientType=0); } }
  .org-teaser-decision.org-teaser-decision-alpha .cell h3 {
    color: #00be82; }
  .org-teaser-decision.org-teaser-decision-alpha .cell a {
    background-color: transparent;
    color: #fefefe;
    border: 1px solid #fefefe;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
    background-color: transparent; }
    .org-teaser-decision.org-teaser-decision-alpha .cell a:hover {
      border: 1px solid #28323c;
      color: #28323c; }
    .org-teaser-decision.org-teaser-decision-alpha .cell a:hover {
      border: 1px solid #00be82;
      color: #00be82; }
  .org-teaser-decision.org-teaser-decision-beta .cell .text {
    background-color: #ededed; }
  .org-teaser-decision.org-teaser-decision-beta .cell h3 {
    color: #00be82; }
  .org-teaser-decision.org-teaser-decision-beta .cell a {
    background-color: transparent;
    border: 1px solid #28323c;
    color: #28323c;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out;
    background-color: transparent; }
    .org-teaser-decision.org-teaser-decision-beta .cell a:hover {
      border: 1px solid #00be82;
      color: #00be82; }

.org-jumplinks {
  border-bottom: 5px solid #ededed;
  margin-bottom: 5.625rem; }
  .org-jumplinks ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 63.99875em) {
      .org-jumplinks ul {
        padding: 0 15px; } }
  .org-jumplinks li {
    margin: 0;
    padding: 0;
    position: relative; }
    .org-jumplinks li:before {
      content: "";
      position: absolute;
      bottom: -5px;
      left: 5px;
      right: 5px;
      height: 5px;
      background-color: #00be82;
      opacity: 0;
      transition: all 0.25s ease-in-out; }
    .org-jumplinks li:hover, .org-jumplinks li.active {
      color: #28323c; }
      .org-jumplinks li:hover a, .org-jumplinks li.active a {
        color: #28323c; }
      .org-jumplinks li:hover:before, .org-jumplinks li.active:before {
        opacity: 1; }
  .org-jumplinks a {
    display: block;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 18px;
    color: #7e848a;
    position: relative;
    margin: 0 20px;
    padding: 97px 0 26px;
    text-align: center;
    transition: all 0.25s ease-in-out; }
    @media screen and (max-width: 63.99875em) {
      .org-jumplinks a {
        padding: 89px 0 17px;
        font-size: 11px;
        line-height: 14px;
        margin: 0 10px; } }
    .org-jumplinks a:after {
      content: "";
      position: absolute;
      top: 44px;
      left: 3px;
      right: 0;
      margin: 0 auto;
      height: 40px;
      width: 40px;
      font-family: 'syntegon';
      font-size: 35px; }
    .org-jumplinks a.org-jumplinks-drop:after {
      content: "\e900"; }
    .org-jumplinks a.org-jumplinks-gear:after {
      content: "\e901"; }
    .org-jumplinks a.org-jumplinks-package:after {
      content: "\e925"; }
    .org-jumplinks a.org-jumplinks-download:after {
      content: "\e926"; }
    .org-jumplinks a.org-jumplinks-callcenter:after {
      content: "\e927"; }
    .org-jumplinks a.org-jumplinks-envelope:after {
      content: "\e90b"; }
    .org-jumplinks a.org-jumplinks-food:after {
      content: "\e90c"; }
    .org-jumplinks a.org-jumplinks-globe:after {
      content: "\e90d"; }
    .org-jumplinks a.org-jumplinks-handshake:after {
      content: "\e90e"; }
    .org-jumplinks a.org-jumplinks-info:after {
      content: "\e90f"; }
    .org-jumplinks a.org-jumplinks-magnifying-glass:after {
      content: "\e910"; }
    .org-jumplinks a.org-jumplinks-newspaper:after {
      content: "\e913"; }
    .org-jumplinks a.org-jumplinks-person:after {
      content: "\e914"; }
    .org-jumplinks a.org-jumplinks-pharma:after {
      content: "\e915"; }
    .org-jumplinks a.org-jumplinks-pin-outline:after {
      content: "\e917"; }
    .org-jumplinks a.org-jumplinks-play:after {
      content: "\e918"; }
    .org-jumplinks a.org-jumplinks-shop:after {
      content: "\e91a"; }
    .org-jumplinks a.org-jumplinks-smartphone:after {
      content: "\e91b"; }
    .org-jumplinks a.org-jumplinks-speech-bubble:after {
      content: "\e921"; }
    .org-jumplinks a.org-jumplinks-speech:after {
      content: "\e922"; }
    .org-jumplinks a.org-jumplinks-training:after {
      content: "\e923"; }
    .org-jumplinks a.org-jumplinks-warning:after {
      content: "\e924"; }
    .org-jumplinks a.org-jumplinks-award:after {
      content: "\e928"; }
    .org-jumplinks a.org-jumplinks-certificate:after {
      content: "\e929"; }
    .org-jumplinks a.org-jumplinks-gmp:after {
      content: "\e92a"; }
    .org-jumplinks a.org-jumplinks-head:after {
      content: "\e92b"; }
    .org-jumplinks a.org-jumplinks-injektion:after {
      content: "\e92c"; }
    .org-jumplinks a.org-jumplinks-iso:after {
      content: "\e92d"; }
    .org-jumplinks a.org-jumplinks-star:after {
      content: "\e92e"; }
    .org-jumplinks a.org-jumplinks-arrows:after {
      content: "\e92f"; }
    .org-jumplinks a.org-jumplinks-medal:after {
      content: "\e930"; }
    .org-jumplinks a.org-jumplinks-rocket:after {
      content: "\e931"; }
    .org-jumplinks a.org-jumplinks-handlewithcare:after {
      content: "\e932"; }
    .org-jumplinks a.org-jumplinks-document:after {
      content: "\e933"; }
    .org-jumplinks a.org-jumplinks-building-big:after {
      content: "\e934"; }
    .org-jumplinks a.org-jumplinks-building-medium:after {
      content: "\e935"; }
    .org-jumplinks a.org-jumplinks-building-small:after {
      content: "\e936"; }
    .org-jumplinks a.org-jumplinks-biscuit-tray:after {
      content: "\e937"; }
    .org-jumplinks a.org-jumplinks-biscuit-slug:after {
      content: "\e938"; }
    .org-jumplinks a.org-jumplinks-biscuit-pileslug:after {
      content: "\e939"; }
    .org-jumplinks a.org-jumplinks-biscuit-pile:after {
      content: "\e93a"; }
    .org-jumplinks a.org-jumplinks-chart:after {
      content: "\e906"; }
    .org-jumplinks a.org-jumplinks-organization:after {
      content: "\e916"; }
    .org-jumplinks a.org-jumplinks-monomaterial:after {
      content: "\e92b"; }
    .org-jumplinks a.org-jumplinks-paper:after {
      content: "\e92c"; }
    .org-jumplinks a.org-jumplinks-bakery:after {
      content: "\e92d"; }
    .org-jumplinks a.org-jumplinks-bars:after {
      content: "\e92e"; }
    .org-jumplinks a.org-jumplinks-powder:after {
      content: "\e930"; }
    .org-jumplinks a.org-jumplinks-video:after {
      content: "\e92a"; }
    .org-jumplinks a.org-jumplinks-percent:after {
      content: "\e931"; }
    .org-jumplinks a span,
    .org-jumplinks a edit-div,
    .org-jumplinks a edit-span,
    .org-jumplinks a div {
      pointer-events: none; }

.org-foldout {
  margin-bottom: 5.625rem; }
  .org-foldout > .grid-x > .cell > h2 {
    text-align: center;
    color: #00be82; }
  .org-foldout ul.accordion li.accordion-item {
    margin: 0 auto;
    padding: 0 0.9375rem;
    max-width: 1200px;
    margin-bottom: 1px;
    /* new */ }
    @media screen and (max-width: 63.99875em) {
      .org-foldout ul.accordion li.accordion-item {
        padding-right: 0;
        padding-left: 0; } }
    .org-foldout ul.accordion li.accordion-item a.accordion-title {
      border: none;
      background-color: #ededed;
      font-size: 1.875rem;
      line-height: 2.25rem;
      font-weight: 300;
      margin-bottom: 2.125rem;
      color: #00be82;
      padding: 25px 100px 29px 30px;
      margin-bottom: 0;
      transition: all 0.25s ease-in-out; }
      @media screen and (max-width: 63.99875em) {
        .org-foldout ul.accordion li.accordion-item a.accordion-title {
          font-size: 1.5rem;
          line-height: 1.875rem;
          margin-bottom: 1rem; } }
      @media screen and (max-width: 63.99875em) {
        .org-foldout ul.accordion li.accordion-item a.accordion-title {
          padding: 20px 80px 23px 15px;
          margin-bottom: 0; } }
      .org-foldout ul.accordion li.accordion-item a.accordion-title:before {
        content: "\e919";
        font-family: 'syntegon';
        right: 37px;
        top: 36px;
        font-size: 26px;
        z-index: 1; }
        @media screen and (max-width: 63.99875em) {
          .org-foldout ul.accordion li.accordion-item a.accordion-title:before {
            right: 22px;
            top: calc(50% + 7px);
            transform: translateY(-50%); } }
      .org-foldout ul.accordion li.accordion-item a.accordion-title:after {
        content: "";
        background-color: #fefefe;
        height: 40px;
        width: 40px;
        right: 30px;
        top: 25px;
        position: absolute; }
        @media screen and (max-width: 63.99875em) {
          .org-foldout ul.accordion li.accordion-item a.accordion-title:after {
            right: 15px;
            top: 50%;
            transform: translateY(-50%); } }
      .org-foldout ul.accordion li.accordion-item a.accordion-title:hover {
        background-color: #e1e1e1;
        color: #28323c; }
      .org-foldout ul.accordion li.accordion-item a.accordion-title:hover:before {
        color: #00be82; }
      .org-foldout ul.accordion li.accordion-item a.accordion-title:hover:after {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
    .org-foldout ul.accordion li.accordion-item.is-active a.accordion-title:before {
      content: "\e912"; }
    .org-foldout ul.accordion li.accordion-item div.accordion-content {
      border: none;
      padding: 90px 0 59px 0;
      margin-left: -0.9375rem;
      margin-right: -0.9375rem;
      /* new */
      /* new */ }
      @media screen and (max-width: 63.99875em) {
        .org-foldout ul.accordion li.accordion-item div.accordion-content {
          margin-left: 0;
          margin-right: 0;
          padding: 70px 0 54px 0; } }
      .org-foldout ul.accordion li.accordion-item div.accordion-content > *:last-child {
        margin-bottom: 0; }
      .org-foldout ul.accordion li.accordion-item div.accordion-content > *:last-child > edit-span > div {
        margin-bottom: 0; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon .accordion-icon {
      position: absolute;
      top: 0;
      bottom: 0; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon .accordion-icon:before {
      font-family: 'syntegon';
      left: -82px;
      top: calc(50%);
      transform: translateY(-50%);
      font-size: 36px;
      z-index: 1;
      position: absolute;
      pointer-events: none;
      color: #00be82;
      transition: all 0.25s ease-in-out; }
      @media screen and (max-width: 63.99875em) {
        .org-foldout ul.accordion li.accordion-item.accordion-title-icon .accordion-icon:before {
          left: -35px;
          top: calc(50%);
          transform: translateY(-50%);
          font-size: 26px; } }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon.accordion-title-icon-video .accordion-icon:before {
      content: "\e92a"; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon.accordion-title-icon-technical .accordion-icon:before {
      content: "\e90f"; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon.accordion-title-icon-request .accordion-icon:before {
      content: "\e90e"; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon.accordion-title-icon-links .accordion-icon:before {
      content: "\e926"; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon.accordion-title-icon-examples .accordion-icon:before {
      content: "\e925"; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon.accordion-title-icon-service .accordion-icon:before {
      content: "\e901"; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon.accordion-title-icon-contact .accordion-icon:before {
      content: "\e927"; }
    .org-foldout ul.accordion li.accordion-item.accordion-title-icon a.accordion-title {
      padding-left: 130px; }
      @media screen and (max-width: 63.99875em) {
        .org-foldout ul.accordion li.accordion-item.accordion-title-icon a.accordion-title {
          padding-left: 50px; } }
      .org-foldout ul.accordion li.accordion-item.accordion-title-icon a.accordion-title:hover .accordion-icon:before {
        color: #28323c; }
    .org-foldout ul.accordion li.accordion-item:last-child > div.accordion-content {
      padding-bottom: 0; }

.img-16-9-special {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: 56.25%; }
  @media screen and (max-width: 63.99875em) {
    .img-16-9-special {
      max-height: none; } }
  .img-16-9-special img {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%); }
    @media screen and (max-width: 63.99875em) {
      .img-16-9-special img {
        left: 50%;
        transform: translateX(-50%);
        top: 0;
        bottom: 0;
        width: auto;
        height: 100%; } }

.select-container .select-single {
  width: 100%;
  margin: 0 15px 3px;
  position: relative; }

.select-container .select-single:after {
  content: "\e904";
  font-family: "syntegon";
  position: absolute;
  top: 1px;
  right: 1px;
  font-size: 20px;
  width: 30px;
  height: 48px;
  color: #00be82;
  background-color: #fefefe;
  pointer-events: none;
  padding-top: 9px; }

.select-container select {
  font-size: 18px;
  padding: 7px 40px 11px 10px;
  height: 50px;
  background-image: none;
  margin: 0;
  appearance: none; }

.sales-selection .select-container {
  margin-bottom: 44px; }

.mol-hotspot {
  margin-bottom: 5.625rem; }
  .mol-hotspot h2 {
    text-align: center;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .mol-hotspot h2 {
        margin-bottom: 2.125rem; } }
  .mol-hotspot .img-content {
    position: relative;
    transition: filter ease-in-out 500ms; }
    .mol-hotspot .img-content img {
      width: 100%; }
    .mol-hotspot .img-content div.spots a {
      position: absolute;
      top: 219px;
      left: 833px;
      transform: translate(-50%, -50%);
      width: 50px;
      height: 50px;
      background-color: #28323c;
      border: 5px solid #fefefe; }
      @media screen and (max-width: 63.99875em) {
        .mol-hotspot .img-content div.spots a {
          display: none; } }
      .mol-hotspot .img-content div.spots a:after {
        content: "\e919";
        font-family: 'syntegon';
        color: #fefefe;
        position: absolute;
        font-size: 25px;
        top: 21px;
        left: 20px;
        transform: translate(-50%, -50%);
        pointer-events: none; }
      .mol-hotspot .img-content div.spots a span {
        display: none;
        position: absolute;
        top: calc(100% + 15px);
        left: 50%;
        transform: translateX(-50%);
        background-color: #ededed;
        color: #28323c;
        font-size: 16px;
        line-height: 24px;
        padding: 0.125rem 0.78125rem 0.0625rem 0.78125rem;
        z-index: 4;
        pointer-events: none; }
        .mol-hotspot .img-content div.spots a span:after {
          content: "";
          position: absolute;
          left: calc(50% - 5px);
          top: -10px;
          clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
          height: 10px;
          width: 10px;
          z-index: 3;
          background-color: #ededed; }
      .mol-hotspot .img-content div.spots a:hover {
        background-color: #00be82; }
        .mol-hotspot .img-content div.spots a:hover span {
          display: block; }
        .mol-hotspot .img-content div.spots a:hover:after {
          color: #fefefe; }
  @media print, screen and (min-width: 64em) {
    .mol-hotspot .foldouts {
      display: none; } }
  .mol-hotspot .foldouts ul.accordion {
    margin: 0;
    padding: 0;
    margin-top: 1px; }
  .mol-hotspot .foldouts li.accordion-item {
    margin: 0;
    border: 0; }
    .mol-hotspot .foldouts li.accordion-item.is-active a.accordion-title:before {
      content: "\e912"; }
  .mol-hotspot .foldouts a.accordion-title {
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 300;
    margin-bottom: 2.125rem;
    border: 0;
    color: #00be82;
    margin-bottom: 1px;
    padding-top: 21px;
    padding-bottom: 22px;
    background-color: #ededed; }
    @media screen and (max-width: 63.99875em) {
      .mol-hotspot .foldouts a.accordion-title {
        font-size: 1.5rem;
        line-height: 1.875rem;
        margin-bottom: 1rem; } }
    @media screen and (max-width: 63.99875em) {
      .mol-hotspot .foldouts a.accordion-title {
        margin-bottom: 1px;
        padding-top: 21px;
        padding-bottom: 22px; } }
    .mol-hotspot .foldouts a.accordion-title:before {
      content: "\e919";
      font-family: 'syntegon';
      right: 37px;
      top: 36px;
      font-size: 26px;
      z-index: 1; }
      @media screen and (max-width: 63.99875em) {
        .mol-hotspot .foldouts a.accordion-title:before {
          right: 22px;
          top: calc(50% + 9px);
          transform: translateY(-50%); } }
    .mol-hotspot .foldouts a.accordion-title:after {
      content: "";
      background-color: #fefefe;
      border-radius: 50%;
      height: 40px;
      width: 40px;
      right: 30px;
      top: 25px;
      position: absolute; }
      @media screen and (max-width: 63.99875em) {
        .mol-hotspot .foldouts a.accordion-title:after {
          right: 15px;
          top: 50%;
          transform: translateY(-50%); } }
  .mol-hotspot .foldouts div.accordion-content {
    border: 0;
    padding-top: 70px;
    padding-bottom: 30px; }
    .mol-hotspot .foldouts div.accordion-content img {
      margin-bottom: 30px;
      display: block; }
    .mol-hotspot .foldouts div.accordion-content a {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5rem;
      background-color: red;
      border: 1px solid red;
      margin: 13px 0;
      padding: 0.375rem 1.875rem 0.375rem 1.875rem;
      cursor: pointer;
      text-decoration: none;
      background-color: transparent;
      border: 1px solid #28323c;
      color: #28323c;
      transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
      .mol-hotspot .foldouts div.accordion-content a:hover {
        text-decoration: none; }
      .mol-hotspot .foldouts div.accordion-content a:after {
        content: none; }
      .mol-hotspot .foldouts div.accordion-content a.mail {
        padding-left: 4.0625rem;
        position: relative; }
        .mol-hotspot .foldouts div.accordion-content a.mail:before {
          content: "\e90b";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-hotspot .foldouts div.accordion-content a.download {
        padding-left: 4.0625rem; }
        .mol-hotspot .foldouts div.accordion-content a.download:before {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 1.6875rem;
          left: 1.75rem; }
      .mol-hotspot .foldouts div.accordion-content a:hover {
        border: 1px solid #00be82;
        color: #00be82; }
  .mol-hotspot .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    opacity: 0.95;
    background-color: #f9f9f9;
    display: flex;
    justify-content: center;
    display: none;
    width: 100%; }
    .mol-hotspot .overlay .left {
      max-width: 50%; }
      .mol-hotspot .overlay .left img {
        width: 100%; }
    .mol-hotspot .overlay .right {
      max-width: 50%;
      padding-top: 60px;
      position: relative;
      width: 100%; }
      .mol-hotspot .overlay .right .text {
        padding: 0 30px 0px 30px;
        max-height: 100%;
        overflow-y: auto;
        position: relative;
        top: 50%;
        transform: translateY(-50%); }
        .mol-hotspot .overlay .right .text a {
          display: inline-block;
          font-size: 1rem;
          line-height: 1.5rem;
          background-color: red;
          border: 1px solid red;
          margin: 13px 0;
          padding: 0.375rem 1.875rem 0.375rem 1.875rem;
          cursor: pointer;
          text-decoration: none;
          background-color: transparent;
          border: 1px solid #28323c;
          color: #28323c;
          transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
          .mol-hotspot .overlay .right .text a:hover {
            text-decoration: none; }
          .mol-hotspot .overlay .right .text a:after {
            content: none; }
          .mol-hotspot .overlay .right .text a.mail {
            padding-left: 4.0625rem;
            position: relative; }
            .mol-hotspot .overlay .right .text a.mail:before {
              content: "\e90b";
              position: absolute;
              font-family: 'syntegon';
              font-size: 1.6875rem;
              left: 1.75rem; }
          .mol-hotspot .overlay .right .text a.download {
            padding-left: 4.0625rem; }
            .mol-hotspot .overlay .right .text a.download:before {
              content: "\e926";
              position: absolute;
              font-family: 'syntegon';
              font-size: 1.6875rem;
              left: 1.75rem; }
          .mol-hotspot .overlay .right .text a:hover {
            border: 1px solid #00be82;
            color: #00be82; }
    .mol-hotspot .overlay .closer {
      position: absolute;
      height: 30px;
      width: 30px;
      background-color: #7e848a;
      top: 20px;
      right: 20px;
      cursor: pointer; }
      .mol-hotspot .overlay .closer:after {
        content: "\e90a";
        position: absolute;
        font-family: 'syntegon';
        top: -7px;
        right: 0px;
        font-size: 30px;
        color: #fff; }
      .mol-hotspot .overlay .closer:hover {
        background-color: #00be82; }
  .mol-hotspot .hotspot-wrap {
    position: relative;
    overflow: hidden; }
    .mol-hotspot .hotspot-wrap.active .overlay {
      display: flex; }
    .mol-hotspot .hotspot-wrap.active .img-content {
      filter: brightness(0.95) blur(5px); }
      .mol-hotspot .hotspot-wrap.active .img-content .spots {
        display: none; }

.org-messe {
  margin-bottom: 5.625rem; }
  .org-messe h2 {
    text-align: center;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .org-messe h2 {
        margin-bottom: 2.125rem; } }
  .org-messe .select-container {
    display: flex;
    padding: 27px 0 0 0; }
    .org-messe .select-container .select-single {
      width: 100%;
      margin: 0 15px 3px;
      position: relative; }
      .org-messe .select-container .select-single:after {
        content: "\e904";
        font-family: "syntegon";
        position: absolute;
        top: 1px;
        right: 1px;
        font-size: 20px;
        width: 30px;
        height: 48px;
        color: #00be82;
        background-color: #fefefe;
        pointer-events: none;
        padding-top: 9px; }
    .org-messe .select-container select {
      font-size: 18px;
      padding: 7px 40px 11px 10px;
      height: 50px;
      background-image: none;
      margin: 0;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
  .org-messe .org-teaser-medium {
    margin-top: 18px; }

.org-locations {
  margin-bottom: 5.625rem; }
  .org-locations h1 {
    text-align: center;
    color: #28323c; }
    @media screen and (max-width: 63.99875em) {
      .org-locations h1 {
        margin-bottom: 2.125rem; } }
  .org-locations .map {
    width: 100%;
    height: 100%; }
  .org-locations .mapContainer {
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-bottom: 48.374%;
    position: relative; }
  .org-locations .mapContent {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
  .org-locations .select-container {
    display: flex;
    padding: 27px 0 0 0; }
    .org-locations .select-container .select-single {
      width: 100%;
      margin: 0 15px 3px;
      position: relative; }
      .org-locations .select-container .select-single:after {
        content: "\e904";
        font-family: "syntegon";
        position: absolute;
        top: 1px;
        right: 1px;
        font-size: 20px;
        width: 30px;
        height: 48px;
        color: #00be82;
        background-color: #fefefe;
        pointer-events: none;
        padding-top: 9px; }
    .org-locations .select-container select {
      font-size: 18px;
      padding: 7px 40px 11px 10px;
      height: 50px;
      background-image: none;
      margin: 0;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
  .org-locations .org-teaser-medium {
    margin-top: 18px; }
    .org-locations .org-teaser-medium a.location-highlight {
      filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.66)); }

.org-teaser-products {
  margin-bottom: 5.625rem; }
  .org-teaser-products.alter-position .cell ul {
    justify-content: center; }
  .org-teaser-products ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-products ul {
        padding: 0 10px; } }
  .org-teaser-products li {
    margin: 0;
    padding: 0 0.9375rem;
    width: 25%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px;
    display: block; }
    .org-teaser-products li a {
      height: 100%;
      background-color: #f9f9f9;
      margin-bottom: 0;
      display: block;
      transition: all 0.25s ease-in-out; }
      .org-teaser-products li a:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
        background-color: #fefefe; }
    .org-teaser-products li img {
      width: 100%; }
    .org-teaser-products li .text {
      border-top: 5px solid #00be82;
      padding: 22px 10px 24px 10px; }
      @media screen and (max-width: 63.99875em) {
        .org-teaser-products li .text {
          padding: 14px 5px 15px 5px; } }
      .org-teaser-products li .text p {
        font-size: 18px;
        line-height: 24px;
        color: #28323c;
        margin-bottom: 0;
        color: #00be82; }
        .org-teaser-products li .text p:hover {
          color: #00be82; }
        @media screen and (max-width: 63.99875em) {
          .org-teaser-products li .text p {
            font-size: 13px;
            line-height: 18px; } }
      .org-teaser-products li .text *:last-child {
        margin-bottom: 0; }
    @media screen and (min-width: 40em) and (max-width: 63.99875em) {
      .org-teaser-products li {
        padding: 0 5px;
        width: 33.33%;
        margin-bottom: 15px; } }
    @media screen and (max-width: 39.99875em) {
      .org-teaser-products li {
        padding: 0 5px;
        width: 50%;
        margin-bottom: 15px; } }

.org-cookie {
  display: none;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  right: 0.9375rem;
  left: 0.9375rem;
  max-width: 800px;
  margin: auto;
  background-color: #28323c;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(100vh);
  padding: 0 30px 30px 30px;
  z-index: 999999999; }
  .org-cookie .close {
    position: absolute;
    top: 11px;
    right: 30px;
    width: 30px;
    height: 30px;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .org-cookie .close {
        top: 33px;
        width: 50px;
        height: 50px; } }
    .org-cookie .close:after, .org-cookie .close:before {
      content: "";
      position: absolute;
      display: block;
      height: 2px;
      width: 30px;
      background: #fff;
      transform: translateY(13px) rotate(45deg); }
      @media print, screen and (min-width: 40em) {
        .org-cookie .close:after, .org-cookie .close:before {
          width: 50px;
          transform: translateY(23px) rotate(45deg); } }
    .org-cookie .close:after {
      transform: translateY(13px) rotate(-45deg); }
      @media print, screen and (min-width: 40em) {
        .org-cookie .close:after {
          transform: translateY(23px) rotate(-45deg); } }
  .org-cookie h3 {
    padding: 41px 60px 2px 0;
    color: #fefefe;
    font-size: 26px;
    font-weight: 700;
    line-height: 28.6px; }
    @media screen and (max-width: 39.99875em) {
      .org-cookie h3 {
        font-size: 19px;
        line-height: 1.1;
        padding: 15px 60px 14px 0; } }
  .org-cookie .text {
    font-size: 15px;
    line-height: 22.5px;
    color: #fefefe; }
    @media screen and (max-width: 39.99875em) {
      .org-cookie .text {
        font-size: 16px;
        line-height: 24px; } }
  .org-cookie .cookie-check {
    position: relative; }
    .org-cookie .cookie-check input {
      display: block;
      width: 26px;
      height: 26px;
      margin-top: 19px; }
    .org-cookie .cookie-check span.overlay {
      position: absolute;
      width: 26px;
      height: 26px;
      top: 19px;
      left: 0;
      pointer-events: none;
      background-color: #fefefe; }
      .org-cookie .cookie-check span.overlay:after {
        content: "";
        position: absolute;
        font-family: 'syntegon';
        top: 2px;
        right: 5px;
        font-size: 15px;
        color: #00be82;
        font-weight: bold; }
    .org-cookie .cookie-check input:checked + span.overlay:after {
      content: "\e903"; }
    .org-cookie .cookie-check label {
      font-size: 15px;
      line-height: 22.5px;
      padding: 20px 0 0 18px;
      font-weight: 600;
      color: #fefefe; }
      @media screen and (max-width: 39.99875em) {
        .org-cookie .cookie-check label {
          font-size: 16px;
          line-height: 24px; } }
    .org-cookie .cookie-check .text p,
    .org-cookie .cookie-check .text a {
      font-size: 15px;
      line-height: 24px;
      color: #fefefe; }
      @media screen and (max-width: 39.99875em) {
        .org-cookie .cookie-check .text p,
        .org-cookie .cookie-check .text a {
          font-size: 16px;
          line-height: 25.6px; } }
    .org-cookie .cookie-check .text a {
      text-decoration: underline;
      color: #00be82; }
    .org-cookie .cookie-check .text p {
      padding: 0 0 0 18px;
      margin-bottom: 14px; }
  .org-cookie .cookie-submit p {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 14px; }
    @media screen and (max-width: 39.99875em) {
      .org-cookie .cookie-submit p {
        font-size: 16px;
        line-height: 25.6px; } }
  .org-cookie .cookie-submit a {
    font-size: 15px;
    line-height: 24px;
    color: #00be82;
    text-decoration: underline; }
  .org-cookie .cookie-submit a.button.cookie-save {
    font-size: 15px;
    line-height: 22.5px;
    padding: 18px 60px 19px 60px;
    background-color: #fefefe;
    color: #28323c;
    text-align: center;
    width: 100%;
    font-weight: 700;
    margin-bottom: 0;
    transition: color .3s;
    text-decoration: none; }
    .org-cookie .cookie-submit a.button.cookie-save:hover {
      color: #00be82; }
    @media screen and (max-width: 39.99875em) {
      .org-cookie .cookie-submit a.button.cookie-save {
        padding: 20px 60px 20px 60px; } }

.cookie-active main, .cookie-active header, .cookie-active footer {
  filter: blur(5px) brightness(0.8); }

.cookie-active .org-cookie {
  display: block; }

.cookie-mini-active .org-cookie-mini {
  display: block; }

.org-cookie-mini {
  background-color: #28323c;
  padding: 1.3125rem 1.875rem 1.6875rem 1.875rem;
  z-index: 999; }
  @media screen and (max-width: 63.99875em) {
    .org-cookie-mini {
      padding: 1.875rem; } }
  .org-cookie-mini .text p {
    color: #fefefe;
    font-size: 16px;
    line-height: 24px; }
  .org-cookie-mini .text p {
    margin: 0; }
    @media screen and (max-width: 63.99875em) {
      .org-cookie-mini .text p {
        margin-bottom: 20px; } }
  .org-cookie-mini .text a {
    color: #00be82;
    text-decoration-color: #00be82;
    font-size: 16px; }
  .org-cookie-mini input[type="submit"] {
    margin: 0 0 0 20px;
    font-size: 16px;
    padding: 20px 60px;
    background-color: #fefefe;
    border: none;
    color: #28323c;
    cursor: pointer;
    font-weight: 700;
    transition: color .3s; }
    .org-cookie-mini input[type="submit"]:hover {
      color: #00be82; }
    @media print, screen and (min-width: 64em) {
      .org-cookie-mini input[type="submit"] {
        position: relative; } }
    @media screen and (max-width: 63.99875em) {
      .org-cookie-mini input[type="submit"] {
        display: block;
        text-align: center;
        width: 100%;
        margin: 0; } }
  .org-cookie-mini input[type="checkbox"] {
    display: none; }
  .org-cookie-mini form {
    padding: 0; }
    @media print, screen and (min-width: 64em) {
      .org-cookie-mini form {
        height: 100%; } }

.org-cookie-mini.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  max-height: 100vh;
  overflow-y: auto; }

.searchResults ul {
  margin: 0 0 42px;
  padding: 0 0.9375rem 5px;
  position: relative; }
  @media screen and (max-width: 63.99875em) {
    .searchResults ul {
      padding: 0 15px 5px; } }

.searchResults li {
  margin: 0;
  padding: 0; }

.searchResults .img-wrap {
  padding: 30px 30px 30px;
  flex-shrink: 0;
  flex-grow: 0;
  text-align: center; }

.searchResults a {
  position: relative;
  display: flex;
  margin-bottom: 0;
  transition: all 0.25s ease-in-out; }
  @media screen and (max-width: 63.99875em) {
    .searchResults a {
      display: block;
      margin: 0; } }
  .searchResults a:after {
    content: "";
    position: absolute;
    height: 5px;
    top: 0;
    left: 0;
    right: 0;
    background-color: #ededed;
    transition: all 0.25s ease-in-out; }
  .searchResults a:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
    .searchResults a:hover:after {
      background-color: #00be82; }
  @media screen and (max-width: 63.99875em) {
    .searchResults a:hover {
      box-shadow: none; } }

.searchResults .text {
  padding: 31px 100px 10px 21px; }
  @media screen and (max-width: 63.99875em) {
    .searchResults .text {
      padding: 20px 0px 10px 0px; } }
  .searchResults .text h3 {
    color: #00be82;
    margin-bottom: 16px; }
  .searchResults .text p {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 16px;
    color: #28323c; }
  .searchResults .text p.info {
    font-size: 12px;
    line-height: 18px; }

.searchPage {
  margin-bottom: 5.625rem; }
  .searchPage .visually-hidden {
    display: none; }
  .searchPage li.pager__item.pager__item--first,
  .searchPage li.pager__item.pager__item--last {
    display: none; }
  .searchPage ul.pager__items {
    display: flex;
    max-width: 260px;
    margin: 0 auto 90px;
    justify-content: center;
    position: relative; }
    .searchPage ul.pager__items li {
      display: inline-block;
      margin: 0 0; }
    .searchPage ul.pager__items a {
      height: 40px;
      widtH: 40px;
      display: block;
      font-size: 18px;
      line-height: 40px;
      color: #28323c;
      text-align: center;
      margin: 0 7px; }
      .searchPage ul.pager__items a span {
        display: none; }
    .searchPage ul.pager__items li.pager__item.pager__item--previous {
      position: absolute;
      left: -55px; }
    .searchPage ul.pager__items li.pager__item.pager__item--previous a {
      position: relative;
      background-color: #00be82;
      margin: 0; }
      .searchPage ul.pager__items li.pager__item.pager__item--previous a:after {
        content: "\e905";
        font-family: 'syntegon';
        position: absolute;
        top: 1px;
        left: 8px;
        font-size: 25px;
        color: #fefefe; }
    .searchPage ul.pager__items li.pager__item.pager__item--next {
      position: absolute;
      right: -55px; }
    .searchPage ul.pager__items li.pager__item.pager__item--next a {
      position: relative;
      background-color: #00be82;
      margin: 0; }
      .searchPage ul.pager__items li.pager__item.pager__item--next a:after {
        content: "\e907";
        font-family: 'syntegon';
        position: absolute;
        top: 1px;
        left: 8px;
        font-size: 25px;
        color: #fefefe; }
    .searchPage ul.pager__items li.pager__item.is-active a {
      background-color: #f9f9f9; }
    .searchPage ul.pager__items li.pager__item.pager__item--ellipsis {
      display: none; }
  .searchPage form.views-exposed-form {
    display: flex;
    max-width: 770px;
    margin: 0 auto;
    justify-content: space-between; }
    .searchPage form.views-exposed-form div.js-form-item-query {
      flex-grow: 1; }
    .searchPage form.views-exposed-form input.form-text {
      width: calc(100% - 28px);
      border: 0;
      border-bottom: 1px solid #ededed;
      height: 40px;
      padding: 0 0 0 11px;
      box-shadow: none; }
    .searchPage form.views-exposed-form input.form-submit {
      font-size: 16px;
      padding: 11px 20px 11px 20px;
      background-color: #00be82; }

form {
  padding: 0 0 2.5rem 0; }
  form a {
    color: #28323c; }
    form a:hover {
      color: #00be82; }

.form-checkbox {
  margin-bottom: 2.75rem; }
  .form-checkbox input[type="checkbox"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    background-color: #ededed !important;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.1875rem;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    cursor: pointer;
    margin-bottom: 0.25rem; }
    .form-checkbox input[type="checkbox"]:checked {
      background-color: #00be82 !important;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16' height='13' viewBox='0 0 18 15'%3E%3Cdefs%3E%3Cpath id='fmfba' d='M307.27 4476.93l2.84 2.35 6.36-7.56a2 2 0 0 1 3.52 1.06c.05.55-.13 1.05-.45 1.44l-7.63 9.06a2 2 0 0 1-2.82.26l-4.37-3.6a1.96 1.96 0 0 1 1.08-3.47c.56-.04 1.07.13 1.47.46'/%3E%3Cfilter id='fmfbb' width='39' height='36' x='294' y='4461' filterUnits='userSpaceOnUse'%3E%3CfeOffset dx='1' dy='1' in='SourceGraphic' result='FeOffset1041Out'/%3E%3CfeGaussianBlur in='FeOffset1041Out' result='FeGaussianBlur1042Out' stdDeviation='0.4 0.4'/%3E%3C/filter%3E%3C/defs%3E%3Cg%3E%3Cg transform='translate(-304 -4471)'%3E%3Cg filter='url(%23fmfbb)'%3E%3Cuse fill='none' stroke-opacity='.2' stroke-width='-3.4e+38' xlink:href='%23fmfba'/%3E%3C/g%3E%3Cuse fill='%23fff' xlink:href='%23fmfba'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center; }
  .form-checkbox div.description {
    display: inline; }
  .form-checkbox div.description > div {
    display: inline;
    font-size: 1.125rem;
    line-height: 1.625rem;
    margin-left: 0.5rem; }
  .form-checkbox input[type="checkbox"].error + div.description {
    color: #dc3250; }
  .form-checkbox label {
    color: #525f6b;
    font-size: 1rem;
    line-height: 1.5rem;
    font-family: "syntegonsans";
    text-transform: uppercase;
    margin-bottom: 2.375rem; }

.form-textarea {
  margin-bottom: 40px; }

.form-file-input {
  margin-bottom: 40px; }
  .form-file-input a {
    color: #525f6b;
    font-size: 1rem;
    line-height: 1.5rem;
    font-family: "syntegonsans";
    margin-bottom: 1rem; }
  .form-file-input input[type="checkbox"] {
    margin-bottom: 1rem; }
  .form-file-input input[type="file"] {
    color: #dc3250; }
  .form-file-input input[type="submit"] {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    background-color: red;
    border: 1px solid red;
    margin: 13px 0;
    padding: 0.375rem 1.875rem 0.375rem 1.875rem;
    cursor: pointer;
    text-decoration: none;
    background-color: transparent;
    border: 1px solid #28323c;
    color: #28323c;
    transition: color 0.25s ease-in-out, border 0.25s ease-in-out; }
    .form-file-input input[type="submit"]:hover {
      text-decoration: none; }
    .form-file-input input[type="submit"]:after {
      content: none; }
    .form-file-input input[type="submit"].mail {
      padding-left: 4.0625rem;
      position: relative; }
      .form-file-input input[type="submit"].mail:before {
        content: "\e90b";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .form-file-input input[type="submit"].download {
      padding-left: 4.0625rem; }
      .form-file-input input[type="submit"].download:before {
        content: "\e926";
        position: absolute;
        font-family: 'syntegon';
        font-size: 1.6875rem;
        left: 1.75rem; }
    .form-file-input input[type="submit"]:hover {
      border: 1px solid #00be82;
      color: #00be82; }
  .form-file-input .description {
    color: #525f6b;
    font-size: 1rem;
    line-height: 1.5rem;
    font-family: "syntegonsans"; }

.form-textfield {
  position: relative;
  margin-bottom: 2.75rem; }
  .form-textfield input {
    margin: 0;
    border: 0;
    background: 0 0;
    box-shadow: none;
    border-bottom: 1px solid #7e848a;
    color: black;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; }
    @media screen and (max-width: 63.99875em) {
      .form-textfield input {
        padding-left: 0.625rem;
        padding-right: 0.625rem; } }
    .form-textfield input:focus {
      border: 0;
      background: 0 0;
      box-shadow: none;
      color: black;
      border-bottom: 1px solid #c6c5ba;
      background-color: #ededed; }
  .form-textfield label {
    position: absolute;
    bottom: 0;
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: 400;
    color: #7e848a;
    text-align: left;
    padding: 0;
    left: 0.9375rem;
    right: 0.9375rem;
    height: 1.625rem;
    margin-bottom: 0.375rem;
    z-index: -10; }
    @media screen and (max-width: 63.99875em) {
      .form-textfield label {
        left: 0.625rem;
        right: 0.625rem; } }
  .form-textfield input:focus + label {
    font-size: 0.75rem;
    margin: 0;
    bottom: 2.4375rem;
    color: #7e848a; }
  .form-textfield input.edited + label {
    font-size: 0.75rem;
    margin: 0;
    bottom: 2.4375rem;
    color: #7e848a; }
  .form-textfield input:invalid {
    border-bottom: 1px solid #dc3250; }
  .form-textfield input:valid {
    border-bottom: 1px solid #00be82; }
  .form-textfield input:not(.edited) {
    border-bottom: 1px solid #7e848a; }
  .form-textfield input.error {
    border-bottom: 1px solid #dc3250; }
  .form-textfield input:required + label::after {
    content: ' *'; }

.form-radio legend {
  display: none; }

.form-radio label {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-family: "syntegonsans";
  margin-bottom: 2.75rem; }

.form-radio input[type="radio"] {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  background: #f9f9f9;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  margin: 0;
  vertical-align: middle;
  cursor: pointer; }
  .form-radio input[type="radio"]:checked {
    border: #00be82 solid 8px;
    background: #fff; }

.form-select {
  width: 100%;
  margin: 0 0.9375rem 0.1875rem;
  position: relative;
  margin: 0;
  margin-bottom: 2.75rem;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none; }
  .form-select .selector:after {
    content: "\e904";
    font-family: "syntegon";
    position: absolute;
    top: 0.0625rem;
    right: 1rem;
    font-size: 1.25rem;
    width: 1.875rem;
    height: 3rem;
    color: #00be82;
    background-color: #fefefe;
    pointer-events: none;
    padding-top: 0.5625rem; }
  .form-select .selector select {
    font-size: 1.125rem;
    padding: 0.4375rem 2.5rem 0.6875rem 0.625rem;
    height: 3.125rem;
    background-image: none;
    margin: 0; }
    .form-select .selector select.error {
      border: 1px solid #dc3250; }
  .form-select .selector option {
    font-size: 1rem; }

.form-submit {
  margin-bottom: 1.25rem; }
  @media screen and (max-width: 63.99875em) {
    .form-submit .button-center {
      justify-content: center; } }

.webform-label label {
  height: 2.3125rem;
  color: #525f6b;
  font-size: 1rem;
  line-height: 1.125rem;
  font-family: "syntegonsans";
  margin-left: 0.6875rem; }

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

.alert-box {
  position: relative;
  height: 4.375rem;
  background-color: #ededed;
  border-bottom: 1px solid #dc3250;
  margin-bottom: 3.125rem; }
  .alert-box span {
    color: #dc3250;
    font-size: 0.75rem;
    margin-left: 6.25rem;
    padding-top: 1.875rem;
    display: flex; }
  .alert-box .alert-symbol::after {
    content: "\e924";
    color: #ffffff;
    height: 2.5rem;
    width: 2.3125rem;
    position: absolute;
    font-family: 'syntegon';
    color: #dc3250;
    font-size: 2.5rem;
    line-height: 4.375rem;
    margin-left: 1.875rem;
    margin-right: 1.875rem; }

.alert-error-message span {
  padding-left: 0.9375rem;
  color: #dc3250;
  font-size: 0.75rem;
  line-height: 1.125rem; }

.mol-webform h2 {
  color: #00be82; }

.org-teaser-photoload {
  margin-bottom: 5.625rem; }
  .org-teaser-photoload h2 {
    text-align: center;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-photoload h2 {
        margin-bottom: 2.6875rem; } }
  .org-teaser-photoload ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
  .org-teaser-photoload li {
    margin: 0;
    padding: 0 0.9375rem;
    width: 33.33%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-photoload li {
        width: 100%; } }
    .org-teaser-photoload li div.teaser-box {
      height: 100%;
      margin-bottom: 0;
      display: block;
      background-color: #f9f9f9;
      position: relative;
      padding-bottom: 36px; }
      .org-teaser-photoload li div.teaser-box .img-16-9-special {
        background-color: #a9afb5; }
      .org-teaser-photoload li div.teaser-box img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        left: 50%;
        transform: translate(-50%, -50%); }
      .org-teaser-photoload li div.teaser-box:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
        background-color: #fefefe; }
      .org-teaser-photoload li div.teaser-box .text {
        border-top: 5px solid #00be82;
        padding: 16px 10px 24px 10px; }
        .org-teaser-photoload li div.teaser-box .text h3 {
          color: #00be82;
          margin-bottom: 14px; }
        .org-teaser-photoload li div.teaser-box .text p {
          font-size: 16px;
          line-height: 24px;
          color: #28323c;
          margin-bottom: 0; }
        .org-teaser-photoload li div.teaser-box .text *:last-child {
          margin-bottom: 0; }
      .org-teaser-photoload li div.teaser-box span {
        position: absolute;
        color: #525f6b;
        font-size: 12px;
        line-height: 18px;
        text-transform: uppercase;
        bottom: 25px;
        left: 10px; }
      .org-teaser-photoload li div.teaser-box a {
        position: absolute;
        height: 26px;
        width: 26px;
        right: 20px;
        bottom: 20px;
        margin-bottom: 0; }
        .org-teaser-photoload li div.teaser-box a:after {
          content: "\e926";
          position: absolute;
          font-family: 'syntegon';
          font-size: 26px;
          top: 1px;
          left: 0;
          pointer-events: none;
          color: #7e848a; }
  .org-teaser-photoload .press-picture-exposed form {
    padding-bottom: 0; }
  .org-teaser-photoload .press-picture-exposed .form-item-field-tag-target-id {
    position: relative; }
    .org-teaser-photoload .press-picture-exposed .form-item-field-tag-target-id:after {
      content: "\e904";
      font-family: "syntegon";
      position: absolute;
      top: 1px;
      right: 1px;
      font-size: 20px;
      width: 30px;
      height: 48px;
      color: #00be82;
      background-color: #fefefe;
      pointer-events: none;
      padding-top: 9px; }
  .org-teaser-photoload .press-picture-exposed select {
    margin-bottom: 0;
    padding: 9px 39px 11px 14px;
    font-size: 18px;
    height: 50px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: none;
    position: relative; }
  .org-teaser-photoload .press-picture-exposed .form-actions.js-form-wrapper {
    display: none; }
  .org-teaser-photoload .press-picture-exposed-wrap {
    margin-bottom: 61px;
    position: relative; }
    .org-teaser-photoload .press-picture-exposed-wrap:after {
      content: "";
      position: absolute;
      left: -15px;
      right: -15px;
      height: 5px;
      bottom: -27px;
      background-color: #ededed; }
  .org-teaser-photoload .pa-pager a {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #ededed;
    margin: -1px 0 0 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%; }
    .org-teaser-photoload .pa-pager a:after {
      content: "\e919";
      position: absolute;
      top: 8px;
      left: 7px;
      color: #008ecf;
      font-family: 'syntegon';
      font-size: 25px; }

#news-story-press-extra, .news-story-press-extra {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 97; }
  #news-story-press-extra .nsp-download a, .news-story-press-extra .nsp-download a {
    width: 30px;
    height: 30px;
    display: block;
    margin-bottom: 0;
    margin-right: 30px; }
    #news-story-press-extra .nsp-download a:after, .news-story-press-extra .nsp-download a:after {
      content: "\e926";
      position: absolute;
      font-family: 'syntegon';
      font-size: 30px;
      top: 0;
      left: 0;
      pointer-events: none;
      color: #fefefe; }
  #news-story-press-extra .nsp-ss-toggle, .news-story-press-extra .nsp-ss-toggle {
    width: 30px;
    height: 30px;
    display: block;
    margin-bottom: 0;
    background-size: cover; }
    #news-story-press-extra .nsp-ss-toggle:after, .news-story-press-extra .nsp-ss-toggle:after {
      content: "\e93b";
      position: absolute;
      font-family: 'syntegon';
      font-size: 30px;
      top: 0;
      left: 0;
      pointer-events: none;
      color: #fefefe; }
  #news-story-press-extra .nsp-social-share, .news-story-press-extra .nsp-social-share {
    position: relative; }
  #news-story-press-extra .nsp-social-share-wrap, .news-story-press-extra .nsp-social-share-wrap {
    position: absolute;
    background-color: #fff;
    top: 49px;
    left: -48px;
    border: 1px solid #dfe0e1;
    padding: 10px 0; }
    #news-story-press-extra .nsp-social-share-wrap:after, .news-story-press-extra .nsp-social-share-wrap:after {
      position: absolute;
      content: "";
      height: 15px;
      width: 27px;
      top: -14px;
      left: 50%;
      transform: translateX(-50%);
      background-image: url("data:image/png;base64,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"); }
    #news-story-press-extra .nsp-social-share-wrap a, .news-story-press-extra .nsp-social-share-wrap a {
      font-size: 12px;
      line-height: 18px;
      display: block;
      padding: 13px 31px 5px 42px;
      margin: 0;
      position: relative;
      color: #28323c; }
      #news-story-press-extra .nsp-social-share-wrap a:after, .news-story-press-extra .nsp-social-share-wrap a:after {
        position: absolute;
        font-family: 'syntegon';
        left: 10px;
        top: 13px;
        font-size: 22px;
        color: #525f6b; }
      #news-story-press-extra .nsp-social-share-wrap a.nsp-ss-linkedin:after, .news-story-press-extra .nsp-social-share-wrap a.nsp-ss-linkedin:after {
        content: "\e91d"; }
      #news-story-press-extra .nsp-social-share-wrap a.nsp-ss-facebook:after, .news-story-press-extra .nsp-social-share-wrap a.nsp-ss-facebook:after {
        content: "\e91c"; }
      #news-story-press-extra .nsp-social-share-wrap a.nsp-ss-twitter:after, .news-story-press-extra .nsp-social-share-wrap a.nsp-ss-twitter:after {
        content: "\e91e"; }
      #news-story-press-extra .nsp-social-share-wrap a.nsp-ss-xing:after, .news-story-press-extra .nsp-social-share-wrap a.nsp-ss-xing:after {
        content: "\e91f"; }
      #news-story-press-extra .nsp-social-share-wrap a:hover, .news-story-press-extra .nsp-social-share-wrap a:hover {
        background-color: #faf9f7; }

.org-teaser-pressreleases {
  margin-bottom: 5.625rem; }
  .org-teaser-pressreleases h2 {
    text-align: center;
    color: #00be82; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-pressreleases h2 {
        margin-bottom: 2.6875rem; } }
  .org-teaser-pressreleases ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
  .org-teaser-pressreleases li {
    margin: 0;
    padding: 0 0.9375rem;
    width: 33.33%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 63.99875em) {
      .org-teaser-pressreleases li {
        width: 100%; } }
    .org-teaser-pressreleases li div.teaser-box, .org-teaser-pressreleases li a.teaser-box {
      height: 100%;
      margin-bottom: 0;
      display: block;
      background-color: #f9f9f9;
      position: relative;
      padding-bottom: 36px; }
      .org-teaser-pressreleases li div.teaser-box img, .org-teaser-pressreleases li a.teaser-box img {
        width: 100%; }
      .org-teaser-pressreleases li div.teaser-box:hover, .org-teaser-pressreleases li a.teaser-box:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
        background-color: #fefefe; }
        .org-teaser-pressreleases li div.teaser-box:hover .text h3, .org-teaser-pressreleases li a.teaser-box:hover .text h3 {
          color: #28323c; }
      .org-teaser-pressreleases li div.teaser-box .text, .org-teaser-pressreleases li a.teaser-box .text {
        border-top: 5px solid #00be82;
        padding: 13px 10px 35px 10px; }
        .org-teaser-pressreleases li div.teaser-box .text a, .org-teaser-pressreleases li a.teaser-box .text a {
          text-decoration: none; }
        .org-teaser-pressreleases li div.teaser-box .text h3, .org-teaser-pressreleases li a.teaser-box .text h3 {
          color: #00be82;
          margin-bottom: 14px; }
        .org-teaser-pressreleases li div.teaser-box .text *:last-child, .org-teaser-pressreleases li a.teaser-box .text *:last-child {
          margin-bottom: 0; }
        .org-teaser-pressreleases li div.teaser-box .text a:after, .org-teaser-pressreleases li a.teaser-box .text a:after {
          content: none; }
      .org-teaser-pressreleases li div.teaser-box span.type, .org-teaser-pressreleases li a.teaser-box span.type {
        color: #525f6b;
        font-size: 12px;
        line-height: 18px;
        margin-bottom: 12px;
        display: block; }
      .org-teaser-pressreleases li div.teaser-box span.tag_and_date, .org-teaser-pressreleases li a.teaser-box span.tag_and_date {
        position: absolute;
        color: #525f6b;
        font-size: 12px;
        line-height: 18px;
        bottom: 15px;
        left: 10px;
        max-width: calc(100% - 120px); }
      .org-teaser-pressreleases li div.teaser-box .news-story-press-extra-teaser, .org-teaser-pressreleases li a.teaser-box .news-story-press-extra-teaser {
        bottom: 21px;
        left: auto;
        right: 21px;
        transform: none;
        display: flex; }
        .org-teaser-pressreleases li div.teaser-box .news-story-press-extra-teaser .nsp-download a, .org-teaser-pressreleases li a.teaser-box .news-story-press-extra-teaser .nsp-download a {
          width: 25px;
          height: 25px;
          margin-right: 0; }
          .org-teaser-pressreleases li div.teaser-box .news-story-press-extra-teaser .nsp-download a:after, .org-teaser-pressreleases li a.teaser-box .news-story-press-extra-teaser .nsp-download a:after {
            font-size: 25px;
            color: #7e848a; }
        .org-teaser-pressreleases li div.teaser-box .news-story-press-extra-teaser .nsp-ss-toggle, .org-teaser-pressreleases li a.teaser-box .news-story-press-extra-teaser .nsp-ss-toggle {
          margin-left: 34px;
          width: 25px;
          height: 25px; }
          .org-teaser-pressreleases li div.teaser-box .news-story-press-extra-teaser .nsp-ss-toggle:after, .org-teaser-pressreleases li a.teaser-box .news-story-press-extra-teaser .nsp-ss-toggle:after {
            font-size: 25px;
            color: #7e848a;
            right: 0;
            left: unset; }
  .org-teaser-pressreleases .press-picture-exposed form {
    padding-bottom: 0; }
  .org-teaser-pressreleases .press-picture-exposed .form-item-field-tag-target-id {
    position: relative; }
    .org-teaser-pressreleases .press-picture-exposed .form-item-field-tag-target-id:after {
      content: "\e904";
      font-family: "syntegon";
      position: absolute;
      top: 1px;
      right: 1px;
      font-size: 20px;
      width: 30px;
      height: 48px;
      color: #008ecf;
      background-color: #fefefe;
      pointer-events: none;
      padding-top: 9px; }
  .org-teaser-pressreleases .press-picture-exposed select {
    margin-bottom: 0;
    padding: 9px 39px 11px 14px;
    font-size: 18px;
    height: 50px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: none;
    position: relative; }
  .org-teaser-pressreleases .press-picture-exposed .form-actions.js-form-wrapper {
    display: none; }
  .org-teaser-pressreleases .press-picture-exposed-wrap {
    margin-bottom: 61px;
    position: relative; }
    .org-teaser-pressreleases .press-picture-exposed-wrap:after {
      content: "";
      position: absolute;
      left: -15px;
      right: -15px;
      height: 5px;
      bottom: -27px;
      background-color: #ededed; }
  .org-teaser-pressreleases .pa-pager a {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #ededed;
    margin: -1px 0 0 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%); }
    .org-teaser-pressreleases .pa-pager a:after {
      content: "\e919";
      position: absolute;
      top: 8px;
      left: 7px;
      color: #00be82;
      font-family: 'syntegon';
      font-size: 25px; }
    .org-teaser-pressreleases .pa-pager a:hover {
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); }
  .org-teaser-pressreleases .select-container {
    display: flex;
    padding: 0 0 27px 0; }
    .org-teaser-pressreleases .select-container .select-single {
      width: 100%;
      margin: 0 15px 3px;
      position: relative; }
      .org-teaser-pressreleases .select-container .select-single:after {
        content: "\e904";
        font-family: "syntegon";
        position: absolute;
        top: 1px;
        right: 1px;
        font-size: 20px;
        width: 30px;
        height: 48px;
        color: #00be82;
        background-color: #fefefe;
        pointer-events: none;
        padding-top: 9px; }
    .org-teaser-pressreleases .select-container select {
      font-size: 18px;
      padding: 7px 40px 11px 10px;
      height: 50px;
      background-image: none;
      margin: 0;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }

.org-press-events {
  background-color: #e1e1e1;
  padding-bottom: 40px;
  padding-top: 51px;
  margin-bottom: 5.625rem; }
  @media screen and (max-width: 63.99875em) {
    .org-press-events {
      padding-bottom: 30px; } }
  .org-press-events h2 {
    text-align: center;
    color: #00be82; }
  .org-press-events .views-infinite-scroll-content-wrapper {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
  .org-press-events div.views-row {
    margin: 0;
    padding: 0 0.9375rem;
    width: 33.33%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 30px; }
    @media screen and (max-width: 63.99875em) {
      .org-press-events div.views-row {
        width: 100%;
        margin-bottom: 15px; }
        .org-press-events div.views-row:first-child a {
          display: flex; } }
    .org-press-events div.views-row a {
      height: 100%;
      background-color: #fefefe;
      display: flex;
      border-top: 5px solid #00be82;
      margin-bottom: 0;
      padding-bottom: 21px; }
      .org-press-events div.views-row a .dates {
        width: 79px; }
        @media screen and (max-width: 63.99875em) {
          .org-press-events div.views-row a .dates {
            width: 70px; } }
        .org-press-events div.views-row a .dates span {
          text-align: center; }
        .org-press-events div.views-row a .dates .dates-from .month {
          font-size: 18px;
          line-height: 26px;
          padding: 19px 0 0 0;
          color: #00be82; }
        .org-press-events div.views-row a .dates .dates-from .day {
          font-size: 30px;
          line-height: 36px;
          font-weight: 900;
          margin-top: -2px;
          margin-bottom: -2px;
          color: #00be82; }
        .org-press-events div.views-row a .dates .dates-from .year {
          font-size: 18px;
          line-height: 26px;
          color: #00be82; }
      .org-press-events div.views-row a .text {
        width: calc(100% - 79px);
        padding-right: 10px; }
        @media screen and (max-width: 63.99875em) {
          .org-press-events div.views-row a .text {
            width: calc(100% - 70px);
            padding: 0 5px 0 5px; } }
        .org-press-events div.views-row a .text .place {
          font-size: 12px;
          line-height: 18px;
          color: #28323c;
          margin-top: 23px;
          margin-bottom: 12px; }
        .org-press-events div.views-row a .text .title {
          font-size: 30px;
          line-height: 36px;
          color: #00be82;
          margin-bottom: 12px; }
        .org-press-events div.views-row a .text .link {
          font-size: 16px;
          line-height: 24px;
          color: #28323c;
          margin-top: 15px;
          color: #28323c; }
      .org-press-events div.views-row a:hover {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); }
        .org-press-events div.views-row a:hover .text .title {
          color: #28323c; }
  .org-press-events span {
    display: block; }
  .org-press-events ul.js-pager__items {
    margin-bottom: 0; }
  .org-press-events .pager {
    justify-content: center; }
  .org-press-events .more,
  .org-press-events .pager .pager__item a.button {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #fefefe;
    margin: 30px 0 0 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%); }
    .org-press-events .more:hover,
    .org-press-events .pager .pager__item a.button:hover {
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.33); }
    .org-press-events .more:after,
    .org-press-events .pager .pager__item a.button:after {
      content: "\e919";
      position: absolute;
      top: 8px;
      left: 7px;
      color: #00be82;
      font-family: 'syntegon';
      font-size: 25px; }

.app-form .pagination {
  margin-bottom: 5.625rem; }
  .app-form .pagination div {
    font-size: 1.125rem;
    line-height: 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    text-align: center; }
  .app-form .pagination a {
    color: #000000;
    margin: 0; }
  .app-form .pagination .current {
    background-color: #f9f9f9;
    margin-right: 0.5rem; }
  .app-form .pagination .page2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem; }
  .app-form .pagination .page3 {
    margin-left: 0.5rem; }
  .app-form .pagination .previous {
    background-color: #00be82;
    position: relative;
    margin-right: 4.1875rem; }
    .app-form .pagination .previous:after {
      content: "\e905";
      color: #ffffff;
      height: 2.5rem;
      width: 2.5rem;
      font-family: syntegon;
      position: absolute;
      top: 0;
      right: 0;
      font-size: 1.5rem; }
  .app-form .pagination .next {
    background-color: #00be82;
    position: relative;
    margin-left: 4.1875rem; }
    .app-form .pagination .next:after {
      content: "\e907";
      color: #ffffff;
      height: 2.5rem;
      width: 2.5rem;
      font-family: syntegon;
      position: absolute;
      top: 0;
      right: 0;
      font-size: 1.5rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJfdmFyX2FuZF9mdW5jdGlvbnMuc2NzcyIsIl9wcm9qZWN0LnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdmFsdWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZGlyZWN0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3NlbGVjdG9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9fbWlzc2luZy1kZXBlbmRlbmNpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9fdHJ1ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19wdXJnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlbW92ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlcGxhY2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190by1saXN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19tZXRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9feHktZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcHJvdG90eXBlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcmVsYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3RhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXV0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19mb250LXN0eWxpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaGFkb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLWJveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvbW90aW9uLXVpLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYXJncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3NlbGVjdG9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19zZXJpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2ZhZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19zcGluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL196b29tLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19zaGFrZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fc2xpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX3dpZ2dsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCJfZm9udHMuc2NzcyIsIl9hdG9tcy5zY3NzIiwiX29yYml0LnNjc3MiLCJfc3RhZ2VzLnNjc3MiLCJfdGVtcGxhdGVzX2ltYWdlLnNjc3MiLCJfaGVhZF92Mi5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwiX2NvbWJpbmF0aW9ucy5zY3NzIiwiX2dyYXBoaWNzLnNjc3MiLCJfc3BlY2lhbC5zY3NzIiwiX2hvdHNwb3Quc2NzcyIsIl9tZXNzZS5zY3NzIiwiX2xvY2F0aW9ucy5zY3NzIiwiX3Byb2R1Y3RfcGFnZXMuc2NzcyIsIl9jb29raWUuc2NzcyIsIl9zZWFyY2guc2NzcyIsIl9mb3JtLnNjc3MiLCJfcHJlc3NlX25ld3NfcGFnZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCAndXRmLTgnO1xuXG4vKiBBcHAgU2V0dGluZ3MgKi9cbkBpbXBvcnQgJ3Zhcl9hbmRfZnVuY3Rpb25zLnNjc3MnO1xuQGltcG9ydCAncHJvamVjdC5zY3NzJztcblxuLypJbXBvcnRzIGbDvHIgZm91bmRhdGlvbiBzZWxic3QqL1xuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuLy8gR2xvYmFsIHN0eWxlc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuLy8gR3JpZHMgKGNob29zZSBvbmUpXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4vLyBDb250YWluZXJzXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4vLyBIZWxwZXJzXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcblxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbmlmcmFtZXtcbiAgICBoZWlnaHQ6IDEwMDBweDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5vcmctb3ZlcmxheXtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOjA7XG4gICAgYm90dG9tOjA7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogLjUpO1xuICAgIHotaW5kZXg6IDEwMDA7XG5cbiAgICBzcGFuLmNsb3NlcntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5vcmctb3ZlcmxheS1jb250ZW50LXdyYXB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgbWFyZ2luOmF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGJvdHRvbTowO1xuICAgIH1cblxuICAgIC5vcmctb3ZlcmxheS1jb250ZW50e1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG5cbiAgICAgICAgXG4gICAgfVxuXG4gICAgaWZyYW1le1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwcHg7XG4gICAgfVxufVxuXG5ib2R5LFxuaHRtbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbm1haW4ge31cblxubWFpbj5kaXYtZ3JpZC14IHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgbWF4LXdpZHRoOiAxMjMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbm1haW4gLmdyaWQteCB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi50ZXh0LWFsaWduLWNlbnRlcntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWFsaWduLXJpZ2h0e1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5cbkBpbXBvcnQgJ2ZvbnRzJztcbkBpbXBvcnQgJ2F0b21zJztcbkBpbXBvcnQgJ29yYml0JztcbkBpbXBvcnQgJ3N0YWdlcyc7XG5AaW1wb3J0ICd0ZW1wbGF0ZXNfaW1hZ2UnO1xuLy8gQGltcG9ydCAnaGVhZF92MSc7XG5AaW1wb3J0ICdoZWFkX3YyJztcbkBpbXBvcnQgJ2Zvb3Rlcic7XG5AaW1wb3J0ICdjb21iaW5hdGlvbnMnO1xuQGltcG9ydCAnZ3JhcGhpY3MnO1xuQGltcG9ydCAnc3BlY2lhbCc7XG5AaW1wb3J0ICdob3RzcG90JztcbkBpbXBvcnQgJ21lc3NlJztcbkBpbXBvcnQgJ2xvY2F0aW9ucyc7XG5AaW1wb3J0ICdwcm9kdWN0X3BhZ2VzJztcbkBpbXBvcnQgJ2Nvb2tpZSc7XG5AaW1wb3J0ICdzZWFyY2gnO1xuQGltcG9ydCAnZm9ybSc7XG5AaW1wb3J0ICdwcmVzc2VfbmV3c19wYWdlcyc7XG4vLyBAaW1wb3J0ICd4eV9leHRyYV9hcHBzX2Zvcm0nOyAvL09ubHkgQWRkIGlmIHUgbmVlZCB0byBjcmVhdGUgdGhlIGNzcyBmb3IgdGhlIGV4dHJhIGFwcCBwYWdlc1xuXG4uYXBwLWZvcm0ge1xuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTApO1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stMjA7XG4gICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICB9XG4gICAgICAgIC5wYWdlMiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICB9XG4gICAgICAgIC5wYWdlMyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICAgIH1cbiAgICAgICAgLnByZXZpb3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xuICAgICAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2Nyk7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHN5bnRlZ29uO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5leHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJldGE7XG4gICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7IFxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDY3KTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogc3ludGVnb247XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICdwcm9qZWN0LnNjc3MnO1xyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcblxyXG4kc3RkLXBhZGRpbmc6IDAuOTM3NXJlbTtcclxuXHJcbkBtaXhpbiBzdGQtYm94LW1hcmdpbntcclxuICAgIG1hcmdpbi1ib3R0b206IDUuNjI1cmVtO1xyXG59XHJcbkBtaXhpbiBzdGQtYm94LW1hcmdpbi1zbWFsbGVye1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcclxufVxyXG5AbWl4aW4gc3RkLWJveC1tYXJnaW4tc3RhZ2Vze1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVlbTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gT0xEIENPTE9SUywgZXZlbnR1YWxseSBuZXcgVmFsdWVzXHJcbiRjb2xvci1hbHBoYTogIzAwYmU4Mjs7XHJcbiRjb2xvci1iZXRhOiAjMDBiZTgyO1xyXG4kY29sb3ItZ2FtbWE6ICMwMGJlODI7XHJcblxyXG4kY29sb3ItY291bnRlcjogIzI4MzIzYztcclxuXHJcbiRjb2xvci1leHRyYS1wc2k6ICNjY2UxZWQ7XHJcbiRjb2xvci1leHRyYS1vbWVnYTogIzgwYzZlNztcclxuJGNvbG9yLWV4dHJhLWNoaTogIzdkZTNlODtcclxuXHJcbiRjb2xvci1iYWNrLTU6ICNmYWY5Zjc7XHJcbi8vICRjb2xvci1iYWNrLTEwOiAjZjJmMmYwOyBcclxuJGNvbG9yLWJhY2stMTA6ICNlZGVkZWQ7IC8vaGVhZGVyIGxpbmllLCBuZXdzIHdhbGwgcGx1cyBidXR0b25cclxuLy8gJGNvbG9yLWJhY2stMjA6ICNkZmUwZTE7XHJcbiRjb2xvci1iYWNrLTIwOiAjZjlmOWY5O1xyXG4kY29sb3ItYmFjay00MDogI2JmYzBjMjtcclxuLy8gJGNvbG9yLWJhY2stNjA6ICNhOWFmYjU7XHJcbiRjb2xvci1iYWNrLTYwOiAjN2U4NDhhOyAvL2hlYWRlciBicmVhZGNydW1iXHJcbiRjb2xvci1iYWNrLTgwOiAjNTI1ZjZiO1xyXG5cclxuJGNvbG9yLWFsZXJ0OiAjZGMzMjUwO1xyXG4kY29sb3Itb2s6ICMwMGJlODI7XHJcblxyXG4kYmxhY2stZmFpbnQ6ICMwYTBhMGE4MDtcclxuXHJcbi8vIE5FVyBDT0xPUlNcclxuJGxpZ2h0LWdyZXktMjA6ICNmOWY5Zjk7XHJcbiRsaWdodC1ncmV5LTYwOiAjZWRlZGVkO1xyXG4kbGlnaHQtZ3JleTogI2UxZTFlMTtcclxuJG5pZ2h0LWdyZXktMjA6ICNkNGQ2ZDg7XHJcbiRuaWdodC1ncmV5LTYwOiAjN2U4NDhhO1xyXG4kbmlnaHQtZ3JleTogIzI4MzIzYztcclxuXHJcblxyXG4kZGVmLXRyYW5zOiAzMzNtcyBlYXNlLWluLW91dDtcclxuXHJcbi5iZy1jb2xvci1hbHBoYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbn1cclxuXHJcbi5iZy1jb2xvci1iZXRhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG59XHJcblxyXG4uYmctY29sb3ItZ2FtbWEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdhbW1hO1xyXG59XHJcblxyXG4uYmctY29sb3ItYmFjay04MCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay04MDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxufVxyXG5cclxuLmNvbG9yLWFscGhhIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbn1cclxuXHJcbi5jb2xvci1iZXRhIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYmV0YTtcclxufVxyXG5cclxuLmNvbG9yLWdhbW1hIHtcclxuICAgIGNvbG9yOiAkY29sb3ItZ2FtbWE7XHJcbn1cclxuXHJcbi5jb2xvci1iYWNrLTgwIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYmFjay04MDtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYnV0dG9uLXRyYW5zaXRpb257XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLW91dCwgYm9yZGVyIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbkBtaXhpbiBhbGwtdHJhbnNpdGlvbntcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi14IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcclxuICAgIC8vIG1hcmdpbjogMCA2NHB4IDAgMXB4O1xyXG4gICAgbWFyZ2luOiAxM3B4IDA7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDMwIDYgMzApO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLm1haWwge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjUpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcclxuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRvd25sb2FkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY1KTtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkyNlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcclxuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi14LXRleHQtZml4IHtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYgMzAgNiAzMCk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tdHJhbnNpdGlvbigpO1xyXG5cclxuICAgICYuZG93bmxvYWQsICYubWFpbCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2NSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi1zdHlsZS0xLWFscGhhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc3R5bGUtMS1iZXRhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc3R5bGUtMS1nYW1tYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tdHJhbnNpdGlvbigpO1xyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1hbHBoYTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlLTItYWxwaGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1hbHBoYTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlLTItYmV0YSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXRyYW5zaXRpb24oKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc3R5bGUtMi1nYW1tYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXRyYW5zaXRpb24oKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc3R5bGUtMy1iZXRhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc3R5bGUtMy1nYW1tYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tdHJhbnNpdGlvbigpO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1hbHBoYTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlLTQtYWxwaGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXRyYW5zaXRpb24oKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi1zdHlsZS00LWJldGEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXRyYW5zaXRpb24oKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi1zdHlsZS00LWdhbW1hIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tc3R5bGUtNC1iYWNrLTgwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kLWdyYWRpZW50KCRzdHlsZSkge1xyXG4gICAgLy8gQGlmICRzdHlsZT09MiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJldGE7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJGNvbG9yLWJldGEgMCUsICRjb2xvci1nYW1tYSAxMDAlKTtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkY29sb3ItYmV0YSAwJSwgJGNvbG9yLWdhbW1hIDEwMCUpO1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbG9yLWJldGEgMCUsICRjb2xvci1nYW1tYSAxMDAlKTtcclxuICAgIC8vICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSckY29sb3ItYmV0YScsIGVuZENvbG9yc3RyPSckY29sb3ItZ2FtbWEnLCBHcmFkaWVudFR5cGU9MSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gQGVsc2UgaWYgJHN0eWxlPT0zIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmV0YTtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkY29sb3ItYWxwaGEgMCUsICRjb2xvci1iZXRhIDUwJSwgJGNvbG9yLWdhbW1hIDEwMCUpO1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRjb2xvci1hbHBoYSAwJSwgJGNvbG9yLWJldGEgNTAlLCAkY29sb3ItZ2FtbWEgMTAwJSk7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3ItYWxwaGEgMCUsICRjb2xvci1iZXRhIDUwJSwgJGNvbG9yLWdhbW1hIDEwMCUpO1xyXG4gICAgLy8gICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRjb2xvci1hbHBoYScsIGVuZENvbG9yc3RyPSckY29sb3ItZ2FtbWEnLCBHcmFkaWVudFR5cGU9MSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gQGVsc2Uge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQ6ICRjb2xvci1hbHBoYTtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkY29sb3ItYWxwaGEgMCUsICRjb2xvci1iZXRhIDEwMCUpO1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRjb2xvci1hbHBoYSAwJSwgJGNvbG9yLWJldGEgMTAwJSk7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3ItYWxwaGEgMCUsICRjb2xvci1iZXRhIDEwMCUpO1xyXG4gICAgLy8gICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRjb2xvci1hbHBoYScsIGVuZENvbG9yc3RyPSckY29sb3ItYmV0YScsIEdyYWRpZW50VHlwZT0xKTtcclxuICAgIC8vIH1cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxufVxyXG5cclxuQG1peGluIGJhY2tncm91bmQtZ3JhZGllbnQtdG9wKCRzdHlsZSkge1xyXG4gICAgQGlmICRzdHlsZT09MiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJldGE7XHJcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkY29sb3ItYmV0YSAwJSwgJGNvbG9yLWdhbW1hIDEwMCUpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGNvbG9yLWJldGEgMCUsICRjb2xvci1nYW1tYSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkY29sb3ItYmV0YSAwJSwgJGNvbG9yLWdhbW1hIDEwMCUpO1xyXG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRjb2xvci1iZXRhJywgZW5kQ29sb3JzdHI9JyRjb2xvci1nYW1tYScsIEdyYWRpZW50VHlwZT0wKTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiAkc3R5bGU9PTMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGNvbG9yLWFscGhhIDAlLCAkY29sb3ItYmV0YSA1MCUsICRjb2xvci1nYW1tYSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRjb2xvci1hbHBoYSAwJSwgJGNvbG9yLWJldGEgNTAlLCAkY29sb3ItZ2FtbWEgMTAwJSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbG9yLWFscGhhIDAlLCAkY29sb3ItYmV0YSA1MCUsICRjb2xvci1nYW1tYSAxMDAlKTtcclxuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSckY29sb3ItYWxwaGEnLCBlbmRDb2xvcnN0cj0nJGNvbG9yLWdhbW1hJywgR3JhZGllbnRUeXBlPTApO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkY29sb3ItYWxwaGEgMCUsICRjb2xvci1iZXRhIDEwMCUpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGNvbG9yLWFscGhhIDAlLCAkY29sb3ItYmV0YSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkY29sb3ItYWxwaGEgMCUsICRjb2xvci1iZXRhIDEwMCUpO1xyXG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyRjb2xvci1hbHBoYScsIGVuZENvbG9yc3RyPSckY29sb3ItYmV0YScsIEdyYWRpZW50VHlwZT0wKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNvbG9yLWdyYWRpZW50KCRzdHlsZSkge1xyXG4gICAgQGlmICRzdHlsZT09XCIyXCIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkY29sb3ItYmV0YSwgJGNvbG9yLWdhbW1hKTtcclxuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJHN0eWxlPT1cIjNcIiB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRjb2xvci1hbHBoYSwgJGNvbG9yLWJldGEsICRjb2xvci1nYW1tYSk7XHJcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJGNvbG9yLWFscGhhLCAkY29sb3ItYmV0YSk7XHJcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29sb3ItZ3JhZGllbnQtMSB7XHJcbiAgICBAaW5jbHVkZSBjb2xvci1ncmFkaWVudCgxKTtcclxufVxyXG5cclxuLmNvbG9yLWdyYWRpZW50LTIge1xyXG4gICAgQGluY2x1ZGUgY29sb3ItZ3JhZGllbnQoMik7XHJcbn1cclxuXHJcbi5jb2xvci1ncmFkaWVudC0zIHtcclxuICAgIEBpbmNsdWRlIGNvbG9yLWdyYWRpZW50KDMpO1xyXG59XHJcblxyXG5AbWl4aW4gaGVpZ2h0LTUyN3B4LWZ1bmN0aW9uLWZvci1vZmYtZ3JpZC1waWN0dXJlcyB7XHJcblxyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCg5MzdweCkge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC5pbWctMTYtOS1zcGVjaWFsIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUyN3B4O1xyXG4gICAgICAgICAgICB0b3A6IDI2My41cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIiLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMjgzMjNjO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBub3QgZmFsc2V5LCBpbiBDU1MgdGVybXMuIEZhbHNleSB2YWx1ZXMgYXJlIGBudWxsYCwgYG5vbmVgLCBgMGAgd2l0aCBhbnkgdW5pdCwgb3IgYW4gZW1wdHkgbGlzdC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICR2YWwgLSBWYWx1ZSB0byBjaGVjay5cbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXG5AZnVuY3Rpb24gaGFzLXZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIGEgc2hvcnRoYW5kIGZvcm1hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxOdW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdpdmVuIGJvcmRlciAkdmFsLCBmaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBvZiB0aGUgYm9yZGVyLCB3aGljaCBpcyAkZWxlbS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgJGVsZW0gYXJlIHdpZHRoLCBzdHlsZSwgYW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIC0gQm9yZGVyIGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbkBmdW5jdGlvbiBnZXQtYm9yZGVyLXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIEZpbmQgdGhlIHdpZHRoLCBzdHlsZSwgb3IgY29sb3IgYW5kIHJldHVybiBpdFxuICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAkdHlwZTogdHlwZS1vZigkdik7XG4gICAgQGlmICRlbGVtID09IHdpZHRoIGFuZCAkdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gc3R5bGUgYW5kICR0eXBlID09ICdzdHJpbmcnIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBjb2xvciBhbmQgJHR5cGUgPT0gJ2NvbG9yJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHRzXG4gICRkZWZhdWx0czogKFxuICAgIHdpZHRoOiAwLFxuICAgIHN0eWxlOiBzb2xpZCxcbiAgICBjb2xvcjogIzAwMCxcbiAgKTtcblxuICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XG59XG5cbi8vLyBGaW5kcyBhIHZhbHVlIGluIGEgbmVzdGVkIG1hcC5cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRGVwZW5kaW5nIG9uIHRoZSBmbGFnLCByZXR1cm5zIGVpdGhlciAka2V5cyBvciAkdmFsdWVzIG9yIGJvdGguXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xuICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAka2V5czogKCk7XG4gICAgJHZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgfVxuXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICBAcmV0dXJuICRrZXlzO1xuICAgIH1cbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XG4gICAgICBAcmV0dXJuICR2YWx1ZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJG1hcCkgIT0gJ2xpc3QnLCAoJHZhbHVlLCksICRtYXApO1xuXG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFVzZWQgZGlyZWN0aW9uIGJldHdlZW4gXCJ0b3BcIiwgXCJyaWdodFwiLCBcImJvdHRvbVwiIGFuZCBcImxlZnRcIi5cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBPcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1vcHBvc2l0ZShcbiAgJGRpclxuKSB7XG4gICRkaXJzOiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTtcbiAgJHBsYWNlOiBpbmRleCgkZGlycywgJGRpcik7XG5cbiAgQGlmICRwbGFjZSA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ2RpcmVjdGlvbi1vcHBvc2l0ZTogSW52YWxpZCAkZGlyIHBhcmFtZXRlciwgZXhwZWN0ZWQgYSB2YWx1ZSBmcm9tIFwiI3skZGlyc31cIiwgZm91bmQgXCIjeyRkaXJ9XCIuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIG9wcG9zaXRlIHBsYWNlIGluIGEgY2lyY2xlLCB3aXRoIGEgc3RhcnRpbmcgaW5kZXggb2YgMVxuICAkbGVuZ3RoOiBsZW5ndGgoJGRpcnMpO1xuICAkZGVtaTogJGxlbmd0aCAvIDI7XG4gICRvcHBvc2l0ZS1wbGFjZTogKCgkcGxhY2UgKyAkZGVtaSAtIDEpICUgJGxlbmd0aCkgKyAxO1xuXG4gIEByZXR1cm4gbnRoKCRkaXJzLCAkb3Bwb3NpdGUtcGxhY2UpO1xufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gR2VuZXJhdGVzIGEgc2VsZWN0b3Igd2l0aCBldmVyeSB0ZXh0IGlucHV0IHR5cGUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgdGhlIGxpc3QgdG8gb25seSBvdXRwdXQgYSBzdWJzZXQgb2YgdGhvc2Ugc2VsZWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fEtleXdvcmR9ICR0eXBlcyBbKCldIC0gQSBsaXN0IG9mIHRleHQgaW5wdXQgdHlwZXMgdG8gdXNlLiBMZWF2ZSBibGFuayB0byB1c2UgYWxsIG9mIHRoZW0uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbW9kaWZpZXIgWycnXSAtIEEgbW9kaWZpZXIgdG8gYmUgYXBwbGllZCB0byBlYWNoIHRleHQgaW5wdXQgdHlwZSAoZS5nLiBhIGNsYXNzIG9yIGEgcHNldWRvLWNsYXNzKS4gTGVhdmUgYmxhbmsgdG8gaWdub3JlLlxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCR0eXBlczogKCksICRtb2RpZmllcjogJycpIHtcbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yO1xuXG4gIEBpZiBub3QgaGFzLXZhbHVlKCR0eXBlcykge1xuICAgICR0eXBlczogJGFsbC10eXBlcztcbiAgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJ1t0eXBlPVxcJyN7JHR5cGV9XFwnXSN7JG1vZGlmaWVyfScpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJC16Zi1mb250LXN0YWNrOiAoXG4gICdnZW9yZ2lhJzogKEdlb3JnaWEsIFwiVVJXIEJvb2ttYW4gTFwiLCBzZXJpZiksXG4gICdoZWx2ZXRpY2EnOiAoSGVsdmV0aWNhLCBBcmlhbCwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYpLFxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbiAgJ21vbm9zcGFjZSc6IChcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIFwiTmltYnVzIFNhbnMgTFwiLCBtb25vc3BhY2UpLFxuICAnc3lzdGVtJzogKC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbik7XG5cbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgLSBOYW1lIG9mIHRoZSBmb250IHN0YWNrLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIGZvbnQgc3RhY2suXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xuICBAcmV0dXJuIG1hcC1zYWZlLWdldCgkbWFwLCAkc3RhY2spO1xufVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8vXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCRmdW5jdGlvbnNgIGV4aXN0IGluIGdsb2JhbCBzY29wZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdMaXN0fSAkZnVuY3Rpb25zIC0gbGlzdCBvZiBmdW5jdGlvbnMgdG8gY2hlY2sgZm9yXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfSBXaGV0aGVyIG9yIG5vdCB0aGVyZSBhcmUgbWlzc2luZyBkZXBlbmRlbmNpZXNcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCRmdW5jdGlvbnMuLi4pIHtcbiAgJG1pc3NpbmctZGVwZW5kZW5jaWVzOiAoKTtcbiAgXG4gIEBlYWNoICRmdW5jdGlvbiBpbiAkZnVuY3Rpb25zIHtcbiAgICBAaWYgbm90IGZ1bmN0aW9uLWV4aXN0cygkZnVuY3Rpb24pIHtcbiAgICAgICRtaXNzaW5nLWRlcGVuZGVuY2llczogYXBwZW5kKCRtaXNzaW5nLWRlcGVuZGVuY2llcywgJGZ1bmN0aW9uLCBjb21tYSk7XG4gICAgfVxuICB9XG4gIFxuICBAaWYgbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwIHtcbiAgICBAZXJyb3IgJ1VubWV0IGRlcGVuZGVuY2llcyEgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHJlcXVpcmVkOiAjeyRtaXNzaW5nLWRlcGVuZGVuY2llc30uJztcbiAgfVxuXG4gIEByZXR1cm4gbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwO1xufVxuIiwiLy8vXG4vLy8gUmV0dXJucyB0cnV0aGluZXNzIG9mIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNoZWNrXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtaXMtdHJ1ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUgPT0gbnVsbCwgZmFsc2UsICR2YWx1ZSBhbmQgJHZhbHVlICE9IG51bGwgYW5kICR2YWx1ZSAhPSAnJyBhbmQgJHZhbHVlICE9ICgpKTtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgd2hldGhlciBgJGxpc3RgIGNvbnRhaW5zIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLWNvbnRhaW5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byBjaGVja1xuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gdmFsdWUgdG8gbG9vayBmb3Jcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtY29udGFpbihhIGIgYywgYSlcbi8vLyAvLyB0cnVlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIHopXG4vLy8gLy8gZmFsc2Vcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIG5vdCBub3QgaW5kZXgoJGxpc3QsICR2YWx1ZSk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1jb250YWluXG4vLy8gQGFsaWFzIHNsLWNvbnRhaW5cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWluY2x1ZGUoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy8gUmVtb3ZlcyBhbGwgZmFsc2UgYW5kIG51bGwgdmFsdWVzIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1wdXJnZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIGxpc3QgdG8gcHVyZ2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcHVyZ2UobnVsbCBhIGZhbHNlIGIpXG4vLy8gLy8gYSBiXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1wdXJnZSgkbGlzdCkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtdG8tbGlzdCcpO1xuICBcbiAgJHJlc3VsdDogKCk7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBzbC1pcy10cnVlKCRpdGVtKSB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJGl0ZW0sIGxpc3Qtc2VwYXJhdG9yKCRsaXN0KSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBzbC10by1saXN0KCRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAYWxpYXMgc2wtcHVyZ2Vcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWNsZWFuKCRsaXN0KSB7XG4gIEByZXR1cm4gc2wtcHVyZ2UoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gUmVtb3ZlcyB2YWx1ZShzKSBgJHZhbHVlYCBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVtb3ZlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgICAgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAgICAgLSB2YWx1ZSB0byByZW1vdmVcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVtb3ZlKGEgYiBjLCBhKVxuLy8vIC8vIGIgY1xuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1yZXBsYWNlJyk7XG5cbiAgQHJldHVybiBzbC1yZXBsYWNlKCRsaXN0LCAkdmFsdWUsIG51bGwpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVtb3ZlXG4vLy8gQGFsaWFzIHNsLXJlbW92ZVxuLy8vXG5cbkBmdW5jdGlvbiBzbC13aXRob3V0KCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy9cbi8vLyBSZXBsYWNlcyBgJG9sZGAgYnkgYCRuZXdgIGluIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJG9sZCAgIC0gdmFsdWUgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gbmV3IHZhbHVlIGZvciAkb2xkXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIGIsIHopXG4vLy8gLy8gYSB6IGNcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgeSwgeilcbi8vLyAvLyBhIGIgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1yZXBsYWNlKCRsaXN0LCAkb2xkLCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXB1cmdlJywgJ3NsLXRvLWxpc3QnKTtcblxuICAkcnVubmluZzogdHJ1ZTtcblxuICBAd2hpbGUgJHJ1bm5pbmcge1xuICAgICRpbmRleDogaW5kZXgoJGxpc3QsICRvbGQpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgJHJ1bm5pbmc6IGZhbHNlO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICRsaXN0OiBzZXQtbnRoKCRsaXN0LCAkaW5kZXgsICR2YWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICAkbGlzdDogaWYoc2wtaXMtdHJ1ZSgkdmFsdWUpLCAkbGlzdCwgc2wtcHVyZ2UoJGxpc3QpKTtcbiAgXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBDYXN0cyBgJHZhbHVlYCBpbnRvIGEgbGlzdC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNhc3QgdG8gbGlzdFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VwYXJhdG9yIFtzcGFjZV0gLSBzZXBhcmF0b3IgdG8gdXNlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXRvLWxpc3QoYSBiIGMsIGNvbW1hKVxuLy8vIC8vIGEsIGIsIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC10by1saXN0KCR2YWx1ZSwgJHNlcGFyYXRvcjogbGlzdC1zZXBhcmF0b3IoJHZhbHVlKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICR2YWx1ZSwgJHNlcGFyYXRvcik7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy8gQGFsaWFzIHNsLXRvLWxpc3Rcbi8vL1xuXG5AZnVuY3Rpb24gc2wtbGlzdGlmeSgkdmFsdWUpIHtcbiAgQHJldHVybiBzbC10by1saXN0KCR2YWx1ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gR2xvYmFsIHNwYWNpbmcgZm9yIGZvcm0gZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ3RleHQnO1xuQGltcG9ydCAnY2hlY2tib3gnO1xuQGltcG9ydCAnbGFiZWwnO1xuQGltcG9ydCAnaGVscC10ZXh0JztcbkBpbXBvcnQgJ2lucHV0LWdyb3VwJztcbkBpbXBvcnQgJ2ZpZWxkc2V0JztcbkBpbXBvcnQgJ3NlbGVjdCc7XG5AaW1wb3J0ICdyYW5nZSc7XG5AaW1wb3J0ICdwcm9ncmVzcyc7XG5AaW1wb3J0ICdtZXRlcic7XG5AaW1wb3J0ICdlcnJvcic7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm1zIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1lcnJvcjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhcblxuICAgIC8vIENocm9tZS9TYWZhcmlcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveFxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XG5cbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCB7XG4gICAgICBvdXRwdXQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHNldHMgdGhlIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcbiAgICAmOjotbXMtZmlsbCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWV0ZXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIExlbmd0aFxuJG1ldGVyLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYW4gb3B0aW1hbCB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIGF2ZXJhZ2UgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGEgc3Vib3B0aW1hbCB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudCB7XG4gIG1ldGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRtZXRlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC8vIERpc2FibGUgYC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZWAgZnJvbSBnZXR0aW5nIHByZWZpeGVkLFxuICAgIC8vIFdlIGhhdmUgZGlzYWJsZWQgYXV0b3ByZWZpeGVyIGZpcnN0IGFuZCBhcmUganVzdCBvbmx5IHVzaW5nIFxuICAgIC8vIGAtbW96LWFwcGVhcmFuY2U6IG5vbmVgIGFzIGEgcHJlZml4IGFuZCBuZWdsZWN0aW5nIHRoZSB3ZWJraXQuXG4gICAgXG4gICAgLyohIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpL0VkZ2VcbiAgICAmOjotd2Via2l0LW1ldGVyLWJhciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1pbm5lci1lbGVtZW50IHtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1nb29kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLXN1Ym9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWV2ZW4tbGVzcy1nb29kLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1nb29kO1xuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1zdWItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWJhZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXMgKHRhZ3Mgb25seSlcbkBpbXBvcnQgJ2Jhc2UnO1xuXG4vLyBUeXBvZ3JhcGh5IGhlbHBlciBjbGFzc2VzIChjbGFzc2VzIG9ubHkpXG5AaW1wb3J0ICdoZWxwZXJzJztcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3Nlc1xuQGltcG9ydCAnYWxpZ25tZW50JztcblxuLy8gUHJpbnQgc3R5bGVzXG5AaW1wb3J0ICdwcmludCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHkge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgYSByb3cuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCBjb2x1bW4gY291bnQgb2YgYSBncmlkLiBDaGFuZ2luZyB0aGlzIHZhbHVlIGFmZmVjdHMgdGhlIGxvZ2ljIG9mIHRoZSBncmlkIG1peGlucywgYW5kIHRoZSBudW1iZXIgb2YgQ1NTIGNsYXNzZXMgb3V0cHV0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiBjb2x1bW5zIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4vLy8gQHNpbmNlIDYuMS4wXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgd2lsbCBhbGlnbiB0byB0aGUgb3Bwb3NpdGUgZWRnZSBvZiB0aGUgcm93LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgdXNlZCBmb3IgYW4gYWxpYXMgb2YgY29sdW1uICh3aXRoIEBleHRlbmQpLiBJZiBgZmFsc2VgLCBubyBhbGlhcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucycgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGlnaGVzdCBudW1iZXIgb2YgYC54LXVwYCBjbGFzc2VzIGF2YWlsYWJsZSB3aGVuIHVzaW5nIHRoZSBibG9jayBncmlkIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFsdWUgdG8gc3RvcmUgdGhlIGVuZCBjb2x1bW4gZmxvYXQgZGlyZWN0aW9uXG4kLXpmLWVuZC1mbG9hdDogaWYoJGdyaWQtY29sdW1uLWFsaWduLWVkZ2UsICRnbG9iYWwtcmlnaHQsICRnbG9iYWwtbGVmdCk7XG5cbkBpbXBvcnQgJ3Jvdyc7XG5AaW1wb3J0ICdjb2x1bW4nO1xuQGltcG9ydCAnc2l6ZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdndXR0ZXInO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuXG5AaW1wb3J0ICdmbGV4LWdyaWQnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBQb3NpdGlvblxuICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoYXV0byk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgJy4jeyRjb2x1bW59Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wLFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICB9XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLiN7JGNvbHVtbn0tI3skYmxvY2t9IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyBhbmQgaGFzLXZhbHVlKCRncmlkLWNvbHVtbi1hbGlhcykge1xuICAgIC4jeyRncmlkLWNvbHVtbi1hbGlhc30ge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIGhhdmUgcm93IHdyYXBwaW5nIGJlaGF2aW9yIHNldCB0byBub3dyYXBcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBFbmFibGVzIHRoZSBYWSBncmlkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR4eS1ncmlkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgYSBncmlkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkLlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIG1hcmdpbiBiZXR3ZWVuIGNlbGxzIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMgd2hlbiB1c2luZyB0aGUgbWFyZ2luIGdyaWQuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBwYWRkaW5nIGluIGNlbGxzIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMgd2hlbiB1c2luZyB0aGUgcGFkZGluZyBncmlkLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgcGFkZGluZyB0byB1c2Ugd2hlbiBwYWRkaW5nIHRoZSBncmlkLWNvbnRhaW5lci5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCB0byBhcHBseSB0byBhIGdyaWQgY29udGFpbmVyXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGNlbGxzIGluIGFuIFhZIGJsb2NrIGdyaWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4keHktYmxvY2stZ3JpZC1tYXg6IDggIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ2d1dHRlcnMnO1xuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdjZWxsJztcbkBpbXBvcnQgJ2ZyYW1lJztcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcbkBpbXBvcnQgJ2xheW91dCc7XG5AaW1wb3J0ICdjb2xsYXBzZSc7XG5AaW1wb3J0ICdjbGFzc2VzJztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xuXG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciBmb3IgdGhlIGdpdmVuIGJyZWFrcG9pbnQvdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXG4gIEBpZiAoJGJwLWlzLWZhbGxiYWNrID09IHRydWUgYW5kICRndXR0ZXIgPT0gbnVsbCkge1xuICAgICRndXR0ZXI6IDA7XG4gIH1cblxuICBAaWYoJGd1dHRlciAhPSBudWxsKSB7XG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gU2VlIGAtemYtYnJlYWtwb2ludC12YWx1ZSgpYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci1tYXJnaW4gPT0gMCwgI3t4eS1jZWxsLXNpemUoJG4pfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyLW1hcmdpbn0pKTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZVxuLy8vL1xuXG4vLyBSZWxhdGlvbmFsIE1peGluc1xuQGltcG9ydCAncmVsYXRpb24nO1xuXG4vLyBCb3ggTWl4aW5cbkBpbXBvcnQgJ2JveCc7XG5cbi8vIFJvdGF0ZSBNaXhpblxuQGltcG9ydCAncm90YXRlJztcblxuLy8gVGV4dCB1dGlsaXRpZXNcbkBpbXBvcnQgJ3RleHQtdXRpbGl0aWVzJztcblxuLy8gVGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LXRyYW5zZm9ybWF0aW9uJztcblxuLy8gVGV4dCBEZWNvcmF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtZGVjb3JhdGlvbic7XG5cbi8vIEZvbnQgU3R5bGluZ1xuQGltcG9ydCAnZm9udC1zdHlsaW5nJztcblxuLy8gTGlzdCBTdHlsZSB0eXBlXG5AaW1wb3J0ICdsaXN0LXN0eWxlLXR5cGUnO1xuXG4vLyBSb3VuZGVkIFV0aWxpdHlcbkBpbXBvcnQgJ3JvdW5kZWQnO1xuXG4vLyBCb3JkZXJlZCBVdGlsaXR5XG5AaW1wb3J0ICdib3JkZXJlZCc7XG5cbi8vIFNoYWRvdyBVdGlsaXR5XG5AaW1wb3J0ICdzaGFkb3cnO1xuXG4vLyBBcnJvdyBVdGlsaXR5XG5AaW1wb3J0ICdhcnJvdyc7XG5cbi8vIFNlcGFyYXRvciBVdGlsaXR5XG5AaW1wb3J0ICdzZXBhcmF0b3InO1xuXG4vLyBPdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuQGltcG9ydCAnb3ZlcmZsb3cnO1xuXG4vLyBEaXNwbGF5IGNsYXNzZXNcbkBpbXBvcnQgJ2Rpc3BsYXknO1xuXG4vLyBQb3NpdGlvbiBIZWxwZXJzXG5AaW1wb3J0ICdwb3NpdGlvbic7XG5cbi8vIEJvcmRlciBib3hcbkBpbXBvcnQgJ2JvcmRlci1ib3gnO1xuXG4vLyBCb3JkZXIgbm9uZSBVdGlsdHlcbkBpbXBvcnQgJ2JvcmRlci1ub25lJztcblxuLy8gU2l6aW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc2l6aW5nJztcblxuLy8gU3BhY2luZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmc7XG59XG4iLCIvLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmaXJzdCgkbnVtKSB7XG4gIEBpZiAkbnVtID09IDEge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBmaXJzdCBleGFjdCBjaGlsZFxuQG1peGluIGZpcnN0LWNoaWxkIHtcbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBsYXN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgbGFzdCBleGFjdCBjaGlsZFxuQG1peGluIGxhc3QtY2hpbGQge1xuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBjaGlsZHJlbiBldmVyeSBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIG9mIGFsbCBjaGlsZHJlblxuQG1peGluIGV2ZXJ5KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IG9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGNoaWxkLlxuQG1peGluIGZpcnN0LWxhc3Qge1xuICAmOmZpcnN0LWNoaWxkLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGFmdGVyIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBBZnRlciBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBhZnRlci1maXJzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW0gKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJlZm9yZSBgJG51bWAgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZyb20gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmcm9tLWxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgZmlyc3QgYW5kIHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgY2FsbGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgXG5AbWl4aW4gZnJvbS1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfSksXG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJ1dCBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gYWxsIG90aGVyIGNoaWxkcmVuIFxuQG1peGluIGFsbC1idXQoJG51bSkge1xuICAmOm5vdCg6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiB0aGUgYCRudW1gIGZpcnN0IGFuZCB0aGUgYCRudW1gIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGV4Y2x1ZGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW5cbkBtaXhpbiBhbGwtYnV0LWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtfSk6bnRoLWxhc3QtY2hpbGQobiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCB0aGUgY2hpbGQgaWYgaXQncyB1bmlxdWUuIFRoYXQgbWVhbnMgdGhhdCBpZiB0aGVyZSBhcmUgYXQgbGVhc3QgMiBjaGlsZHJlbiwgdGhlIHN0eWxlIHdpbGwgbm90IGJlIGFwcGxpZWQuXG5AbWl4aW4gdW5pcXVlIHtcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCBjaGlsZHJlbiBpZiB0aGV5IGFyZSBub3QgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIGJlIGFwcGxpZWQuXG5AbWl4aW4gbm90LXVuaXF1ZSgpIHtcbiAgJjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGV2ZW4gY2hpbGRyZW4uXG5AbWl4aW4gZXZlbiB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBudGhgIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG50aGAgbnVtYmVyXG5AbWl4aW4gZXZlbi1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoZXZlbik6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgb2RkIGNoaWxkcmVuLlxuQG1peGluIG9kZCB7XG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIG9kZC1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQob2RkKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBgJG51bWAgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG5gIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG5gIG51bWJlclxuQG1peGluIG51bWJlci1iZXR3ZWVuKCRudW0sICRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm94XG4vLy8vXG5cbi8vLyBCb3ggTWl4aW46IEVhc2lseSBjcmVhdGUgYSBzcXVhcmUsIHJlY3RhbmdsZSBvciBhIGNpcmNsZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGhbXSBXaWR0aCBvZiB0aGUgYm94XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRbJHdpZHRoXSBIZWlnaHQgb2YgdGhlIGJveCwgZGVmYXVsdHMgdG8gYCR3aWR0aGAgdG8gZWFzaWx5IG1ha2UgYSBzcXVhcmVcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjaXJjbGVbZmFsc2VdIE1ha2VzIHRoZSBib3ggYSBjaXJjbGUsIGJ5IGRlZmF1bHQgYGZhbHNlYC5cbkBtaXhpbiBib3goXG4gICR3aWR0aCwgXG4gICRoZWlnaHQ6ICR3aWR0aCwgXG4gICRjaXJjbGU6IGZhbHNlXG4pIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBAaWYgJGNpcmNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1yb3RhdGVcbi8vLy9cblxuLy8vIFJvdGF0ZSBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZ1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZSgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVggTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWC1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVYKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVgoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVZIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFktQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWSgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVZKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWiBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBaLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVooJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWigkZGVnICsgZGVnKTtcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC11dGlsaXRpZXNcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdXRpbGl0aWVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFkZWZhdWx0O1xuXG4vLy8gSW1hZ2UgUmVwbGFjZW1lbnQgdXRpbGl0eS4gYHRleHQtaGlkZWBcbkBtaXhpbiB0ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBUcnVuY2F0aW5nIHRoZSB0ZXh0LCBlbGlwc2lzIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XSBUZXh0IFRydW5jYXRlXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcbiAgJG92ZXJmbG93OiAkcHJvdG90eXBlLXRleHQtb3ZlcmZsb3dcbikge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiAkb3ZlcmZsb3c7IFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxuQG1peGluIHRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gV3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LXdyYXBgXG5AbWl4aW4gdGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcyB7XG4gIC50ZXh0LWhpZGUge1xuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgfVxuXG4gIC50ZXh0LXRydW5jYXRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICB9XG5cbiAgLnRleHQtbm93cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LWhpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtbm93cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC10cmFuc2Zvcm1hdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBUcmFuc2Zvcm1hdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHJhbnNmb3JtYXRpb24gW10gVGV4dCBUcmFuc2Zvcm1hdGlvblxuQG1peGluIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbikge1xuICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybWF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgLnRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgXHRAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHRyYW5zZm9ybWF0aW9uIGluICRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gIFx0XHRcdCAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XG4gIFx0XHRcdCAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IGRlY29yYXRpb24gY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LWRlY29yYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IERlY29yYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVjb3JhdGlvbiBbXSBUZXh0IERlY29yYXRpb25cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgIC50ZXh0LSN7JGRlY29yYXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGRlY29yYXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBMZXR0ZXIgc3BhY2luZyBmb3IgYC5mb250LXdpZGVgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ub3JtYWxgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2lkZSBsZXR0ZXIgc3BhY2luZyFcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxldHRlci1zcGFjaW5nIFskcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmddIFdpZGUgbGV0dGVyIHNwYWNpbmcgZm9yIHRoZSBmb250XG5AbWl4aW4gZm9udC13aWRlKFxuICAkbGV0dGVyLXNwYWNpbmc6ICRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ1xuKSB7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtbm9ybWFsXSBXZWlnaHQgb2YgdGhlIGZvbnQgKG5vcm1hbClcbkBtaXhpbiBmb250LW5vcm1hbChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBXZWlnaHQgQm9sZCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxuQG1peGluIGZvbnQtYm9sZChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LWJvbGRcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgU3R5bGUgSXRhbGljXG5AbWl4aW4gZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XG4gIC5mb250LXdpZGV7XG4gICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICB9XG5cbiAgLmZvbnQtbm9ybWFsIHtcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgfVxuXG4gIC5mb250LWJvbGQge1xuICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgfVxuXG4gIC5mb250LWl0YWxpYyB7XG4gICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZm9udC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtd2lkZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ub3JtYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtaXRhbGljIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgbGlzdCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtdW5vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS1vcmRlcmVkYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pICFkZWZhdWx0O1xuXG5cbi8vLyBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLXVub3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS11bm9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuLy8vIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS1vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHNcbkBtaXhpbiBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLW9yZGVyZWQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGxpc3QtdW5vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgIHVsLmxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIHVsLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS11bm9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxpc3Qtb3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgIG9sLmxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgb2wuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlIHtcbiAgQGluY2x1ZGUgbGlzdC11bm9yZGVyZWQ7XG4gIEBpbmNsdWRlIGxpc3Qtb3JkZXJlZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1yb3VuZGVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciByb3VuZGVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXJhZGl1c2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vLyBSb3VuZGVkIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogQWRkcyByYWRpdXMgY29ybmVycyAoYWxsIGNvcm5lcnMpIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGl1cyBbJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXSBCb3JkZXIgcmFkaXVzIChhbGwgY29ybmVycylcbkBtaXhpbiBib3JkZXItcmFkaXVzKFxuICAkcmFkaXVzOiAkcHJvdG90eXBlLWJvcmRlci1yYWRpdXNcbikge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vLy8gUm91bmRlZCBzcXVhcmUgdXRpbGl0eSBvciByZWN0YW5nbGUgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBSb3VuZHMgYWxsIGNvcm5lcnMgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0IHRvIG1ha2UgYSBwaWxsIHNoYXBlLlxuQG1peGluIGJvcmRlci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkIHtcbiAgLnJvdW5kZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBGb3Igc3dpdGNoZXNcbiAgICB9XG4gIH1cblxuICAucmFkaXVzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaGFkb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNoYWRvdyB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm94LXNoYWRvd2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpICFkZWZhdWx0O1xuXG4vLy8gU2hhZG93IFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3ggc2hhZG93IHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNoYWRvdyBbJHByb3RvdHlwZS1ib3gtc2hhZG93XSBCb3ggU2hhZG93IG9mIGEgY29tcG9uZW50XG5AbWl4aW4gc2hhZG93KFxuICAkc2hhZG93OiAkcHJvdG90eXBlLWJveC1zaGFkb3dcbikge1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcbiAgLnNoYWRvdyB7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNoYWRvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaGFkb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYXJyb3dcbi8vLy9cblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGFycm93YCBkaXJlY3Rpb25cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiB0aGUgQXJyb3csIGAwLjQzNzVyZW1gIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcblxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3cge1xuICBAZWFjaCAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbiBpbiAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnMge1xuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctc2l6ZSwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvblxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLW92ZXJmbG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBvdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgb3ZlcmZsb3dgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3Nlc1xuQG1peGluIG92ZXJmbG93KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdzogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIGhvcml6b250YWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKGhvcml6b250YWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy14KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy14OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gdmVydGljYWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKHZlcnRpY2FsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteSgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteTogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdyB7XG4gIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAub3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1kaXNwbGF5XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBkaXNwbGF5IGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgZGlzcGxheWAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEaXNwbGF5IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtZGlzcGxheWBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW10gRGlzcGxheSBjbGFzc2VzXG5AbWl4aW4gZGlzcGxheSgkZGlzcGxheSkge1xuICBkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheSB7XG4gIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgLmRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItYm94XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgYm94LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYm94IHV0aWxpdHlcbkBtaXhpbiBib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveCB7XG4gIC5ib3JkZXItYm94IHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLW5vbmVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBub25lLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIG5vbmUgdXRpbGl0eVxuQG1peGluIGJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZSB7XG4gIC5ib3JkZXItbm9uZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXItbm9uZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBudW1iZXIgb2Ygc3BhY2VycyBjb3VudCAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtbWFyZ2luYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIE1hcmdpbiBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIE1hcmdpbiBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcbkBtaXhpbiBtYXJnaW4oXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkdG9wICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIG1hcmdpbi1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1tYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gUGFkZGluZyBUb3Bcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFBhZGRpbmcgUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBQYWRkaW5nIExlZnRcbkBtaXhpbiBwYWRkaW5nKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTWFyZ2luIGNsYXNzZXMgZm9yIHNwZWNpZmljIGRpcmVjdGlvbiBwcm9wZXJ0aWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXIgW10gRGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjZXIgW10gU3BhY2VyXG5AbWl4aW4gbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gYm90dG9tKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkcmlnaHQ6ICRzcGFjZXIsICRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gdmVydGljYWwpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG4vLy8gUGFkZGluZyBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpIHtcbiAgQGlmICgkZGlyID09IHRvcCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSByaWdodCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBsZWZ0KSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBob3Jpem9udGFsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogJHNwYWNlciwgJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nIHtcbiAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgXG4gICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xuICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAuI3skcHJvcH0tI3skc3BhY2VyfSB7XG4gICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luOyBcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyICogJGdsb2JhbC1wYWRkaW5nOyBcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgIC4jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XG4gICAgICAgICAgICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luOyBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyICogJGdsb2JhbC1wYWRkaW5nOyBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAgICAgICAgICAgJi0jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBNb3Rpb24gVUkgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbS9tb3Rpb24tdWlcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5cbkBpbXBvcnQgJ3V0aWwvYW5pbWF0aW9uJztcbkBpbXBvcnQgJ3V0aWwvYXJncyc7XG5AaW1wb3J0ICd1dGlsL2tleWZyYW1lJztcbkBpbXBvcnQgJ3V0aWwvc2VsZWN0b3InO1xuQGltcG9ydCAndXRpbC9zZXJpZXMnO1xuQGltcG9ydCAndXRpbC90cmFuc2l0aW9uJztcbkBpbXBvcnQgJ3V0aWwvdW5pdCc7XG5cbkBpbXBvcnQgJ2VmZmVjdHMvZmFkZSc7XG5AaW1wb3J0ICdlZmZlY3RzL2hpbmdlJztcbkBpbXBvcnQgJ2VmZmVjdHMvc3Bpbic7XG5AaW1wb3J0ICdlZmZlY3RzL3pvb20nO1xuQGltcG9ydCAnZWZmZWN0cy9zaGFrZSc7XG5AaW1wb3J0ICdlZmZlY3RzL3NsaWRlJztcbkBpbXBvcnQgJ2VmZmVjdHMvd2lnZ2xlJztcblxuQGltcG9ydCAndHJhbnNpdGlvbnMvZmFkZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy9oaW5nZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy96b29tJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NsaWRlJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NwaW4nO1xuXG5AaW1wb3J0ICdjbGFzc2VzJztcbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi8vLyBQcm9jZXNzZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgZnVuY3Rpb24gYXJndW1lbnRzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJGFyZ3MpID09IDEge1xuICAgICRhcmc6IG50aCgkYXJncywgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigkYXJnKSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuIGNhbGwoJGFyZyk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRhcmcpID09ICdtYXAnIHtcbiAgICAgIEByZXR1cm4gJGFyZztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkYXJncy4uLik7XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQnVpbGRzIGEgc2VsZWN0b3IgZm9yIGEgbW90aW9uIGNsYXNzLCB1c2luZyB0aGUgc2V0dGluZ3MgZGVmaW5lZCBpbiB0aGUgYCRtb3Rpb24tdWktY2xhc3Nlc2AgYW5kIGAkbW90aW9uLXVpLXN0YXRlc2AgbWFwcy5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkc3RhdGVzIC0gT25lIG9yIG1vcmUgc3RyaW5ncyB0aGF0IGNvcnJlbGF0ZSB0byBhIHN0YXRlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFjdGl2ZSAtIERlZmluZXMgaWYgdGhlIHNlbGVjdG9yIGlzIGZvciB0aGUgc2V0dXAgb3IgYWN0aXZlIGNsYXNzLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZWxlY3RvciB0aGF0IGNhbiBiZSBpbnRlcnBvbGF0ZWQgaW50byB5b3VyIFNhc3MgY29kZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWJ1aWxkLXNlbGVjdG9yKCRzdGF0ZXMsICRhY3RpdmU6IGZhbHNlKSB7XG4gICRyZXR1cm46ICcnO1xuICAkY2hhaW46IG1hcC1nZXQoJG1vdGlvbi11aS1jbGFzc2VzLCBjaGFpbik7XG4gICRwcmVmaXg6IG1hcC1nZXQoJG1vdGlvbi11aS1jbGFzc2VzLCBwcmVmaXgpO1xuICAkc3VmZml4OiBtYXAtZ2V0KCRtb3Rpb24tdWktY2xhc3NlcywgYWN0aXZlKTtcblxuICBAZWFjaCAkc2VsIGluICRzdGF0ZXMge1xuICAgICRyZXR1cm46ICRyZXR1cm4gKyBpZigkY2hhaW4sICcmLicsICcjeyZ9LScpICsgJHByZWZpeCArICRzZWw7XG5cbiAgICBAaWYgJGFjdGl2ZSB7XG4gICAgICAkcmV0dXJuOiAkcmV0dXJuICsgaWYoJGNoYWluLCAnLicsICcjeyZ9LScpICsgJHByZWZpeCArICRzZWwgKyAkc3VmZml4O1xuICAgIH1cblxuICAgICRyZXR1cm46ICRyZXR1cm4gKyAnLCAnO1xuICB9XG5cbiAgQHJldHVybiBzdHItc2xpY2UoJHJldHVybiwgMSwgLTMpO1xufVxuIiwiJC1tdWktcXVldWU6ICgpO1xuXG4vLy8gUGF1c2VzIHRoZSBhbmltYXRpb24gb24gYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgdGhlbiBwbGF5cyBpdCB3aGVuIGFuIGFjdGl2ZSBjbGFzcyBpcyBhZGRlZCB0byBhIHBhcmVudC4gQWxzbyBzZXRzIHRoZSBmaWxsIG1vZGUgb2YgdGhlIGFuaW1hdGlvbiB0byBgYm90aGAuIFRoaXMgcGF1c2VzIHRoZSBlbGVtZW50IGF0IHRoZSBmaXJzdCBmcmFtZSBvZiB0aGUgYW5pbWF0aW9uLCBhbmQgaG9sZHMgaXQgaW4gcGxhY2UgYXQgdGhlIGVuZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbiVhbmltYXRlZC1lbGVtZW50IHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblxuICAuI3ttYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGFjdGl2YXRlLXF1ZXVlLWNsYXNzKX0gJiB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBuZXcgYW5pbWF0aW9uIHF1ZXVlLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbMHNdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gcGxhY2UgYXQgdGhlIGZyb250IG9mIHRoZSBhbmltYXRpb24gcXVldWUuXG5AbWl4aW4gbXVpLXNlcmllcygkZGVsYXk6IDBzKSB7XG4gICQtbXVpLXF1ZXVlOiAoKSAhZ2xvYmFsO1xuXG4gIEBpZiAkZGVsYXkgPiAwIHtcbiAgICAkaXRlbTogKCRkZWxheSwgMHMpO1xuICAgICQtbXVpLXF1ZXVlOiBhcHBlbmQoJC1tdWktcXVldWUsICRpdGVtKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vLyBBZGRzIGFuIGFuaW1hdGlvbiB0byBhbiBhbmltYXRpb24gcXVldWUuIE9ubHkgdXNlIHRoaXMgbWl4aW4gaW5zaWRlIG9mIGBtdWktc2VyaWVzKClgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbMXNdIC0gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGdhcCBbMHNdIC0gQW1vdW50IG9mIHRpbWUgdG8gcGF1c2UgYmVmb3JlIHBsYXlpbmcgdGhlIGFuaW1hdGlvbiBhZnRlciB0aGlzIG9uZS4gVXNlIGEgbmVnYXRpdmUgdmFsdWUgdG8gbWFrZSB0aGUgbmV4dCBlZmZlY3Qgb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IG9uZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAka2V5ZnJhbWVzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktcXVldWUoXG4gICRkdXJhdGlvbjogMXMsXG4gICRnYXA6IDBzLFxuICAka2V5ZnJhbWVzLi4uXG4pIHtcbiAgLy8gQnVpbGQgdGhlIGFuaW1hdGlvblxuICAka2Y6IC1tdWktcHJvY2Vzcy1hcmdzKCRrZXlmcmFtZXMuLi4pO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGVsYXkgZm9yIHRoaXMgYW5pbWF0aW9uIGJhc2VkIG9uIGhvdyBsb25nIHRoZSBwcmV2aW91cyBvbmVzIHRha2VcbiAgJGFjdHVhbC1kZWxheTogMHM7XG4gIEBlYWNoICRhbmltIGluICQtbXVpLXF1ZXVlIHtcbiAgICAkYWN0dWFsLWRlbGF5OiAkYWN0dWFsLWRlbGF5ICsgbnRoKCRhbmltLCAxKSArIG50aCgkYW5pbSwgMik7XG4gIH1cblxuICAvLyBBcHBlbmQgdGhpcyBhbmltYXRpb24ncyBsZW5ndGggYW5kIGdhcCB0byB0aGUgZW5kIG9mIHRoZSBxdWV1ZVxuICAkaXRlbTogKCRkdXJhdGlvbiwgJGdhcCk7XG4gICQtbXVpLXF1ZXVlOiBhcHBlbmQoJC1tdWktcXVldWUsICRpdGVtKSAhZ2xvYmFsO1xuXG4gIC8vIENTUyBvdXRwdXRcbiAgQGV4dGVuZCAlYW5pbWF0ZWQtZWxlbWVudDtcbiAgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbigka2YpO1xuICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYWN0dWFsLWRlbGF5O1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgYXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIGZhZGUoXG4gICRmcm9tOiAwLFxuICAkdG86IDFcbikge1xuICAkdHlwZTogdHlwZS1vZigkZnJvbSk7XG4gICRrZXlmcmFtZXM6ICgpO1xuXG4gIEBpZiAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmICRmcm9tID09IGluIHtcbiAgICAgICRmcm9tOiAwO1xuICAgICAgJHRvOiAxO1xuICAgIH0gQGVsc2UgaWYgJGZyb20gPT0gb3V0IHtcbiAgICAgICRmcm9tOiAxO1xuICAgICAgJHRvOiAwO1xuICAgIH1cbiAgfVxuXG4gICRmcm9tTmFtZTogJGZyb20gKiAxMDA7XG4gICR0b05hbWU6ICAgJHRvICAgKiAxMDA7XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdmYWRlLSN7JGZyb21OYW1lfS10by0jeyR0b05hbWV9JyxcbiAgICAwOiAob3BhY2l0eTogJGZyb20pLFxuICAgIDEwMDogKG9wYWNpdHk6ICR0byksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMzYwZGVnXSAtIEFtb3VudCB0byBzcGluLiBDYW4gYmUgYW55IENTUyBhbmdsZSB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMXR1cm5cbikge1xuICAkc3RhcnQ6IDA7XG4gICRlbmQ6IDA7XG5cbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBpZigkZGlyZWN0aW9uID09IGNjdywgJGFtb3VudCwgJGFtb3VudCAqIC0xKTtcbiAgICAkZW5kOiAwO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IDA7XG4gICAgJGVuZDogaWYoJGRpcmVjdGlvbiA9PSBjY3csICRhbW91bnQgKiAtMSwgJGFtb3VudCk7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NwaW4tI3skZGlyZWN0aW9ufS0jeyRhbW91bnR9JyxcbiAgICAwOiAodHJhbnNmb3JtOiByb3RhdGUoJHN0YXJ0KSksXG4gICAgMTAwOiAodHJhbnNmb3JtOiByb3RhdGUoJGVuZCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuQGZ1bmN0aW9uIHpvb20oXG4gICRmcm9tOiAwLFxuICAkdG86IDFcbikge1xuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NjYWxlLSN7JHRvfS10by0jeyRmcm9tfScsXG4gICAgMDogKHRyYW5zZm9ybTogc2NhbGUoJGZyb20pKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06IHNjYWxlKCR0bykpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2hha2luZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkaW50ZW5zaXR5IFs3JV0gLSBJbnRlbnNpdHkgb2YgdGhlIHNoYWtlLCBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIHNoYWtlKCRpbnRlbnNpdHk6IDclKSB7XG4gICRyaWdodDogKDAsIDEwLCAyMCwgMzAsIDQwLCA1MCwgNjAsIDcwLCA4MCwgOTApO1xuICAkbGVmdDogKDUsIDE1LCAyNSwgMzUsIDQ1LCA1NSwgNjUsIDc1LCA4NSwgOTUpO1xuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnc2hha2UtI3soJGludGVuc2l0eSAvIDElKX0nLFxuICAgICRyaWdodDogKHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkaW50ZW5zaXR5KSksXG4gICAgJGxlZnQ6ICh0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRpbnRlbnNpdHkpKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBXaGV0aGVyIHRvIG1vdmUgdG8gKGBpbmApIG9yIGZyb20gKGBvdXRgKSB0aGUgZWxlbWVudCdzIGRlZmF1bHQgcG9zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFt1cF0gLSBEaXJlY3Rpb24gdG8gbW92ZS4gQ2FuIGJlIGB1cGAsIGBkb3duYCwgYGxlZnRgLCBvciBgcmlnaHRgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFsxMDAlXSAtIERpc3RhbmNlIHRvIG1vdmUuIENhbiBiZSBhbnkgQ1NTIGxlbmd0aCB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzbGlkZShcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogdXAsXG4gICRhbW91bnQ6IDEwMCVcbikge1xuICAkZnJvbTogJGFtb3VudDtcbiAgJHRvOiAwO1xuICAkZnVuYzogJ3RyYW5zbGF0ZVknO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQgb3IgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgJGZ1bmM6ICd0cmFuc2xhdGVYJztcbiAgfVxuXG4gIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAkZnJvbTogMDtcbiAgICAkdG86ICRhbW91bnQ7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIG9yICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICAgJGZyb206IC0kZnJvbTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAgICR0bzogLSR0bztcbiAgICB9XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NsaWRlLSN7JHN0YXRlfS0jeyRkaXJlY3Rpb259LSN7c3RyaXAtdW5pdCgkYW1vdW50KX0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyRmcm9tfSknKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyR0b30pJyksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSB3aWdnbGluZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRpbnRlbnNpdHkgWzdkZWddIC0gSW50ZW5zaXR5IG9mIHRoZSB3aWdnbGUuIENhbiBiZSBhbnkgQ1NTIGFuZ2xlIHVuaXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIHdpZ2dsZSgkaW50ZW5zaXR5OiA3ZGVnKSB7XG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnd2lnZ2xlLSN7JGludGVuc2l0eX0nLFxuICAgICg0MCwgNTAsIDYwKTogKHRyYW5zZm9ybTogcm90YXRlKCRpbnRlbnNpdHkpKSxcbiAgICAoMzUsIDQ1LCA1NSwgNjUpOiAodHJhbnNmb3JtOiByb3RhdGUoLSRpbnRlbnNpdHkpKSxcbiAgICAoMCwgMzAsIDcwLCAxMDApOiAodHJhbnNmb3JtOiByb3RhdGUoMCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwic3ludGVnb25zYW5zXCI7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgc3JjOiB1cmwoLi4vZm9udHMvU3ludGVnb24tQm9sZC53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCguLi9mb250cy9TeW50ZWdvbi1Cb2xkLndvZmYpIGZvcm1hdChcIndvZmZcIik7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwic3ludGVnb25zYW5zXCI7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgc3JjOiB1cmwoLi4vZm9udHMvU3ludGVnb24tTWVkaXVtLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL1N5bnRlZ29uLU1lZGl1bS53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcInN5bnRlZ29uc2Fuc1wiO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHNyYzogdXJsKC4uL2ZvbnRzL1N5bnRlZ29uLVJlZ3VsYXIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvU3ludGVnb24tUmVndWxhci53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgc3JjOlxyXG4gICAgICAgIHVybCgnLi4vZm9udHMvc3ludGVnb24udHRmP24yaDM0ZycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICB1cmwoJy4uL2ZvbnRzL3N5bnRlZ29uLndvZmY/bjJoMzRnJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgdXJsKCcuLi9mb250cy9zeW50ZWdvbi5zdmc/bjJoMzRnI3N5bnRlZ29uJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn0iLCJkaXYsXHJcbmRsLFxyXG5kdCxcclxuZGQsXHJcbnVsLFxyXG5vbCxcclxubGksXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYsXHJcbnByZSxcclxuZm9ybSxcclxucCxcclxuYmxvY2txdW90ZSxcclxudGgsXHJcbnRkIHtcclxuXHRmb250LWZhbWlseTogXCJzeW50ZWdvbnNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi8vICMjIyMjIyMjIyMjIyMjIyMgSDEtSDUtVEFHUyAjIyMjIyMjIyMjIyMjIyMjI1xyXG5AbWl4aW4gaDEge1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoNTUpO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0Nyk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcclxuXHR9XHJcbn1cclxuXHJcbmgxIHtcclxuXHRAaW5jbHVkZSBoMSgpO1xyXG59XHJcblxyXG5oMiB7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYyg0MCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ3KTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gaDMge1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuXHR9XHJcbn1cclxuXHJcbmgzIHtcclxuXHRAaW5jbHVkZSBoMygpO1xyXG59XHJcblxyXG5AbWl4aW4gaDQge1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcclxuXHR9XHJcbn1cclxuXHJcbmg0IHtcclxuXHRAaW5jbHVkZSBoNCgpO1xyXG59XHJcblxyXG5oNSB7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTcpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XHJcblx0fVxyXG59XHJcblxyXG4vLyAjIyMjIyMjIyMjIyMgUC1UQUcgIyMjIyMjIyMjIyMjIyMjIyNcclxuQG1peGluIHAge1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzOCk7XHJcblx0Ly8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjQpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcblx0fVxyXG59XHJcblxyXG5wIHtcclxuXHRAaW5jbHVkZSBwKCk7XHJcbn1cclxuXHJcbnAubWluaSB7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XHJcbn1cclxuXHJcbnAuaW50cm8tdGV4dCB7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDY0KTtcclxuXHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgYXtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmV0YTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAkY29sb3ItYmV0YTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmlnaHQtZ3JleTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgJG5pZ2h0LWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5wLmhpZ2hsaWdodC10ZXh0IHtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDUpO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xyXG5cdEBpbmNsdWRlIGNvbG9yLWdyYWRpZW50KDMpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gcC1odWdlIHtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDkwKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoOTUpO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3MCk7XHJcblx0fVxyXG59XHJcblxyXG5wLnBvc3RmYWN0LXRleHQge1xyXG5cdEBpbmNsdWRlIHAtaHVnZSgpO1xyXG5cdGNvbG9yOiAkY29sb3ItYmV0YTtcclxufVxyXG5cclxucC5maWd1cmUtdGV4dCB7XHJcblx0QGluY2x1ZGUgcC1odWdlKCk7XHJcblx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDU0KTtcclxufVxyXG5cclxudWwge1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xyXG5cclxuXHRsaSB7XHJcblx0XHRAaW5jbHVkZSBwKCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNik7XHJcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xyXG5cdH1cclxufVxyXG5cclxuLmNrZV9lZGl0YWJsZV90aGVtZWQsIC50ZXh0e1xyXG4gICAgdWwgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIFxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygtNTApO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdhbW1hO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bC5hbHQtbGlzdC1zdHlsZSBsaSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTM2XCI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTUwKTtcclxuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gXHJcblxyXG5cclxuXHJcbi8vIC5saXN0LXN0eWxlLWFsdCB7XHJcbi8vIGxpIHt9XHJcbi8vIH1cclxuXHJcbm9sIHtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0bGkge1xyXG5cdFx0QGluY2x1ZGUgcCgpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjYpO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUwKTtcclxuXHR9XHJcblxyXG5cdCYub2wtcmVzdHlsZWQge1xyXG5cdFx0bGkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHRzcGFuLm9yZGVyZWQtbGlzdC1udW1iZXIge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRsZWZ0OiAtNTBweDtcclxuXHRcdFx0XHR0b3A6IDBweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdhbW1hO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGV4dCBvbCB7XHJcblx0Y291bnRlci1yZXNldDogb3JkZXJlZC1saXN0LWNvdW50ZXI7XHJcblxyXG5cdGxpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWQtbGlzdC1jb3VudGVyO1xyXG5cdFx0XHRjb250ZW50OiBjb3VudGVyKG9yZGVyZWQtbGlzdC1jb3VudGVyKTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiByZW0tY2FsYygtNTApO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdhbW1hO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuaHIge1xyXG5cdGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDUpIHNvbGlkICRjb2xvci1iYWNrLTEwO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcxKTtcclxuXHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdC8vICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE3MCk7XHJcblx0Ly8gICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTE3MCk7XHJcblx0Ly8gfVxyXG59XHJcblxyXG5ibG9ja3F1b3RlIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IG5vbmU7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDU4KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWF4LXdpZHRoOiByZW0tY2FsYyg1NzApO1xyXG5cdG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDY0KTtcclxuXHJcblx0cC5oaWdobGlnaHQtdGV4dCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzOSk7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHRwLmJsb2NrcXVvdGUtcGVyc29uIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHR9XHJcblxyXG5cdHAuYmxvY2txdW90ZS1idXR0b24ge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogXCJcXGU5MDlcIjtcclxuXHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiByZW0tY2FsYygtMTUpO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR3aWR0aDogcmVtLWNhbGMoNTApO1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygzOCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XHJcbiAgICAgICAgY29sb3I6ICM3ZTg0OGE7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdFx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlLTMtYmV0YTtcclxuXHR9XHJcbn1cclxuXHJcbi5oZXJvc3RydWN0IHtcclxuXHRwYWRkaW5nLXRvcDogMjVweDtcclxuXHQuaWNvbi1ib3gge1xyXG5cdFx0d2lkdGg6IDE2NHB4O1xyXG5cdFx0aGVpZ2h0OiAxNjRweDtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG8gMjVweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmFjay02MDtcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItYWxwaGE7XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0Ly8gbGVmdDogNDJweDtcclxuXHRcdFx0bGVmdDogMjdweDtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTA1cHg7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LWRyb3A6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkwMFwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbi1ib3gtZ2VhcjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTAxXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pY29uLWJveC1wYWNrYWdlOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjVcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LWRvd25sb2FkOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjZcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LWNhbGxjZW50ZXI6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyN1wiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbi1ib3gtZW52ZWxvcGU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkwYlwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbi1ib3gtZm9vZDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBjXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pY29uLWJveC1nbG9iZTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBkXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pY29uLWJveC1oYW5kc2hha2U6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkwZVwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbi1ib3gtaW5mbzphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBmXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pY29uLWJveC1tYWduaWZ5aW5nLWdsYXNzOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTBcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LW5ld3NwYXBlcjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTEzXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pY29uLWJveC1wZXJzb246YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkxNFwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbi1ib3gtcGhhcm1hOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTVcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LXBpbi1vdXRsaW5lOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTdcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LXBsYXk6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkxOFwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbi1ib3gtc2hvcDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTFhXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pY29uLWJveC1zbWFydHBob25lOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MWJcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LXNwZWVjaC1idWJibGU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyMVwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaWNvbi1ib3gtc3BlZWNoOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjJcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LXRyYWluaW5nOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjNcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLmljb24tYm94LXdhcm5pbmc6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyNFwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5pY29uLWJveC1hd2FyZDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTI4XCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LWNlcnRpZmljYXRlOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjlcIjtcclxuXHRcdH1cclxuXHRcdCYuaWNvbi1ib3gtZ21wOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MmFcIjtcclxuXHRcdH1cclxuXHRcdCYuaWNvbi1ib3gtaGVhZDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJiXCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LWluamVrdGlvbjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJjXCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LWlzbzphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJkXCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LXN0YXI6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyZVwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5pY29uLWJveC1hcnJvd3M6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyZlwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5pY29uLWJveC1tZWRhbDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTMwXCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LXJvY2tldDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTMxXCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LWhhbmRsZXdpdGhjYXJlOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MzJcIjtcclxuXHRcdH1cclxuXHRcdCYuaWNvbi1ib3gtZG9jdW1lbnQ6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzM1wiO1xyXG5cdFx0fVxyXG5cdFx0Ji5pY29uLWJveC1idWlsZGluZy1iaWc6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzNFwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5pY29uLWJveC1idWlsZGluZy1tZWRpdW06YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzNVwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5pY29uLWJveC1idWlsZGluZy1zbWFsbDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM2XCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LWJpc2N1aXQtdHJheTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM3XCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LWJpc2N1aXQtc2x1ZzphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM4XCI7XHJcblx0XHR9XHJcblx0XHQmLmljb24tYm94LWJpc2N1aXQtcGlsZXNsdWc6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzOVwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5pY29uLWJveC1iaXNjdWl0LXBpbGU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzYVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmljb24tYm94LWNoYXJ0OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDZcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pY29uLWJveC1vcmdhbml6YXRpb246YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkxNlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pY29uLWJveC1tb25vbWF0ZXJpYWw6YWZ0ZXIgeyAgXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTJiXCI7IC8vTTogMTQzXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaWNvbi1ib3gtcGFwZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkyY1wiOyAvL006IDE0NFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmljb24tYm94LWJha2VyeTphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTJkXCI7IC8vTTogMTQ1XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaWNvbi1ib3gtYmFyczphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTJlXCI7IC8vTTogMTQ2XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaWNvbi1ib3gtcG93ZGVyOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MzBcIjsgLy9NOiAxNDdcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pY29uLWJveC12aWRlbzphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7IC8vTTogMTQ4XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmljb24tYm94LXBlcmNlbnQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkzMVwiO1xyXG4gICAgICAgIH1cclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0IGJsb2NrcXVvdGUgYSB7XHJcblx0QGluY2x1ZGUgYnV0dG9uLXgtdGV4dC1maXg7XHJcbn1cclxuXHJcbmhyLnNlcGFyYXRvciB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0d2lkdGg6IHJlbS1jYWxjKDEpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTQwO1xyXG5cdGhlaWdodDogcmVtLWNhbGMoOTApO1xyXG5cdHBhZGRpbmc6IDAgMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAwIGF1dG8gcmVtLWNhbGMoMTYpO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogcmVtLWNhbGMoMTEpO1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygxMSk7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay00MDtcclxuXHRcdGxlZnQ6IHJlbS1jYWxjKC01KTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR9XHJcbn1cclxuXHJcbiR0YWJsZS1ib3JkZXI6ICRjb2xvci1iYWNrLTIwIHJlbS1jYWxjKDEpIHNvbGlkO1xyXG5cclxuQG1peGluIHRhYmxlLWFudGktbGF5b3V0ZXIge1xyXG5cdHdpZHRoOiAxMTcwcHggIWltcG9ydGFudDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTUwJSAtIDE3cHgpKTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNDdweCk7XHJcblx0fVxyXG59XHJcblxyXG5wLmV4dHJhLWxpbmUtZm9yLXRhYmxlIHtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xyXG5cdGNvbG9yOiAkbmlnaHQtZ3JleS0yMDtcclxuXHJcblx0QGluY2x1ZGUgdGFibGUtYW50aS1sYXlvdXRlcigpO1xyXG59XHJcblxyXG50YWJsZSB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGJvcmRlci1ib3R0b206ICRsaWdodC1ncmV5LTIwO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcpO1xyXG5cclxuXHRAaW5jbHVkZSB0YWJsZS1hbnRpLWxheW91dGVyKCk7XHJcblxyXG5cdGNhcHRpb24ge1xyXG5cdFx0QGluY2x1ZGUgaDQoKTtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRib3JkZXItdG9wOiAkbGlnaHQtZ3JleS0yMDtcclxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwIDEwIDI0IDEwKTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHR9XHJcblxyXG5cdHRyOm50aC1jaGlsZCgybiArIDEpIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5LTIwO1xyXG5cdH1cclxuXHJcblx0dGQsXHJcblx0dGgge1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Ym9yZGVyLXRvcDogJGxpZ2h0LWdyZXktMjA7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTIgMTAgMTMgMTApO1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcblxyXG5cdHRoIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0fVxyXG5cclxuXHR0ciB0aCB7XHJcblx0XHR3aWR0aDogMzMuMyU7XHJcblx0fVxyXG59XHJcblxyXG4udGFibGUtcmVzdHlsZWQtd3JhcCB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0b3ZlcmZsb3cteDogc2Nyb2xsO1xyXG5cdH1cclxufVxyXG5cclxuYSB7XHJcbiAgICBAaW5jbHVkZSBwKCk7XHJcbiAgICAvLyBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgIC8vICY6aG92ZXJ7XHJcbiAgICAvLyAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgIC8vIH1cclxufVxyXG5cclxuLmJ1dHRvbi1zdHlsZS0xLWJldGEge1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0xLWJldGE7XHJcbn1cclxuXHJcbi50ZXh0IC5idXR0b24tc3R5bGUtMS1iZXRhIHtcclxuXHRAaW5jbHVkZSBidXR0b24teC10ZXh0LWZpeDtcclxufVxyXG5cclxuLmJ1dHRvbi1zdHlsZS0yLWJldGEge1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0yLWJldGE7XHJcbn1cclxuXHJcbi50ZXh0IC5idXR0b24tc3R5bGUtMi1iZXRhIHtcclxuXHRAaW5jbHVkZSBidXR0b24teC10ZXh0LWZpeDtcclxufVxyXG5cclxuLmJ1dHRvbi1zdHlsZS0zLWJldGEge1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0zLWJldGE7XHJcbn1cclxuXHJcbi50ZXh0IC5idXR0b24tc3R5bGUtMy1iZXRhIHtcclxuXHRAaW5jbHVkZSBidXR0b24teC10ZXh0LWZpeDtcclxufVxyXG5cclxuLmJ1dHRvbi1zdHlsZS0zLWdhbW1hIHtcclxuXHRAaW5jbHVkZSBidXR0b24teDtcclxuXHRAaW5jbHVkZSBidXR0b24tc3R5bGUtMy1nYW1tYTtcclxufVxyXG5cclxuLnRleHQgLmJ1dHRvbi1zdHlsZS0zLWdhbW1hIHtcclxuXHRAaW5jbHVkZSBidXR0b24teC10ZXh0LWZpeDtcclxufVxyXG5cclxuLmJ1dHRvbi1zdHlsZS00LWJldGEge1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWJldGE7XHJcbn1cclxuXHJcbi50ZXh0IC5idXR0b24tc3R5bGUtNC1iZXRhIHtcclxuXHRAaW5jbHVkZSBidXR0b24teC10ZXh0LWZpeDtcclxufVxyXG5cclxuLnRleHQgYSB7XHJcblx0Ly8gcGFkZGluZy1yaWdodDogMTVweDtcclxuXHQvLyBwYWRkaW5nLXJpZ2h0OiA3cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjRzIGVhc2Utb3V0LCB0ZXh0LWRlY29yYXRpb24gLjRzIGVhc2Utb3V0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAkbmlnaHQtZ3JleTtcclxuXHJcbiAgICAmOmhvdmVye1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICY6YmVmb3JlIHtcclxuXHQvLyBcdGJvcmRlci1yYWRpdXM6IDFlbTtcclxuICAgIC8vICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG5pZ2h0LWdyZXk7XHJcbiAgICAvLyAgICAgY29udGVudDogXCJcIjtcclxuICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgICAgcmlnaHQ6IDA7XHJcbiAgICAvLyAgICAgdG9wOiAwO1xyXG4gICAgLy8gICAgIGxlZnQ6IDA7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAvLyB9XHJcblxyXG5cdC8vICY6YWZ0ZXIge1xyXG5cdC8vIFx0Ym9yZGVyLXJhZGl1czogMWVtO1xyXG4gICAgLy8gICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3ItYWxwaGE7XHJcbiAgICAvLyAgICAgY29udGVudDogXCJcIjtcclxuICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAvLyAgICAgYm90dG9tOiAwO1xyXG4gICAgLy8gICAgIGxlZnQ6IDA7XHJcbiAgICAvLyAgICAgdHJhbnNpdGlvbjogcmlnaHQgLjRzIGN1YmljLWJlemllcigwLC41LDAsMSksXHJcbiAgICAvLyAgICAgYm9yZGVyLWNvbG9yIC40cyBlYXNlLW91dDtcclxuICAgIC8vIH1cclxuICAgIFxyXG4gICAgLy8gJjpob3ZlcjphZnRlcntcclxuICAgIC8vICAgICBib3JkZXItY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgIC8vICAgICByaWdodDogMDtcclxuICAgIC8vIH1cclxufVxyXG5cclxuLmNrZV9wYW5lbF9saXN0SXRlbSB7XHJcblx0ZGl2LFxyXG5cdGRsLFxyXG5cdGR0LFxyXG5cdGRkLFxyXG5cdHVsLFxyXG5cdG9sLFxyXG5cdGxpLFxyXG5cdGgxLFxyXG5cdGgyLFxyXG5cdGgzLFxyXG5cdGg0LFxyXG5cdGg1LFxyXG5cdGg2LFxyXG5cdHByZSxcclxuXHRmb3JtLFxyXG5cdHAsXHJcblx0YmxvY2txdW90ZSxcclxuXHR0aCxcclxuXHR0ZCxcclxuXHRhLFxyXG5cdHNwYW4ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcblx0fVxyXG59XHJcbiIsIi5vcmJpdCB7XHJcbiAgICB1bC5vcmJpdC1jb250YWluZXIge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcmJpdC1wcmV2aW91cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDI5KTtcclxuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDVcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgICAgbGVmdDogN3B4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gdG9wOiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgLy8gbGVmdDogMTFweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAmLnNtYWxsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDdweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDZweCAkYmxhY2stZmFpbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3JiaXQtbmV4dCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYygyOSk7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICAvLyBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IHJlbS1jYWxjKDYwKTtcclxuICAgICAgICAgICAgLy8gaGVpZ2h0OiByZW0tY2FsYyg2MCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgdG9wOiA3cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDdweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICAgICAgICAgIC8vIHRvcDogMTFweDtcclxuICAgICAgICAgICAgICAgIC8vIGxlZnQ6IDExcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgJi5zbWFsbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA2cHggJGJsYWNrLWZhaW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmF2Lm9yYml0LWJ1bGxldHMge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTIwO1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjcpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay00MDtcclxuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIC41KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjApO1xyXG5cclxuICAgICAgICAub3JiaXQtbmV4dCB7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDUwJSArIDMzcHgpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vcmJpdC1wcmV2aW91cyB7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNTAlIC0gNzNweCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbmF2Lm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBtaXhpbiBzdGFnZS10ZXh0LW1peGluIHtcclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGhlaWdodC01MjdweC1mdW5jdGlvbi1mb3Itb2ZmLWdyaWQtcGljdHVyZXM7XHJcbiAgICBAaW5jbHVkZSBzdGQtYm94LW1hcmdpbjtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luLXN0YWdlcztcclxuXHJcbiAgICAuaW1nLXdyYXAge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICBhLnZpZGVvbGluayB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgICAgICBvcGFjaXR5OiAuOTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDY2LjY2JTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MThcIjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMDJweDtcclxuICAgICAgICAgICAgdG9wOiAzNnB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gdG9wOjAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG4gICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNiAzMCk7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJldGE7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBsZWZ0OiByZW0tY2FsYygxMDApO1xyXG4gICAgICAgIC8vIG9wYWNpdHk6IC45O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIGgzLCBoMSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGgzKCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnV0dG9uLWNvbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXg7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWFscGhhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5iZy1jb2xvci1iYWNrLTgwIGF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWJhY2stODA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJnLWNvbG9yLWFscGhhIGF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWFscGhhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5iZy1jb2xvci1iZXRhIGF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWJldGE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJnLWNvbG9yLWdhbW1hIGF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWdhbW1hO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAxNSk7XHJcblxyXG4gICAgICAgICAgICBoMywgaDEge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJ1dHRvbi1jb250IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN0YWdlLWNhcm91c2VsIHtcclxuICAgIEBpbmNsdWRlIHN0YWdlLXRleHQtbWl4aW4oKTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAud3JhcCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhZ2UtdGV4dGJveCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBzdGFnZS10ZXh0LW1peGluKCk7XHJcblxyXG5cclxuICAgIC8vIC50ZXh0LmJnLWNvbG9yLWFscGhhIGEge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWFscGhhO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIC50ZXh0LmJnLWNvbG9yLWJldGEgYSB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTQtYmV0YTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyAudGV4dC5iZy1jb2xvci1nYW1tYSBhIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUtNC1nYW1tYTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyAudGV4dC5iZy1jb2xvci1iYWNrLTgwIGEge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWJhY2stODA7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gJi52aWRlbyB7XHJcbiAgICAgICAgXHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi8vIE9MRCBWRVJTSU9OISEhXHJcbi8vIC5zdGFnZS10ZXh0LWNhcm91c2VsIHtcclxuLy8gICAgIC5vcmJpdC1jb250YWluZXIge1xyXG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ODgzOGY7XHJcbi8vICAgICAgICAgbWF4LWhlaWdodDogNTI3cHg7XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgLmltZy0xNi05LXNwZWNpYWx7XHJcbi8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgfVxyXG5cclxuLy8gICAgIGltZyB7XHJcbi8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgIGxlZnQ6IDA7XHJcbi8vICAgICAgICAgcmlnaHQ6IDA7XHJcbi8vICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4vLyAgICAgICAgIHotaW5kZXg6IDE7XHJcbi8vICAgICAgICAgdG9wOiA1MCU7XHJcbi8vICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbi8vICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4vLyAgICAgICAgICAgICB0b3A6IDA7XHJcbi8vICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuLy8gICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbi8vICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgLnRleHQge1xyXG4vLyAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE0MyAwIDE2MyAwKTtcclxuLy8gICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICAgICAgICB6LWluZGV4OiAyO1xyXG4vLyAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbi8vICAgICAgICAgaDEge1xyXG4vLyAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xyXG4vLyAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzdGQtcGFkZGluZztcclxuLy8gICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHN0ZC1wYWRkaW5nO1xyXG4vLyAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuLy8gICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgLmludHJvLXRleHQge1xyXG4vLyAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDYwMCk7XHJcbi8vICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHN0ZC1wYWRkaW5nO1xyXG4vLyAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3RkLXBhZGRpbmc7XHJcbi8vICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4vLyAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbi8vICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbi8vICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEzKTtcclxuLy8gICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgIGEge1xyXG4vLyAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24teDtcclxuLy8gICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTItYmV0YTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi5zdGFnZS10ZXh0LWNhcm91c2VsIHtcclxuICAgIGltZyB7XHJcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKC43KTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xyXG4gICAgICAgIC5pbWctMTYtOS1zcGVjaWFsOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGhlaWdodC01MjdweC1mdW5jdGlvbi1mb3Itb2ZmLWdyaWQtcGljdHVyZXM7XHJcbiAgICBAaW5jbHVkZSBzdGQtYm94LW1hcmdpbjtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luLXN0YWdlcztcclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgICAgLy8gcGFkZGluZzogcmVtLWNhbGMoMTQzIDAgMTYzIDApO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAxNSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEsIGgzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaDEoKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDAwKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW50cm8tdGV4dCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNjAwKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi14O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUtMi1iZXRhO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTQtYWxwaGE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LmFscGhhIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSwgaDMge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmludHJvLXRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0yLWJldGE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHJcbiAgICAgICAgICAgICAgICBoMSwgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmludHJvLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTQtYmV0YTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXYudmlkZW8td3JhcCB7XHJcbiAgICAgICAgLmltZy13cmFwIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudmlkZW9saW5rIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogNThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC45O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MThcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTFweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIGgxLCBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzFweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC52aWRlb2xpbmsge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUtMi1iZXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGFnZS10ZXh0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyguNyk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAgICAgLmltZy0xNi05LXNwZWNpYWw6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDowO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgaGVpZ2h0LTUyN3B4LWZ1bmN0aW9uLWZvci1vZmYtZ3JpZC1waWN0dXJlcztcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW4tc3RhZ2VzO1xyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgxLCBoMyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGgxKCk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAwMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW50cm8tdGV4dCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNjAwKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi14O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUtMi1iZXRhO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTQtYmV0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFscGhhIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSwgaDMge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmludHJvLXRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0yLWJldGE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHJcbiAgICAgICAgICAgICAgICBoMSwgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmludHJvLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTQtYmV0YTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnZpZGVvIHtcclxuICAgICAgICAuaW1nLXdyYXAge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC52aWRlb2xpbmsge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1OHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgb3BhY2l0eTogLjk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkxOFwiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgaDEsIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnZpZGVvbGluayB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay04MDtcclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTItYmV0YTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay04MDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhZ2UtcGljdHVyZSB7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XHJcbiAgICBAaW5jbHVkZSBzdGQtYm94LW1hcmdpbjtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luLXN0YWdlcztcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNik7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTkpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zdGFnZS1nYWxsZXJ5IHtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW4tc3RhZ2VzO1xyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTkpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGFnZS1iYWNrcGljdHVyZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmV0YTtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW4tc3RhZ2VzO1xyXG5cclxuICAgIC5pbWctd3JhcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoLjcpO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAgICAgLmltZy13cmFwOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAvLyB3aWR0aDogYXV0bztcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IG5vbmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM2OXB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg5MCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDkwKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYzKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDYzKTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMjA5cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWluaSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MDApO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjAwKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmludHJvLXRleHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAqOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN0YWdlLWJhY2tleHRyYSB7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWdyYWRpZW50KDMpO1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcbiAgICBAaW5jbHVkZSBzdGQtYm94LW1hcmdpbi1zdGFnZXM7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoODQgMCA4NiAwKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjMpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1pbmkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbnRyby10ZXh0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAqOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5tb2wtaW1hZ2Uge1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW4tc21hbGxlcjtcclxuXHJcbiAgICBoMyxcclxuICAgIGgyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMyk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaHIuZXh0cmEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYubW9sLWltYWdlLWJpZyB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubW9sLWltYWdlLWdpYW50IHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi14O1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0zLWJldGE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2wtZ2FsbGVyeSB7XHJcbiAgICBAaW5jbHVkZSBzdGQtYm94LW1hcmdpbi1zbWFsbGVyO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJldGE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE0KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJldGE7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0zLWJldGE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3JiaXQge1xyXG4gICAgICAgIC5vcmJpdC1idWxsZXRzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stMTA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubW9sLWdhbGxlcnktc21hbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLm9yYml0IHtcclxuICAgICAgICAgICAgICAgIC5vcmJpdC1uZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTYuMTR2dyArIDE0LjcycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtNzApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5vcmJpdC1wcmV2aW91cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDE2LjE0dncgKyAxNC43MnB4KTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygtNzApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAub3JiaXQge1xyXG4gICAgICAgICAgICAgICAgLm9yYml0LW5leHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMjE2KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAub3JiaXQtcHJldmlvdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMjE2KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm1vbC1nYWxsZXJ5LWJpZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAub3JiaXQge1xyXG4gICAgICAgICAgICAgICAgLm9yYml0LW5leHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygyNC4yMnZ3ICsgMjcuMDRweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm9yYml0LXByZXZpb3VzIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMjQuMjJ2dyArIDI3LjA0cHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAub3JiaXQge1xyXG4gICAgICAgICAgICAgICAgLm9yYml0LW5leHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMzI5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAub3JiaXQtcHJldmlvdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMzI5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm1vbC1nYWxsZXJ5LWdpYW50IHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAub3JiaXQge1xyXG4gICAgICAgICAgICAgICAgLm9yYml0LW5leHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygyOC4yNXZ3IC0gNi4yOXB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAub3JiaXQtcHJldmlvdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygyOC4yNXZ3IC0gNi4yOXB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vbC1kaXNxdWlldGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5LTYwO1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG4gICAgLmNlbGwtaW1nIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmltZy1zdHJldGNoIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ2KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjApO1xyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0zLWJldGE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAqOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vbC1oaWdobGlnaHRlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay0xMDtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGNvbG9yLWdhbW1hO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcxIDAgNDcgMCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1nYW1tYTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbnRyby10ZXh0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0zLWdhbW1hO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay0xMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAqOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5vcmctaGVhZCB7XHJcblx0Ly8gcGFkZGluZy10b3A6IDEwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQvLyBtYXJnaW4tYm90dG9tOiA2NHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxKTtcclxuICAgIH1cclxuXHJcblx0Ly8gJjpiZWZvcmV7XHJcblx0Ly8gXHRjb250ZW50OiBcIlwiO1xyXG5cdC8vIFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdC8vIFx0dG9wOjA7XHJcblx0Ly8gXHRoZWlnaHQ6IDEwcHg7XHJcblx0Ly8gXHRsZWZ0OjA7XHJcblx0Ly8gXHRyaWdodDogMDtcclxuXHQvLyBcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0Ly8gXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdC8vIH1cclxuXHQudG9wIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE4cHg7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHQubGVmdCB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMjZweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHRtYXJnaW46IDE5cHggMCAwIDMwcHg7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogOHB4IDAgMCAxMHB4O1xyXG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMzFweDtcclxuXHRcdFx0XHRtYXJnaW46IDEwcHggMCAwIDMwcHg7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1iYWNrLTgwO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE5cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcclxuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyMTBweCk7XHJcblx0XHRcdFx0XHRtYXJnaW46IDI2cHggMTNweCAwIDE2cHg7XHJcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5yaWdodCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAwO1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0XHRib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG9yLWJhY2stMTA7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1iYWNrLTEwO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYmFjay02MDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm1lbnUtbGluayB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG5cdFx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0XHRtYXJnaW46IDExcHggMTBweCA5cHggMTBweDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTExXCI7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdFx0XHRcdHRvcDogN3B4O1xyXG5cdFx0XHRcdFx0bGVmdDogNXB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5tb2JpbGUtb3BlbjphZnRlciB7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTkwYVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNlYXJjaC1saW5rIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG5cdFx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0XHRtYXJnaW46IDE1cHggMjRweCAwIDEwcHg7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtICRkZWYtdHJhbnM7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdG1hcmdpbjogMTFweCAxMHB4IDAgMTBweDtcclxuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogbGVmdCAkZGVmLXRyYW5zO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTkxMFwiO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0XHR0b3A6IDdweDtcclxuXHRcdFx0XHRcdGxlZnQ6IDVweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzYxcHgpO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0Ly8gdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEwMHZ3ICsgMTQwcHgpKTtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBub25lO1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiA2MHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5hY3RpdmUgKyAuc2VhcmNoLWhlYWRlci1mb3JtIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAzNTBweDtcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTQwcHgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNlYXJjaC1oZWFkZXItZm9ybSB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiAyNXB4O1xyXG5cdFx0XHRcdHRvcDogMTJweDtcclxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRcdHdpZHRoOiAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IHdpZHRoICRkZWYtdHJhbnM7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHR0b3A6IDdweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGZvcm0ge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDMxMHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDQ1cHg7XHJcblx0XHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJhY2stMjA7XHJcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwdncgLSAxODBweCk7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA5cHg7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuZGlzY2FyZCB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0XHRcdGhlaWdodDogNDVweDtcclxuXHRcdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1iYWNrLTYwO1xyXG5cclxuXHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBhXCI7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdFx0XHRcdFx0dG9wOiAxcHg7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDVweDtcclxuXHRcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubGFuZ3VhZ2UtbGluayB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHllbGxvdztcclxuXHRcdFx0XHRtYXJnaW46IDE1cHggMHB4IDAgMTBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMzZweCAwcHggMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM1XCI7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRcdHRvcDogNnB4O1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDE0cHg7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGRlZi10cmFucztcclxuXHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JiArIC5sYW5ndWFnZS1oZWFkZXItbGlua3Mge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lmxhbmd1YWdlLWhlYWRlci1saW5rcyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDhweCAwIDZweCAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJG5pZ2h0LWdyZXktNjA7XHJcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdFx0dG9wOiA1OHB4O1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDRweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdHotaW5kZXg6IDEwMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMwYTBhMGE7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDNweCA5cHggM3B4IDhweDtcclxuXHRcdFx0XHRcdG1hcmdpbjogMHB4IDAgNXB4IDA7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cclxuXHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29udGFjdC1saW5rIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcclxuXHRcdFx0XHRtYXJnaW46IDE1cHggMHB4IDBweCAxNXB4O1xyXG5cdFx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0XHRwYWRkaW5nOiA3cHggMzZweCAwcHggMTBweDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU5MGJcIjtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdFx0dG9wOiA3cHg7XHJcblx0XHRcdFx0XHRsZWZ0OiA4cHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQud29ybGQtbGluayB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XHJcblx0XHRcdFx0bWFyZ2luOiAxNXB4IDBweCAwcHggMTBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogN3B4IDM2cHggMHB4IDEwcHg7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBkXCI7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdHRvcDogN3B4O1xyXG5cdFx0XHRcdFx0bGVmdDogOXB4O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1haW4tbmF2IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCYubW9iaWxlLW9wZW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHQubWFpbi1uYXYtbHZsLW9uZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzhweDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGRlZi10cmFucztcclxuXHJcblx0XHRcdFx0JltkYXRhLW1vYmlsZS1sZXZlbD1cIjFcIl0ge1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCZbZGF0YS1tb2JpbGUtbGV2ZWw9XCIyXCJdIHtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0dWwge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHQvLyB0b3A6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI2cHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiA1cHggc29saWQgJHdoaXRlO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDIzcHggMzVweCAyNHB4IDE0cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5oYXMtY2hpbGRyZW4ge1xyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA3XCI7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMjNweDtcclxuXHRcdFx0XHRcdHJpZ2h0OiA3cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay0xMDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5tb2JpbGUtYmFjayB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAyOHB4O1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyNnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYmFjay04MDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogNDBweDtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU5MDVcIjtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiAyN3B4O1xyXG5cdFx0XHRcdFx0bGVmdDogNnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5tb2JpbGUtd29ybGQtbGluayB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDU3cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1iYWNrLTYwO1xyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBkXCI7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdHRvcDogMjNweDtcclxuXHRcdFx0XHRcdGxlZnQ6IDEzcHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYubW9iaWxlLWNvbnRhY3QtbGluayB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDU3cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci1iYWNrLTYwO1xyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBiXCI7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdHRvcDogMjNweDtcclxuXHRcdFx0XHRcdGxlZnQ6IDE0cHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYubW9iaWxlLWxhbmd1YWdlLWxpbmsge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA1N3B4O1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYmFjay02MDtcclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU5MjFcIjtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdFx0dG9wOiAyM3B4O1xyXG5cdFx0XHRcdFx0bGVmdDogMTRweDtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU5MDRcIjtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdFx0dG9wOiAyM3B4O1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDE0cHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGRlZi10cmFucztcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYubW9iaWxlLW9wZW4ge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLm1vYmlsZS1vcGVuICsgLmNoaWxkcmVuIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubW9iaWxlLWxhbmd1YWdlLWhlYWRlci1saW5rcyB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkd2hpdGU7XHJcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblxyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEycHggMzVweCAxMXB4IDU4cHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdCYubW9iaWxlLW9wZW4ge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY2hpbGRyZW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XHJcblxyXG5cdFx0XHQ+IC5kaXNjYXJkIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ+IC50aXRsZSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5tYWluLW5hdi1sdmwtb25lIC5jaGlsZHJlbiB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuXHRcdH1cclxuXHJcblx0XHQubWFpbi1uYXYtbHZsLXR3byAuY2hpbGRyZW4ge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRcdHVsIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhLm9wZW4gKyAuY2hpbGRyZW4sIGE6aG92ZXIgKyAuY2hpbGRyZW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNoaWxkcmVuIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2hpbGRyZW46aG92ZXJ7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHVsLm1haW4tbmF2LWx2bC1vbmUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0cGFkZGluZzogOHB4IDI1cHggMCAyNXB4O1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY29sb3ItYmFjay0xMDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcblx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogNnB4IDVweCA5cHggNXB4O1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTFweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogbm9uZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQmLmFjdGl2ZTphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAtM3B4O1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDZweDtcclxuXHRcdFx0XHRcdFx0XHRyaWdodDogNnB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogM3B4O1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDEwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCYub3BlbiArIC5jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGEubW9iaWxlLXdvcmxkLWxpbmssXHJcblx0XHRcdFx0XHRhLm1vYmlsZS1jb250YWN0LWxpbmssXHJcblx0XHRcdFx0XHRhLm1vYmlsZS1sYW5ndWFnZS1saW5rLFxyXG5cdFx0XHRcdFx0YS5tb2JpbGUtYmFjayxcclxuXHRcdFx0XHRcdGEubW9iaWxlLXNlbGYge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdD4gLmNoaWxkcmVuIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IGNhbGMoMTAwJSArIDBweCk7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDI4cHggMTVweCAzMXB4IDE1cHg7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblx0XHRcdFx0XHRcdHNwYW4uZGlzY2FyZCB7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdFx0XHRcdFx0XHQvLyBib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogNTE7XHJcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAtMjBweDtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdFx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGU5MGFcIjtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjVweDtcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogOHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogOHB4O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0c3Bhbi50aXRsZSwgYS50aXRsZSB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgJHN0ZC1wYWRkaW5nIDMxcHg7XHJcblxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA3XCI7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogNXB4O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBhLm9wZW4gKyAuY2hpbGRyZW4sIGE6aG92ZXIgKyAuY2hpbGRyZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmNoaWxkcmVuOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHVsLm1haW4tbmF2LWx2bC10d28ge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG5cdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwICRzdGQtcGFkZGluZyAkc3RkLXBhZGRpbmcgJHN0ZC1wYWRkaW5nO1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMjUlIC0gMzBweCk7XHJcblxyXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMSksXHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgMDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjVweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG5cclxuXHRcdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG9yLWFscGhhO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMjVweCAxMHB4IDEwcHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY0ZjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ji5uby1jaGlsZHJlbiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHggMjVweCAxMHB4O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGEubW9iaWxlLWJhY2ssXHJcblx0XHRcdFx0XHRhLm1vYmlsZS1zZWxmIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQ+IC5jaGlsZHJlbiB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IG5vbmU7XHJcblxyXG5cdFx0XHRcdFx0XHRzcGFuLnRpdGxlIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR1bC5tYWluLW5hdi1sdmwtdGhyZWUge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblxyXG5cdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2cHg7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4O1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDAgMXB4IDA7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNGYyO1xyXG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5icmVhZGNydW1iLW5hdiB7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMzBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IC0zMHB4O1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xyXG5cdFx0fVxyXG5cclxuXHRcdG9sIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cGFkZGluZzogOXB4IDAgOXB4IDMzcHg7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRwYWRkaW5nOiA5cHggMTVweCA5cHggMTVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IFwiTHVjaWRhIEdyYW5kZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHRcdFx0Zm9udC1zaXplOiA5cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDAgMCAxMXB4O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDlweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1iYWNrLTYwO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIuKdrlwiO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRmb250LWZhbWlseTogXCJaYXBmIERpbmdiYXRzXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLm9yZy1mb290ZXIge1xyXG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRjb2xvci1iYWNrLTEwO1xyXG4gICAgcGFkZGluZzogMzhweCAwIDIxcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRoZWlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHBhZGRpbmc6IDM4cHggMCAxNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNvY2lhbC13ZWxjb21lIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zb2NpYWwtbWVkaWEge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMCAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJhY2stODA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmV0YTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnNvY2lhbC1tZWRpYS1saW5rZWRpbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MWRcIjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnNvY2lhbC1tZWRpYS1mYWNlYm9vazphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MWNcIjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnNvY2lhbC1tZWRpYS10d2l0dGVyOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkxZVwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuc29jaWFsLW1lZGlhLXlvdXR1YmU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5zb2NpYWwtbWVkaWEteGluZzphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MWZcIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFja2FnaW5nLWxpbmtzIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMjlweCAwIDAgMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMCAwIDA7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJldGE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGVnYWwtbGlua3Mge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAzOHB4IDAgMCAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDM3cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgICBhLFxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmV0YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudG9wLWxpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmV0YTtcclxuICAgICAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIGJvdHRvbTogMTdweDtcclxuICAgICAgICByaWdodDogMTVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMCA5cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwOFwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLm9yZy12aWRlbyB7XHJcblx0QGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG5cdGgyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAkY29sb3ItZ2FtbWE7XHJcblx0fVxyXG5cclxuXHQudmlkLTE2LTkge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nLXRvcDogNTYuMjUlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0fVxyXG5cclxuXHQudmlkLTE2LTktY29udGVudCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblxyXG5cdFx0dmlkZW8ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aWZyYW1lIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAudGV4dHtcclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTMtYmV0YTtcclxuICAgIH1cclxuXHJcbiAgICBoci5leHRyYSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcmctaWNvbi1ib3gge1xyXG5cdEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG5cclxuXHRoMiB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY2VsbCB7XHJcblx0XHR1bCB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdH1cclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0d2lkdGg6IDI1JTtcclxuXHRcdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRcdGZsZXgtZ3JvdzogMDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0bWluLWhlaWdodDogNzJweDtcclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMzZweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAxMzdweDtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiA4OHB4IDAgMjRweCAwO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdFx0XHRcdGxlZnQ6IDUycHg7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcblx0XHRcdFx0Zm9udC1zaXplOiA2NXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0dG9wOiA0NXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC1kcm9wOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkwMFwiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmljb24tYm94LWdlYXI6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTAxXCI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaWNvbi1ib3gtcGFja2FnZTphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MjVcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC1kb3dubG9hZDphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MjZcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC1jYWxsY2VudGVyOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkyN1wiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmljb24tYm94LWVudmVsb3BlOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkwYlwiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmljb24tYm94LWZvb2Q6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBjXCI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaWNvbi1ib3gtZ2xvYmU6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBkXCI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaWNvbi1ib3gtaGFuZHNoYWtlOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkwZVwiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmljb24tYm94LWluZm86YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBmXCI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaWNvbi1ib3gtbWFnbmlmeWluZy1nbGFzczphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MTBcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC1uZXdzcGFwZXI6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTEzXCI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaWNvbi1ib3gtcGVyc29uOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkxNFwiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmljb24tYm94LXBoYXJtYTphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MTVcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC1waW4tb3V0bGluZTphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MTdcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC1wbGF5OmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkxOFwiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmljb24tYm94LXNob3A6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTFhXCI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuaWNvbi1ib3gtc21hcnRwaG9uZTphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MWJcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC1zcGVlY2gtYnViYmxlOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkyMVwiO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmljb24tYm94LXNwZWVjaDphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MjJcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC10cmFpbmluZzphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MjNcIjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pY29uLWJveC13YXJuaW5nOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkyNFwiO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaWNvbi1ib3gtYXdhcmQ6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTI4XCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1jZXJ0aWZpY2F0ZTphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MjlcIjtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmljb24tYm94LWdtcDphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MmFcIjtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmljb24tYm94LWhlYWQ6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJiXCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1pbmpla3Rpb246YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJjXCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1pc286YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJkXCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1zdGFyOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkyZVwiO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaWNvbi1ib3gtYXJyb3dzOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkyZlwiO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaWNvbi1ib3gtbWVkYWw6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTMwXCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1yb2NrZXQ6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTMxXCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1oYW5kbGV3aXRoY2FyZTphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MzJcIjtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmljb24tYm94LWRvY3VtZW50OmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkzM1wiO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaWNvbi1ib3gtYnVpbGRpbmctYmlnOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkzNFwiO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaWNvbi1ib3gtYnVpbGRpbmctbWVkaXVtOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkzNVwiO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaWNvbi1ib3gtYnVpbGRpbmctc21hbGw6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM2XCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1iaXNjdWl0LXRyYXk6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM3XCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1iaXNjdWl0LXNsdWc6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM4XCI7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5pY29uLWJveC1iaXNjdWl0LXBpbGVzbHVnOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkzOVwiO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuaWNvbi1ib3gtYmlzY3VpdC1waWxlOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkzYVwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaWNvbi1ib3gtY2hhcnQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDZcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmljb24tYm94LW9yZ2FuaXphdGlvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkxNlwiO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmljb24tYm94LXBlcmNlbnQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MzFcIjtcclxuICAgICAgICAgICAgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5jb2xvci1hbHBoYSB7XHJcblx0XHRoMixcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0fVxyXG5cclxuXHRcdGE6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmNvbG9yLWJldGEge1xyXG5cdFx0aDIsXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdFx0fVxyXG5cclxuXHRcdGE6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5jb2xvci1nYW1tYSB7XHJcblx0XHRoMixcclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdhbW1hO1xyXG5cdFx0fVxyXG5cclxuXHRcdGE6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm9yZy1pY29uLWJveC12MiB7XHJcblx0QGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG5cdGgyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDI5cHg7XHJcblx0XHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY2VsbCB7XHJcblx0XHR1bCB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdH1cclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0d2lkdGg6IDI1JTtcclxuXHRcdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRcdGZsZXgtZ3JvdzogMDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHR3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGxpIGEuYm94LCBsaSBkaXYuYm94IHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiA3MnB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxuXHRcdFx0XHR3aWR0aDogMTE0cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMTRweDtcclxuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCBibGFjaztcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGltZyxcclxuXHRcdFx0c3ZnIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7XHJcblx0XHRcdFx0d2lkdGg6IDExNHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTE0cHg7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cGFkZGluZzogMTlweCAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gc3ZnIHtcclxuXHRcdFx0Ly8gXHRwYXRoLFxyXG5cdFx0XHQvLyBcdGVsbGlwc2UsXHJcblx0XHRcdC8vIFx0bGluZSB7XHJcblx0XHRcdC8vIFx0XHRzdHJva2U6IHJlZDtcclxuXHRcdFx0Ly8gXHR9XHJcblx0XHRcdC8vIH1cclxuXHJcblx0XHRcdGg0IHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmNvbG9yLWFscGhhIHtcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBoNHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0XHQvLyBzdmcge1xyXG5cdFx0XHRcdC8vIFx0cGF0aCxcclxuXHRcdFx0XHQvLyBcdGVsbGlwc2UsXHJcblx0XHRcdFx0Ly8gXHRsaW5lIHtcclxuXHRcdFx0XHQvLyBcdFx0c3Ryb2tlOiAkY29sb3ItYWxwaGE7XHJcblx0XHRcdFx0Ly8gXHRcdGZpbGw6ICRjb2xvci1hbHBoYTtcclxuXHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHQvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYuY29sb3ItYmV0YSB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBoNHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJldGE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cdFx0XHRcdC8vIHN2ZyB7XHJcblx0XHRcdFx0Ly8gXHRwYXRoLFxyXG5cdFx0XHRcdC8vIFx0ZWxsaXBzZSxcclxuXHRcdFx0XHQvLyBcdGxpbmUge1xyXG5cdFx0XHRcdC8vIFx0XHRzdHJva2U6ICRjb2xvci1iZXRhO1xyXG5cdFx0XHRcdC8vIFx0XHRmaWxsOiAkY29sb3ItYmV0YTtcclxuXHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHQvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYuY29sb3ItZ2FtbWEge1xyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItZ2FtbWE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGg0e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ2FtbWE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cdFx0XHRcdC8vIHN2ZyB7XHJcblx0XHRcdFx0Ly8gXHRwYXRoLFxyXG5cdFx0XHRcdC8vIFx0ZWxsaXBzZSxcclxuXHRcdFx0XHQvLyBcdGxpbmUge1xyXG5cdFx0XHRcdC8vIFx0XHRzdHJva2U6ICRjb2xvci1nYW1tYTtcclxuXHRcdFx0XHQvLyBcdFx0ZmlsbDogJGNvbG9yLWdhbW1hO1xyXG5cdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdC8vIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGxpIGEuYm94OmhvdmVye1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6ICRibGFjaztcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0aDR7XHJcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cHtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdHBhdGgsXHJcblx0XHRcdFx0ZWxsaXBzZSxcclxuXHRcdFx0XHRsaW5lIHtcclxuXHRcdFx0XHRcdHN0cm9rZTogJGJsYWNrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5jb2xvci1hbHBoYSB7XHJcblx0XHRoMixcclxuXHRcdGEuYm94LCBkaXYuYm94IHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHRcdH1cclxuXHJcblx0XHRhLmJveDpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuY29sb3ItYmV0YSB7XHJcblx0XHRoMixcclxuXHRcdGEuYm94LCBkaXYuYm94IHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEuYm94OmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1leHRyYS1vbWVnYTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuY29sb3ItZ2FtbWEge1xyXG5cdFx0aDIsXHJcblx0XHRhLmJveCwgZGl2LmJveCB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItZ2FtbWE7XHJcblx0XHR9XHJcblxyXG5cdFx0YS5ib3g6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWV4dHJhLWNoaTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5vcmctZXZlbnQtaGlnaGxpZ2h0cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG5cdHBhZGRpbmctdG9wOiA1MXB4O1xyXG5cdEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHR9XHJcblxyXG5cdGgyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMCAkc3RkLXBhZGRpbmc7XHJcblx0XHR3aWR0aDogMzMuMzMlO1xyXG5cdFx0ZmxleC1ncm93OiAwO1xyXG5cdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGJvcmRlci10b3A6IDVweCBzb2xpZCAkY29sb3ItYmV0YTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDIxcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0Ly8gZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmRhdGVzIHtcclxuXHRcdFx0XHR3aWR0aDogNzlweDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDcwcHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5kYXRlcy1mcm9tIHtcclxuXHRcdFx0XHRcdC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHQubW9udGgge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOXB4IDAgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5kYXkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC55ZWFyIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQvLyAmOmFmdGVyIHtcclxuXHRcdFx0XHRcdC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHQvLyAgICAgY29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdC8vICAgICBoZWlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHQvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdFx0XHQvLyAgICAgd2lkdGg6IDFweDtcclxuXHRcdFx0XHRcdC8vICAgICBib3R0b206IC0xNXB4O1xyXG5cdFx0XHRcdFx0Ly8gICAgIGxlZnQ6IDFweDtcclxuXHRcdFx0XHRcdC8vICAgICByaWdodDogMDtcclxuXHRcdFx0XHRcdC8vICAgICBtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5kYXRlcy10byB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHRcdFx0Lm1vbnRoIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMTZweDtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLTEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LmRheSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM2cHg7XHJcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC55ZWFyIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMXB4O1xyXG5cdFx0XHRcdFx0XHR0b3A6IC0xMXB4O1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAxcHg7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNzlweCk7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMCA1cHggMCA1cHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQucGxhY2Uge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjNweDtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM2cHg7XHJcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuaW5mbyB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0XHRcdH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC50ZXh0e1xyXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdC5tb3JlIHtcclxuXHRcdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdFx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlLTQtYWxwaGE7XHJcblxyXG5cdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzMnB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm9yZy1uZXdzLXdhbGwge1xyXG5cdEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG5cclxuXHRoMiB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogJGNvbG9yLWJhY2stNjA7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0Myk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bCxcclxuXHRkaXYudmlld3MtaW5maW5pdGUtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwICRzdGQtcGFkZGluZztcclxuXHRcdHdpZHRoOiAyNSU7XHJcblx0XHRmbGV4LWdyb3c6IDA7XHJcblx0XHRmbGV4LXNocmluazogMDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcblx0XHRcdC5pbWctd3JhcCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDowO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206MDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDowO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsMC4wMykgMTAwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0Ly8gYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcclxuXHRcdFx0XHQvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcclxuXHRcdFx0XHQvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XHJcblx0XHRcdFx0cGFkZGluZzogMjJweCAxMHB4IDdweCAxMHB4O1xyXG5cdFx0XHRcdGZsZXgtZ3JvdzogMTtcclxuXHJcblx0XHRcdFx0aDQge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1iYWNrLTgwO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cdFx0XHRcdH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC50ZXh0e1xyXG4gICAgICAgICAgICAgICAgICAgIGg0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3Bhbi5zb2NpYWwtaWNvbiArIC50ZXh0IHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAtMzBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3Bhbi52aWRlb2xpbmsge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHR3aWR0aDogNTVweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDU1cHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stODA7XHJcblx0XHRcdFx0b3BhY2l0eTogMC45O1xyXG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0XHRcdFx0bGVmdDogNTAlO1xyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTE4XCI7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNTVweDtcclxuXHRcdFx0XHRcdHRvcDogMTRweDtcclxuXHRcdFx0XHRcdGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHNwYW4uc29jaWFsLWljb24ge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRcdGhlaWdodDogMzBweDtcclxuXHRcdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAyMHB4O1xyXG5cdFx0XHRcdFx0bWF4LWhlaWdodDogMjBweDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5wYWdlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5tb3JlLFxyXG5cdC5wYWdlciAucGFnZXJfX2l0ZW0gYS5idXR0b24ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG5cdFx0bWFyZ2luOiAzMHB4IDAgMCAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4zMyk7XHJcblx0XHR9XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTE5XCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiA4cHg7XHJcblx0XHRcdGxlZnQ6IDdweDtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjVweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5vcmctdGVhc2VyLW1lZGl1bSB7XHJcblx0QGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG5cdGgyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0Myk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMCAkc3RkLXBhZGRpbmc7XHJcblx0XHR3aWR0aDogMzMuMzMlO1xyXG5cdFx0ZmxleC1ncm93OiAwO1xyXG5cdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5LTIwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnRleHQge1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IDVweCBzb2xpZCAkY29sb3ItYmV0YTtcclxuXHRcdFx0XHRwYWRkaW5nOiAxNnB4IDEwcHggMjRweCAxMHB4O1xyXG5cclxuXHRcdFx0XHRoMyB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQqOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudGV4dHtcclxuICAgICAgICAgICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gJi5hbHRlci1wb3NpdGlvbiB7XHJcblx0Ly8gICAgIHVsIHtcclxuXHQvLyAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHQvLyAgICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcblx0Ly8gICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHQvLyAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cclxuXHQvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHQvLyAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcblx0Ly8gICAgICAgICB9XHJcblx0Ly8gICAgIH1cclxuXHJcblx0Ly8gICAgIGxpIHtcclxuXHQvLyAgICAgICAgIHdpZHRoOiA1MCU7XHJcblxyXG5cdC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdC8vICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cdC8vICAgICAgICAgfVxyXG5cdC8vICAgICB9XHJcblx0Ly8gfVxyXG59XHJcblxyXG4ub3JnLXRlYXNlci1zbWFsbCB7XHJcblx0QGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG5cdGgyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0Myk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZzogMCAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMCAkc3RkLXBhZGRpbmc7XHJcblx0XHR3aWR0aDogMjUlO1xyXG5cdFx0ZmxleC1ncm93OiAwO1xyXG5cdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0LndyYXAge1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5LTIwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC50ZXh0IHtcclxuXHRcdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICRjb2xvci1iZXRhO1xyXG5cdFx0XHRwYWRkaW5nOiAyMnB4IDEwcHggMjRweCAxMHB4O1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDE0cHggNXB4IDE1cHggNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoNCB7XHJcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5pZ2h0LWdyZXk7XHJcbiAgICAgICAgICAgICAgICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogMVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCo6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZzogMCA1cHg7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyAmLmFsdGVyLXBvc2l0aW9uIHtcclxuXHQvLyAgICAgdWwge1xyXG5cdC8vICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cdC8vICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcclxuXHQvLyAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cdC8vICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblxyXG5cdC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdC8vICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuXHQvLyAgICAgICAgIH1cclxuXHQvLyAgICAgfVxyXG5cclxuXHQvLyAgICAgbGkge1xyXG5cdC8vICAgICAgICAgd2lkdGg6IDUwJTtcclxuXHJcblx0Ly8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0Ly8gICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuXHQvLyAgICAgICAgIH1cclxuXHQvLyAgICAgfVxyXG5cdC8vIH1cclxufVxyXG5cclxuLm9yZy1wcm9kdWN0bGlzdCB7XHJcblx0QGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG5cdC5jZWxsID4gdWwge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMCAwIDVweCAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZzogMCAxNXB4IDVweDtcclxuXHRcdH1cclxuXHJcblx0XHQ+IGxpIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGhlaWdodDogNXB4O1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IC0kc3RkLXBhZGRpbmc7XHJcblx0XHRcdHJpZ2h0OiAtJHN0ZC1wYWRkaW5nO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay0xMDtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRsZWZ0OiAkc3RkLXBhZGRpbmc7XHJcblx0XHRcdFx0cmlnaHQ6ICRzdGQtcGFkZGluZztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmltZy13cmFwIHtcclxuXHRcdHBhZGRpbmc6IDMwcHggMzBweCAzMHB4O1xyXG5cdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRmbGV4LWdyb3c6IDA7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0kc3RkLXBhZGRpbmc7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IC0kc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0aGVpZ2h0OiA1cHg7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MDdcIjtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0cmlnaHQ6IDMxcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRyaWdodDogLTFweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDI2cHg7XHJcblx0XHRcdFx0Ym90dG9tOiAzMHB4O1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogbm9uZTtcclxuXHRcdFx0XHR0b3A6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50ZXh0IHtcclxuXHRcdHBhZGRpbmc6IDMxcHggMTAwcHggMTBweCAyMXB4O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0cGFkZGluZzogMjBweCAwcHggMTBweCAwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0aDQge1xyXG5cdFx0XHRjb2xvcjogJG5pZ2h0LWdyZXk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHR9XHJcblxyXG5cdFx0cC5pbmZvIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdH1cclxuXHJcblx0XHR1bCB7XHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IGRpc2M7XHJcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm9yZy10ZWFzZXItZGVjaXNpb24ge1xyXG5cdEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG5cclxuXHQudGV4dCB7XHJcblx0XHRoMyB7XHJcblx0XHRcdHBhZGRpbmc6IDI2cHggMTVweCAwO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5vcmctdGVhc2VyLWRlY2lzaW9uLWFscGhhIHtcclxuXHRcdC5jZWxsIHtcclxuXHRcdFx0JjpudGgtY2hpbGQoMm4pIC50ZXh0IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWdyYWRpZW50KDIpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBiYWNrZ3JvdW5kLWdyYWRpZW50LXRvcCgyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKDJuICsgMSkgLnRleHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtZ3JhZGllbnQoMSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJhY2tncm91bmQtZ3JhZGllbnQtdG9wKDEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS00LWJldGE7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5vcmctdGVhc2VyLWRlY2lzaW9uLWJldGEge1xyXG5cdFx0LmNlbGwge1xyXG5cdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stMTA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGgzIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG9yLWdhbW1hO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBidXR0b24tc3R5bGUtMy1nYW1tYTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm9yZy1qdW1wbGlua3Mge1xyXG5cdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkbGlnaHQtZ3JleS02MDtcclxuXHRAaW5jbHVkZSBzdGQtYm94LW1hcmdpbjtcclxuXHJcblx0dWwge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMTVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGxpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IC01cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG4gICAgICAgIH1cclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcblx0XHRcdCY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdGNvbG9yOiAkY29sb3ItYmFjay02MDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbjogMCAyMHB4O1xyXG5cdFx0cGFkZGluZzogOTdweCAwIDI2cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHBhZGRpbmc6IDg5cHggMCAxN3B4O1xyXG5cdFx0XHRmb250LXNpemU6IDExcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG5cdFx0XHRtYXJnaW46IDAgMTBweDtcclxuXHRcdH1cclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDQ0cHg7XHJcblx0XHRcdGxlZnQ6IDNweDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0Zm9udC1zaXplOiAzNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1kcm9wOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MDBcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3MtZ2VhcjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTAxXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLXBhY2thZ2U6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyNVwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1kb3dubG9hZDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTI2XCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWNhbGxjZW50ZXI6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyN1wiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1lbnZlbG9wZTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBiXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWZvb2Q6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkwY1wiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1nbG9iZTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBkXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWhhbmRzaGFrZTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBlXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWluZm86YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkwZlwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1tYWduaWZ5aW5nLWdsYXNzOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTBcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3MtbmV3c3BhcGVyOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTNcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3MtcGVyc29uOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTRcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3MtcGhhcm1hOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTVcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3MtcGluLW91dGxpbmU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkxN1wiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1wbGF5OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MThcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3Mtc2hvcDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTFhXCI7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLXNtYXJ0cGhvbmU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkxYlwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1zcGVlY2gtYnViYmxlOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjFcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3Mtc3BlZWNoOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjJcIjtcclxuXHRcdH1cclxuXHJcblx0XHQmLm9yZy1qdW1wbGlua3MtdHJhaW5pbmc6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyM1wiO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYub3JnLWp1bXBsaW5rcy13YXJuaW5nOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MjRcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1hd2FyZDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTI4XCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtY2VydGlmaWNhdGU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyOVwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWdtcDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJhXCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtaGVhZDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJiXCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtaW5qZWt0aW9uOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MmNcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1pc286YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyZFwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLXN0YXI6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyZVwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWFycm93czphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJmXCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtbWVkYWw6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzMFwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLXJvY2tldDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTMxXCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtaGFuZGxld2l0aGNhcmU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzMlwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWRvY3VtZW50OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MzNcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1idWlsZGluZy1iaWc6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzNFwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWJ1aWxkaW5nLW1lZGl1bTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM1XCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtYnVpbGRpbmctc21hbGw6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzNlwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLWJpc2N1aXQtdHJheTphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTM3XCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtYmlzY3VpdC1zbHVnOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MzhcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1iaXNjdWl0LXBpbGVzbHVnOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MzlcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1iaXNjdWl0LXBpbGU6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzYVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9yZy1qdW1wbGlua3MtY2hhcnQ6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkwNlwiO1xyXG5cdFx0fVxyXG5cdFx0Ji5vcmctanVtcGxpbmtzLW9yZ2FuaXphdGlvbjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTE2XCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAmLm9yZy1qdW1wbGlua3MtbW9ub21hdGVyaWFsOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MmJcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1wYXBlcjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTJjXCI7XHJcblx0XHR9XHJcblx0XHQmLm9yZy1qdW1wbGlua3MtYmFrZXJ5OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MmRcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1iYXJzOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MmVcIjtcclxuXHRcdH1cclxuXHRcdCYub3JnLWp1bXBsaW5rcy1wb3dkZXI6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkzMFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9yZy1qdW1wbGlua3MtdmlkZW86YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIlxcZTkyYVwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLm9yZy1qdW1wbGlua3MtcGVyY2VudDphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTMxXCI7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdHNwYW4sXHJcblx0XHRlZGl0LWRpdixcclxuXHRcdGVkaXQtc3BhbixcclxuXHRcdGRpdiB7XHJcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm9yZy1mb2xkb3V0IHtcclxuXHRAaW5jbHVkZSBzdGQtYm94LW1hcmdpbjtcclxuXHJcblx0PiAuZ3JpZC14ID4gLmNlbGwgPiBoMiB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogJGNvbG9yLWdhbW1hO1xyXG5cdH1cclxuXHJcblx0dWwuYWNjb3JkaW9uIHtcclxuXHRcdGxpLmFjY29yZGlvbi1pdGVtIHtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdHBhZGRpbmc6IDAgJHN0ZC1wYWRkaW5nO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEyMDBweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXB4O1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhLmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5LTYwO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGgzO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItZ2FtbWE7XHJcblx0XHRcdFx0cGFkZGluZzogMjVweCAxMDBweCAyOXB4IDMwcHg7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcHggODBweCAyM3B4IDE1cHg7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGU5MTlcIjtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDM3cHg7XHJcblx0XHRcdFx0XHR0b3A6IDM2cHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI2cHg7XHJcblx0XHRcdFx0XHR6LWluZGV4OiAxO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDIycHg7XHJcblx0XHRcdFx0XHRcdHRvcDogY2FsYyg1MCUgKyA3cHgpO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0XHRcdHJpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdFx0dG9wOiAyNXB4O1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDE1cHg7XHJcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5pZ2h0LWdyZXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRcdGEuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRjb250ZW50OiBcIlxcZTkxMlwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0ZGl2LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHRcdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdFx0cGFkZGluZzogOTBweCAwIDU5cHggMDtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogLSRzdGQtcGFkZGluZztcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0kc3RkLXBhZGRpbmc7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogNzBweCAwIDU0cHggMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qIG5ldyAqL1xyXG5cdFx0XHRcdD4gKjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBuZXcgKi9cclxuXHRcdFx0XHQ+ICo6bGFzdC1jaGlsZCA+IGVkaXQtc3BhbiA+IGRpdiB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5hY2NvcmRpb24tdGl0bGUtaWNvbiB7XHJcblx0XHRcdFx0LmFjY29yZGlvbi1pY29uIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5hY2NvcmRpb24taWNvbjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Ly8gY29udGVudDogXCJcXGU5MGZcIjtcclxuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdFx0bGVmdDogLTgycHg7XHJcblx0XHRcdFx0XHR0b3A6IGNhbGMoNTAlKTtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzZweDtcclxuXHRcdFx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsbC10cmFuc2l0aW9uKCk7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAtMzVweDtcclxuXHRcdFx0XHRcdFx0dG9wOiBjYWxjKDUwJSk7XHJcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0XHRcdFx0fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmLmFjY29yZGlvbi10aXRsZS1pY29uLXZpZGVvIC5hY2NvcmRpb24taWNvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyYVwiOyB9XHJcblx0XHRcdFx0Ji5hY2NvcmRpb24tdGl0bGUtaWNvbi10ZWNobmljYWwgLmFjY29yZGlvbi1pY29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTBmXCI7IH1cclxuXHRcdFx0XHQmLmFjY29yZGlvbi10aXRsZS1pY29uLXJlcXVlc3QgLmFjY29yZGlvbi1pY29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlOTBlXCI7IH1cclxuXHRcdFx0XHQmLmFjY29yZGlvbi10aXRsZS1pY29uLWxpbmtzIC5hY2NvcmRpb24taWNvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkyNlwiOyB9XHJcblx0XHRcdFx0Ji5hY2NvcmRpb24tdGl0bGUtaWNvbi1leGFtcGxlcyAuYWNjb3JkaW9uLWljb246YmVmb3JlIHsgY29udGVudDogXCJcXGU5MjVcIjsgfVxyXG5cdFx0XHRcdCYuYWNjb3JkaW9uLXRpdGxlLWljb24tc2VydmljZSAuYWNjb3JkaW9uLWljb246YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDFcIjsgfVxyXG5cdFx0XHRcdCYuYWNjb3JkaW9uLXRpdGxlLWljb24tY29udGFjdCAuYWNjb3JkaW9uLWljb246YmVmb3JlIHsgY29udGVudDogXCJcXGU5MjdcIjsgfVxyXG5cclxuXHRcdFx0XHQvLyAuYWNjb3JkaW9uLWljb246YWZ0ZXIge1xyXG5cdFx0XHRcdC8vIFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHQvLyBcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHQvLyBcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHQvLyBcdGhlaWdodDogNzBweDtcclxuXHRcdFx0XHQvLyBcdHdpZHRoOiA3MHB4O1xyXG5cdFx0XHRcdC8vIFx0bGVmdDogLTEwMHB4O1xyXG5cdFx0XHRcdC8vIFx0dG9wOiBjYWxjKDUwJSArIDNweCk7XHJcblx0XHRcdFx0Ly8gXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRcdFx0Ly8gXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ly8gXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcblx0XHRcdFx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0Ly8gXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0Ly8gfVxyXG5cclxuXHRcdFx0XHRhLmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEzMHB4O1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIC5hY2NvcmRpb24taWNvbjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmlnaHQtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvKiBuZXcgKi9cclxuXHRcdFx0JjpsYXN0LWNoaWxkID4gZGl2LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAub3JnLWhlYWQ6YmVmb3JlLCAub3JnLWZvb3RlcjphZnRlciB7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFEYzRBQUFCRkNBTUFBQUQrSW1UcUFBQUJmVkJNVkVXUkpEaXZKemNtUUlSRXNuRXhwc0hKSWlwNlBZNG5lN0VwZmJJQ3A3RXdSSXcxa2J1eUlDY2ZVNXhOczNUVUl5MGRvMHBXdFhXeUxWTXlRWWMwclcwZFhxVFpJaW1YTlc4SHFHMDNvc00ybzhVd29WMENwS1VacTIrdktrRXhpTGNZcWNVQ3BZd09xc2xtdW5RQ3BxWWtvRkloUnBYYUlpaVFJemNEcDJxdkswSTFrMHNkWktnQ3JNMHpwc2swazB0L3ZuaC92bmNDcTh3Z1JvNDFwc2tpUXBJRHBtdzJwc2dzZzdjaVJJc2hSWTBkWmFraFJZd3FnYllFcUdrcmdyWXJncmV2SUNRZVI0OHJRNFl5cGNva1E0b21RNFV3UW9jNVNwcEtSNW9vUTRVeVFvY2RTSkFlU0k4emswbzBRb2M3U3BwQVNacEZTSnBEU0pwTVJwcFRSWmxZUkpsZFE1bGpRcGxsUVprdVE0WnNRSmsxUW9nK1NacEhSNXBPUnBwZHRYaGFSSmxmUTVrY1pLYzJTNXBRUnBwU1Jaa2xRNFZjUTVrdFE0WmhRcGszUW9nOFNacENTSnBXUlpsVlJabGlRcGxxUVpscFFabG5RWmtkU1pCWFJKbG9RWmszcDhpRU80TWNTWkdEUElXRU80RUNxYjV5dkhZRXBtc0lNWm9kQUFBQUozUlNUbFBseVBMeDJzZno1OVA4OCt2aTNmamEvdnpoOWZMczdmWDA3L24zOC9EbjgrVDM5UDM2NE81Q3MzaDhBQUFRRmtsRVFWUjQydXpkZVZOU1VSakhjYSs0VElnNmlFbWFhZVdNZEM5TGN3RTNDaHdub0xJLzJsZXNMR3pmYTFyR3FOZGVjRm51Z2NzVkJ1V2M1NXpmNTExODU1em5lUWJPZ2QyQUlTSnRxenVUSWVpL21kODF2NnIyUndwMVh5eGZMVDhxdmxrZU1oNHdQbHZlVmoyM3VjOTRYZlBNNWg3amU4Vkh5eWZMWGNiTHVoY05UKzN1TUs0NmVXSjNpM0diOGNGeWsvSFk3cjNsQnVPS2t6Mkw5MTNEanQxMXhyVVdseDA5WXJ5cHVkVGVkb3Q4RzY5c05sSTJGM3V4d1VkT0xDdUhicnhJM1dpYW1MRnNuOFdFbFd5eGRqcXFtak1aY2VqQzhKaHltOWgxZFRJTURjZzVHWE51SmdRY0JKRnpISFBPUWpMbjhpa0xvazdZbkZzdUVuY0JPU2RMeXBYRmhxS0tpZi9OaUVFWHlpbFRicDVkVitmRGdKeWpsWE5kOXB3dkJEeE10dVJjQVRuWDU1d0w5SnB6clA3azNHREtJa2ZWNWZoYk9YeEY2cEJ6OUZJdWxteEx1WndyWlVTZ2krYUVLVGYvcnB1Sk1DRG5xT1hjZ20rckM4TWg0S0lwNS9hUmMzM1BPYTlrT1llb1E4NnArVHEzN3BoekNyVmMwczJhY2psM0xOTWwrVk91NG84cE45ZWVtdzREY281YXpoa2FjbzZBcWFiWHVSSGtISEt1ODV5VE1PbzZxem9LT1hjOFFoeTFuRXZQWlpzZzVSUituWXZQWjdxZ1NNcVZUWnR5bThEb0hISk9zcHd6Zk1nNThVMGk1emptbklYaTdGdzE1eEIxeUxralErNTFqczA1cEZ5VG9YaFVLYVdPYzA2aGxOTjF0WWZuL0dGQXpoSE1PUTA1UjBBUU9jYzc1d0lFY3k2WDZoNmlycjg1Tng0aERqa25UOHY5TjNzMnFwUlNSNHN0RlV1NXNsVlRibTZmTFQxaFFNNFJ6RGxEdzUwQzhVMnhzM01GNUZ6ZmM4NUxMK2Z5S1lia1QzVzVWc2k1bzBieGRTNldMVVBLT2Z1cDJLV0Mwc0dMTFJWc3ViSWxVMjUrak00aDUyVEx1UVhjS1JEZkRIS09ZODVaNk9YY1lDSlZwbFRVTVZXSG5EdHk5RjduMXJOWnBKd0wxWEl1NDByUmxOTjErWWZuUERoVGdKeVRMZWU2ZUo0TEFTOUJlODZOSU9jNDVGeUFZTTVWSU9wRXpybmxDRzNVWHVjMjE1RnkySVZTNDdyWVV1R1UwM1g1VHhWNGNLWUFPU2RkemhrK25KMFQzaVJ5am5mT2Vjbm1uTEpWUnlIblZvb1Iyb2psWEhvUkxZZWNhNWpQT0ZJODVYUmQvdUU1ak00aDV5VE1PUTJiVU1RWHRPVmNBVG5ISWVmMnFPY2NvazdJbkl2UVJ1MTFMcjJJbEVQT1ZUa3Z0a1RLV2Z5bTNQdzRVNENja3k3bkRBMDVKN3lwUnM3dEkrZTQ1RnlBMnQyNVhLSUNVVmNoYXM1UnYxU2daTTdGaEpYczFheFNsd3BhRmx1aTVhb1VQbFdBMFRua0hOMmNXMERPQ1crbWtYTWp5RGt1T2VjbGxuUDVWS0lDVVdlRG5GTTk1OGFRY3E3bVZMcFVFQyt0WmhxUWNqYnFEczloZEE0NVJ6am5EQTA1Sjd3Z2NnNDUxMVhPYlNlcVVIWE5STW81NnFzdDFjcTVtTENTenJEYTBvVnRFd3BTcm9uOHczTkxPRk9BbkpNdzV3d2Z6czZKYnJpZWN3WGtISmVjMjlzaGxYUDU2dWdjb3E0ZDVCeHlEaW5YTEtiVThGd2w1NUJ5emlaTXVma3hPb2Vja3pEbk5KeWRFeDV5am5mT0JXaXRRcW5tSEtMdUFNaTVub3h1MGpLR2xNTXVsTHA1cEZ3N3FnN1ArY09BbktPY2M0YUdPd1dpKzhmZXZlMm1EUVFCR0paVktaVUJnUUpWRUJHaWluSlIxVzFwemNGT2N4QlJMblBUQjhoTjM0S0toRHg3Q1lZb29UYmdCck03cy8vL0ZwOTJaNmErNE53RXpobmlYTWtCem9FNk9LZWFjMmRsS0FmbkZ2VjZiU3lYbGF2RGM1d3BnSFBDT2RlQmM3WlhXM0R1QU00WjROdzhXWnhiTHJaRWRkdTNkODdKdnlNdWpIT2pGcGFEYzh2OEV5aVgzV09vdTFORzUrQ2NSczRGSHB0UWJLOEo1d3h6cmlHS2M1ZjllYUF1ZC92a25QZzc0c0k0ZDNVTTVkYlhjbWkxcFI5QnVleWlkNkhxZmxRWm5ZTnpHam5YcWNBNXk2c25uTHVEYzZZNFY1TEV1ZHQrRXFqNzMrQ2NRczZOanFFY2x3cVcrVkF1T3plSDV6aFRBT2ZFY3k3dzRKemxIYzA1TjRGemNHNGQ1MVpHNTZ4QzNibHcxQTEzbi9qRGM4STRkOWFWVExudW9QRGkyS0ZMQlQ2V1cxUGs0dkFjbzNOd1RqN25nZ3AzQ2l5dk9mOXJDZWRNY0M3SmVjNDUrMVFINTdSd1RxN2xCc1VYUCtYUThGd2J5bVVVelp1R3FwdnkxeExPNmVTY3g1MEN5NnZOTkhjUDV3eHlyZ0hubkViZGNQZUpYMjBwakhNZm9kd2F5am5HdVY0YnlxVVVQZmNoMUYzSzhOejNMd1RueEhOdWsrYytrZW51ZVowenk3bVNJTTVsek02Qk9qZ0g1NkRjdjVSemtITVBKMUJ1cGVoVjdnM1BNVG9INTFSd3JzT2RBc3VyUDIxQ2dYTkdPSmNraUhQbi9UWFpoam9oUTNYRFdYQk9NdWV1eWxodXBYaWxjYXYzelpIOENNcTlMRnBKL2ZCY2xUTUZjRTRuNXdLUFRTaDJWNXR0UW9GekpqblhFTU81clI3bmJGT2Q3VTkxdzkwbi92Q2NMTTZOeWxEdVpYRks3cXkyOUxIY2MxRnFwNkhxcG96T3dUbWxuQXNxY003dW1uOE80SnhKenBYRWNDN0g2QnlvTThrNTRaY0tMbVJ4N3FvTTVaYkZHWTJkV1czcFE3bFV5cms3UEhmSTZCeWNVOEk1RDg3WlhSM09HZU5jMGk4NDV6RHFob1gwVlhTeU9EY3FRN2sweXJrNVBOZUdjcThwNTl4dnkzZWNLWUJ6U2prWGVIRE82bzd1NytDY1VjNDE4bkl1dlQxdzdtWmVQMmVnYnQrY0UzNnBRTmpyM0tpTTVlSlpjRzVXcnczbE5oWHFyc3JvSEp6VHlya09aK2Zzcmc3bnpIS3VKSVZ6dHpkSnFPNFN6aFdYeE5lNXJyVU5DaTZ4SEp4YjlIQ0M1VGIxTzFUZGxORTVPS2VWYzBFRnpsa2RuSU56MjNIdVorSTRVTGNNemhYU3hmdHJTWTFhWFVzYkZGKzhYV05YT09kSFVHNURqOXBQRlZRNVV3RG5sSExPNDNYTzdwcHdqcytXZVQ1Ymdyclh3YmxkSjR0ejEzWnlibEI0Y1k1YWpxeTI5RDlEdVNoaWVJN1JPVGlua0hPZENyTnpWbGVid0Rtem5KT3oyVEt4bTFyVXZVbDFjRzVYWFFoN25iT1FjNFBpaS9NMWRvTnpQUi9LT1Q4OGQ4aGZTemluazNOc3RyUzgrb1RObGh3cXlNVTU1YXE3ZkV1V2NPNHZlM2U4bXpRVXhYRThIWEd4aUJCZ0FTSEluQnBKSTVhS2NFdTJHSzNKL0dPQitBTCs1eC83Z3dlQXdQVFpiVXVHckNBVU9ucnZPZmYzZll0UHpqMzN0RW4zOUN1bEJuVmJwWHJIenowZ1RTNFZOTFNpbkNVT0t1L3c3b0huY0tZQW5PUEN1U2JPaUN2ZUhKekRHZkc5T0FmVTdReWNTeEMxeDVZRDExYWwzbHBLVUU2ZnYxQzZEWDBzSnc3dXBjTzdQRmJud0RtT25ETzhMZVZhU0hhRkdUZ25sM00veUhEdVpnRTFvQzVtOGpqM3JrMDZXdE81YzF1TmV0R1VvWncrbkx1N0FPVjI5OExoWFFabkNzQTVocHd6dksyMWtPeXFzOWtNbkpQSXVleVlET2R1UjZQUWFQUlVwL0JTWGY4WVBXK1RqdFowVGdYTzlkWlN5bkxCMTVaZEhUSUZLQmNqaDNmRjFkVzVEdG9VT0VlUGN6blBEMTlicWx0bERzN0o1VnlaRU9ldVIwRmtVYWZrcUs3dkI4NWhPc2VZY21HMXJnNlpvQnlXNTFZOVYzemZRZUFjQzg0Rnd6a3N6NmxjYWVwejdoU2NrOGU1TVNIT25Zd2VCTlR0SFRnWG95dFNuUHY4ekk2ZHBwVHptOVJmZHpYSXRCZ25JbUY1YnZkcnkwd0hnWE1zT05mMHdEbkZxNEp6Y2ptWEpjdzVvTzdBTm5BT2R3cVdVWnZPeGVVY1FjdTVqOWlycmdZMUxLYUpTRmllaThlNXN3NEM1MWh3emdEbkZLOHdCZWZBdVVTY28vMytVdjVTWGQ4UG5GdUoyblR1U3h6T0VhUmN6MzNVYkMyVzUxaHlUa1RDOHR5T1BxNmNLVURnSEF2T0dSNDRwM2lsa0hNemNFNGE1MzR5NFJ4cDFNa2MxZlg5d0xuVk1KM2pScmt3SFRoM2QyRXhTeHluak1PNjVTWHhmQWVCY3l3NGwvT0NjS2xBNGViZ25Gek9aY2VVT0hjeldnL3ZMKzlUaUhPLzJwU2pOWjBiYk9NY0tLY1Y1MHhoY1VwRXd2SmMzREo0YXduT3NlS2M0UVhoVW9IQ1Baa3VPSGNLem9GejJ6bTM2Tk53NkdzTnFOdVNFcHhyMDQ0VTUvNC9uU05vT1hjWk9IZEE1aCtMU3lJU2x1ZjJLWU16QmVBY0o4NDFGOE01WENwUXVDbzRKNWx6WlZxY3V4NHVXbEVkMC9lWGx3bVR5RG55VjhTSlRlZHE5b1lJVXE3bkhySEpwS2JCMTVadkxSYUo0L2ZiWWQwYnJNNkJjNXc0Rnd6bnNEeW5kSlU1T0NlWmMrTUVuSXVVQnVkT2htSGFvQzZwNnFSd2p2cWRBbjg2TjZCVTNZNEV5bTMwbkFaZld6TGduRWluTTRkM1Jad3BBT2Y0Y0s3cGdYT3FWNXI2ellMQU9UbWN5eExuWEJEZVgrNEtuTnV2SzNDT0YrVzA0Unp4ankxRld1bXlQSWZWT1hDT0JlY01jRTc1cXVDY1pNNlZXWEFPcUlzVE9CY3phdE01MTc2UG9PWGN0TkpoZWM2ay9MR2xTREZkbHVld09nZk9jZUNjNFlGenFsZVlMamwzQ3M1SjRkeDRUR3QzYmhQbk5IdC9lWmt3Y0k0YjUrd3dncFRiYmpsd2J0OCtrUDNZVXFTZEhzdHp4UTRDNXhod0x1Y0Y0VktCeXBYQU9jbWN5MUxqM1BkaEdGQ1hWSFhINUJ6NXMzTzBPSGR1MjZBY09CZGtXZ1FUTXVLL1BKZkg2aHc0eDRSemhoZXpTZ3ZKYXI3Z1hCZzRKNE56WldxY3UvMDJYQXZ2THc4T25BUG5tTCt3L05lazF1WGUzL2J1WUNlTktBckFjRVpURmtoMWhCUWlDN3N3dEhGaHdCUXVKalF4czNIUkdKNmdpKzVjc0owRUNmWGRPd09rb1IzUndaaTU1NXo3LzIveDVkNXpqcnBOS001WFlRelA4ZGNTemhuZzNIbXlpa3NGa3Z2d0NPYzhjKzZuT3M1dG51ZEEzYnVoYnJTT3MzTnd6dXF6M0thdStVc0ZxampuZkdaL2VPNllNd1Z3emdibjhzYzVodWVFMTRGem5qbFhuNm5qM01GOUlmNWZycFBFdVludU5ISHU5Z2pLbGN6NGFzdXIzM280NS94M01UQmROangzM0NjNHA1NXpVUUxueE5kZWJuT3VCdWVxNTF4TEllZlNOTTFvQnVwMkpvQnpYeWJLMDhTNW15TW9WeXI3dzNOS0ZsczZHZGtmbnVOTUFad3p3TGtHbkpOZjh4SE9lZVpjNWpobGh3cHl6bTI2L3h2L0w0dDU1ZHpIaWZJQzQxeEJYZ1lwRndEbk5DeTJkSEt5UHp6SDZCeWMwOCs1S01sanRhWHNPbHVjeTRKemxYT3VycHB6bTBEZEM4RTVPT2VkY2tJc054N1BqWE5PK21KTEp5dnp3M09jS1lCeitqbDMzb0J6OGp0WndqblBuR3NwNU54ZFdvei9seThINStCYzhKVExNci9hVWpEbm5NQ01EODg5Y2FZQXp1bm5YSlRrY2FsQWRzMy9PRmVEYzFWemJqYlROenYzOEMwdHhQL0xVc0U1bTV3N2czSWxLSmQzWm55MXBkUk5LRTVtMW9mbitHc0o1OVJ6YnEwNUxoWElycjJFYzU0NVYxZkp1Ui9wS2xEM3hxcmczS2VKOGpSeDdyWXIwWEpqS2MyM3M3M2FVdVJpU3ljMzY3OHRlMzJDYzJGeGpsMG9YbXJDT1RqM0ZzNGRMTExTWjJLb2JvL2duQm5PM1hTbFVVNk01ZVpaQVhGTzNHSkxKN3lCNlM3Z0hKelR6cmtvZ1hNSzZteHhiaDJjcTVoek03MmMyNVNtUXA3cU5BL1ZqVlp4ZGs0dDU4WlFyZ1RsOG96dlFoRzEyTklwNk5mQWNOZUhjWi9nbkc3T05lQ2NndHBMT09lWmMzWDluQk9HT3AxUGRhTVJuRlBOT1RtV0d3dHBuaFVpNXk2bDVIUmsrbFRCZFM5bWVBN082ZVpjbE9TeDJsSjR6U0xuYW5BT3pwV1luVnVzQW5WeU9hZitpcmc5emcwTGhXYzU2NXk3a2pFNjUvUmtlM2d1anZsdENlZFVjKzQ4MmJ1dlZIMGRPT2ViY3kyZG5MdExGenRpcUU0STU5UXZ0bFRGdWM5UXJnemxBcmhVNEo5elRsa0R3NTNDT1Rpbm5ITlJrc2VsQXVHZExPR2NiODdOZEhMdTRmdGlLK2xQZFFxRzZ1Q2NZYzROQ3dWTHVieXU1VXNGK3kyMkRKNXllYWNEdS9YaU9PNVBhVmR3VGp6bjFwcmpVb0gwbWdYT1pjRzVLamxYMThxNXpmQ2NKdFNKZnFxRGMxWTVWNUJYMEpRenY5cXkvR0pMS0JmQThGek91ZDZVNEp4YXpqV1NMSGFoU0srOWhITytPZGV5enpsUUIrZnNjKzZJWjdsL0MzVjRydVJpU3l3WHhQRGNVd3puNEp4cXprVUpuTk5RODFuTzFlQmNoWnliaGNJNWh1cGU1eHhuNXl4eGJsZ0l5b1hBdWN0WGczTEJETThkeG5sVDJ0VWZjUDJJbDFGa2tOSUFBQUFBU1VWT1JLNUNZSUk9KTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuXHJcbi8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuLy8gICAgIC5vcmctaGVhZDpiZWZvcmUsIC5vcmctZm9vdGVyOmFmdGVyIHtcclxuLy8gICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWndvZ0lIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJS0lDQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJZ29nSUdobGFXZG9kRDBpTXpBd0lnb2dJSGRwWkhSb1BTSTNNakFpQ2lBZ2RtVnljMmx2YmowaU1TNHhJZ29nSUhrOUlqQWlDaUFnZUQwaU1DSUtJQ0IyYVdWM1FtOTRQU0l3SURBZ056SXdJRE13TUNJK0NpQWdQSE4wZVd4bElIUjVjR1U5SW5SbGVIUXZZM056SWo0S0lDQWdJQzV6ZERBZ2V3b2dJQ0FnSUNCbWFXeHNPaUIxY213b0lpTlRWa2RKUkY4eFh5SXBPd29nSUNBZ2ZRb2dJQ0FnTG5OME1TQjdDaUFnSUNBZ0lHWnBiR3c2SUhWeWJDZ2lJMU5XUjBsRVh6SmZJaWs3Q2lBZ0lDQjlDaUFnSUNBdWMzUXlJSHNLSUNBZ0lDQWdabWxzYkRvZ2RYSnNLQ0lqVTFaSFNVUmZNMThpS1RzS0lDQWdJSDBLSUNBZ0lDNXpkRE1nZXdvZ0lDQWdJQ0JtYVd4c09pQjFjbXdvSWlOVFZrZEpSRjgwWHlJcE93b2dJQ0FnZlFvZ0lDQWdMbk4wTkNCN0NpQWdJQ0FnSUdacGJHdzZJSFZ5YkNnaUkxTldSMGxFWHpWZklpazdDaUFnSUNCOUNpQWdJQ0F1YzNRMUlIc0tJQ0FnSUNBZ1ptbHNiRG9nSTBGR01qQXlORHNLSUNBZ0lIMEtJQ0FnSUM1emREWWdld29nSUNBZ0lDQm1hV3hzT2lCMWNtd29JaU5UVmtkSlJGODJYeUlwT3dvZ0lDQWdmUW9nSUNBZ0xuTjBOeUI3Q2lBZ0lDQWdJR1pwYkd3NklDTTVOREZDTVVVN0NpQWdJQ0I5Q2lBZ0lDQXVjM1E0SUhzS0lDQWdJQ0FnWm1sc2JEb2dJMEl4TWpjek9Uc0tJQ0FnSUgwS0lDQWdJQzV6ZERrZ2V3b2dJQ0FnSUNCbWFXeHNPaUFqT1RVeU5ETXlPd29nSUNBZ2ZRb2dJQ0FnTG5OME1UQWdld29nSUNBZ0lDQm1hV3hzT2lBalJEUXlNREkzT3dvZ0lDQWdmUW9nSUNBZ0xuTjBNVEVnZXdvZ0lDQWdJQ0JtYVd4c09pQjFjbXdvSWlOVFZrZEpSRjgzWHlJcE93b2dJQ0FnZlFvZ0lDQWdMbk4wTVRJZ2V3b2dJQ0FnSUNCbWFXeHNPaUIxY213b0lpTlRWa2RKUkY4NFh5SXBPd29nSUNBZ2ZRb2dJQ0FnTG5OME1UTWdld29nSUNBZ0lDQm1hV3hzT2lBak1VTTVRVFE0T3dvZ0lDQWdmUW9nSUNBZ0xuTjBNVFFnZXdvZ0lDQWdJQ0JtYVd4c09pQjFjbXdvSWlOVFZrZEpSRjg1WHlJcE93b2dJQ0FnZlFvZ0lDQWdMbk4wTVRVZ2V3b2dJQ0FnSUNCbWFXeHNPaUIxY213b0lpTlRWa2RKUkY4eE1GOGlLVHNLSUNBZ0lIMEtJQ0FnSUM1emRERTJJSHNLSUNBZ0lDQWdabWxzYkRvZ0l6SkJNemc0TmpzS0lDQWdJSDBLSUNBZ0lDNXpkREUzSUhzS0lDQWdJQ0FnWm1sc2JEb2dkWEpzS0NJalUxWkhTVVJmTVRGZklpazdDaUFnSUNCOUNpQWdJQ0F1YzNReE9DQjdDaUFnSUNBZ0lHWnBiR3c2SUhWeWJDZ2lJMU5XUjBsRVh6RXlYeUlwT3dvZ0lDQWdmUW9nSUNBZ0xuTjBNVGtnZXdvZ0lDQWdJQ0JtYVd4c09pQjFjbXdvSWlOVFZrZEpSRjh4TTE4aUtUc0tJQ0FnSUgwS0lDQWdJQzV6ZERJd0lIc0tJQ0FnSUNBZ1ptbHNiRG9nZFhKc0tDSWpVMVpIU1VSZk1UUmZJaWs3Q2lBZ0lDQjlDaUFnUEM5emRIbHNaVDRLSUNBOFp5QjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d0TVM0MU5Td3RNeTR6S1NJK0NpQWdJQ0E4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYekZmSWlCNU1qMGlMVE15TGpZMk15SWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUhreFBTSXRNekl1TmpZeklpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtERWdNQ0F3SUMweElDMHhNVGd1T1RnZ01USXdMalUwS1NJZ2VESTlJamcwTWk0d09DSWdlREU5SWpFeE9DNDVPQ0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXprMU1qTXpNU0lnYjJabWMyVjBQU0l3SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6a3lNVU14UkNJZ2IyWm1jMlYwUFNJdU1ETTJNRGswSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwSXdNamN6T1NJZ2IyWm1jMlYwUFNJdU1EZzBOalE1SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwRkVNVVl5TkNJZ2IyWm1jMlYwUFNJdU1USXpOeUl2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE56SXdNallpSUc5bVpuTmxkRDBpTGpFMU1Ea2lMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRReU1ESTNJaUJ2Wm1aelpYUTlJaTR4TmprM0lpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJME5ETWpRek1TSWdiMlptYzJWMFBTSXVNVGMxT0NJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkNOekpDTkVNaUlHOW1abk5sZEQwaUxqRTRPRGdpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak9UVXpNemN4SWlCdlptWnpaWFE5SWk0eU1EYzBJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpnNE16VTNSaUlnYjJabWMyVjBQU0l1TWpFME1pSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU00TlRNMk9ERWlJRzltWm5ObGREMGlMakkwTXpZaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpOa1l6TmpoQ0lpQnZabVp6WlhROUlpNHlOak00SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6TTVOREk0UmlJZ2IyWm1jMlYwUFNJdU1qa3hNU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNeU16TkVOMFFpSUc5bVpuTmxkRDBpTGpNeU5ESWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTXpJeVF6WkdJaUJ2Wm1aelpYUTlJaTQwTVRneElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekpCTXpnNE5TSWdiMlptYzJWMFBTSXVORGswSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6RkVOakpCTVNJZ2IyWm1jMlYwUFNJdU5UVTRNU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNeU56WkRRVFVpSUc5bVpuTmxkRDBpTGpVM01ESWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTkRNNFJVSXpJaUJ2Wm1aelpYUTlJaTQyTVRBeklpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJelUxUVRWQ1F5SWdiMlptYzJWMFBTSXVOak01T1NJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTTFRMEZHUWtZaUlHOW1abk5sZEQwaUxqWTFOVFlpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak5UWkJRa0pFSWlCdlptWnpaWFE5SWk0Mk56YzNJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpRek9VWkNPQ0lnYjJabWMyVjBQU0l1TnpBMU9DSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU14T0RoRlFVWWlJRzltWm5ObGREMGlMamN6TnpJaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpNRE00UWtGRklpQnZabVp6WlhROUlpNDNOREkySWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6QTJPVEk1TWlJZ2IyWm1jMlYwUFNJdU56ZzVPQ0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNd05VRXhORUlpSUc5bVpuTmxkRDBpTGpnNE56VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTURNNU1qZEZJaUJ2Wm1aelpYUTlJakVpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4eVpXTjBJSGRwWkhSb1BTSTNNak11TVNJZ2VUMGlNQ0lnZUQwaU1DSWdhR1ZwWjJoMFBTSXpNRFl1TkNJZ1kyeGhjM005SW5OME1DSWdabWxzYkQwaWRYSnNLQ05UVmtkSlJGOHhYeWtpTHo0S0lDQWdJRHhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpVTFaSFNVUmZNbDhpSUhreVBTSXRNVEE1TGpJMklpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZVRFOUlpMHhNRGt1TWpZaUlHZHlZV1JwWlc1MFZISmhibk5tYjNKdFBTSnRZWFJ5YVhnb01TQXdJREFnTFRFZ0xURXhPQzQ1T0NBeE1qQXVOVFFwSWlCNE1qMGlNak0xTGprNElpQjRNVDBpTXpJMUxqQTRJajQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqT0Rrek5qZ3dJaUJ2Wm1aelpYUTlJakFpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak9Ea3pOamd3SWlCdlptWnpaWFE5SWk0ek16VTBJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpoRU16RTJSQ0lnYjJabWMyVjBQU0l1TlRBeU5TSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU01TURJNU5FUWlJRzltWm5ObGREMGlMamd6T1RnaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpPVEF5TlRReElpQnZabVp6WlhROUlqRWlMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlNVGMxTGpFZ01UVXpMaklnTVRFM0lETXdOaTQwSURJd05pNHhJRE13Tmk0MElpQm1hV3hzUFNKMWNtd29JMU5XUjBsRVh6SmZLU0lnWTJ4aGMzTTlJbk4wTVNJdlBnb2dJQ0FnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjh6WHlJZ2VUSTlJaTA0TWk0eU9EUWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNU1UMGlNVEl3TGpJMElpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtERWdNQ0F3SUMweElDMHhNVGd1T1RnZ01USXdMalUwS1NJZ2VESTlJalEwTmk0MU5TSWdlREU5SWpRM09DNDVNeUkrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpNeU1rTTJSaUlnYjJabWMyVjBQU0l3SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6TXlNa00yUmlJZ2IyWm1jMlYwUFNJdU1qUXlOeUl2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNek1ESkdOeklpSUc5bVpuTmxkRDBpTGpRMU9Ua2lMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTWtFelFUZEZJaUJ2Wm1aelpYUTlJaTQzTVRVMUlpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekUxTkVFNU15SWdiMlptYzJWMFBTSXVPVGc1TmlJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXhNelJDT1RRaUlHOW1abk5sZEQwaU1TSXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSXlPRGd1TkNBeE5UTXVNaUF6TVRBdU55QXpNRFl1TkNBek5UZ3VNU0F6TURZdU5DQXpOVGd1TVNBd0lETXhNaTQ1SURBaUlHWnBiR3c5SW5WeWJDZ2pVMVpIU1VSZk0xOHBJaUJqYkdGemN6MGljM1F5SWk4K0NpQWdJQ0E4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYelJmSWlCNU1qMGlMVE15TGpZMk15SWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUhreFBTSXRNekl1TmpZeklpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtERWdNQ0F3SUMweElDMHhNVGd1T1RnZ01USXdMalUwS1NJZ2VESTlJak0zTWk0NE9DSWdlREU5SWpJNU5DNHdPQ0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpaR016YzRSQ0lnYjJabWMyVjBQU0l3SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6TkJOREk1TVNJZ2IyWm1jMlYwUFNJeElpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhjRzlzZVdkdmJpQndiMmx1ZEhNOUlqRTNOUzR4SURFMU15NHlJREl3Tmk0eElETXdOaTQwSURJMU15NDVJREUxTXk0eUlESXdPUzQwSURBZ01qQTVMalFnTUNJZ1ptbHNiRDBpZFhKc0tDTlRWa2RKUkY4MFh5a2lJR05zWVhOelBTSnpkRE1pTHo0S0lDQWdJRHhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpVTFaSFNVUmZOVjhpSUhreVBTSXRNekl1TmpZeklpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZVRFOUlpMHpNaTQyTmpNaUlHZHlZV1JwWlc1MFZISmhibk5tYjNKdFBTSnRZWFJ5YVhnb01TQXdJREFnTFRFZ0xURXhPQzQ1T0NBeE1qQXVOVFFwSWlCNE1qMGlNekkxTGpBNElpQjRNVDBpTkRNeExqZzRJajQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTWpNelJEZEVJaUJ2Wm1aelpYUTlJakFpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak1qa3pSRGRFSWlCdlptWnpaWFE5SWk0eU5EazFJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpOQk0wTTRNQ0lnYjJabWMyVjBQU0l1TlRRME5pSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU0xTVROQ09EUWlJRzltWm5ObGREMGlMamcyTVRZaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpOVVF6UVRnMklpQnZabVp6WlhROUlqRWlMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlNalV6TGprZ01UVXpMaklnTWpBMkxqRWdNekEyTGpRZ016RXdMamNnTXpBMkxqUWdNamc0TGpRZ01UVXpMaklnTXpFeUxqa2dNQ0F5TURrdU5DQXdJaUJtYVd4c1BTSjFjbXdvSTFOV1IwbEVYelZmS1NJZ1kyeGhjM005SW5OME5DSXZQanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlNVEUyTGpFZ01DQTFOUzQzSURBZ05UVXVOeUE1TkM0NElEZzVMamtnTVRVekxqSWdOVFV1TnlBeU1URXVOaUExTlM0M0lETXdOaTQwSURFeE55QXpNRFl1TkNBNU5TNHlJREUxTXk0eUlpQm1hV3hzUFNJallXWXlNREkwSWlCamJHRnpjejBpYzNRMUlpOCtDaUFnSUNBOGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUlsTldSMGxFWHpaZklpQjVNajBpTkRNdU9UTTNJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VURTlJalF6TGprek55SWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3hJREFnTUNBdE1TQXRNVEU0TGprNElERXlNQzQxTkNraUlIZ3lQU0l5TXpJdU5qY2lJSGd4UFNJek1qa3VNVEVpUGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNNE9UTTJPREFpSUc5bVpuTmxkRDBpTUNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTTRPVE0yT0RBaUlHOW1abk5sZEQwaUxqTXpOVFFpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak9FUXpNVFpFSWlCdlptWnpaWFE5SWk0MU1ESTFJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXprd01qazBSQ0lnYjJabWMyVjBQU0l1T0RNNU9DSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU01TURJMU5ERWlJRzltWm5ObGREMGlNU0l2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0l4TnpVdU1TQXhOVE11TWlBeU1Ea3VOQ0F3SURFeE5pNHhJREFpSUdacGJHdzlJblZ5YkNnalUxWkhTVVJmTmw4cElpQmpiR0Z6Y3owaWMzUTJJaTgrUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTlM0M0lEazBMamdnTlRVdU55QXdJREFnTUNJZ1ptbHNiRDBpSXprME1XSXhaU0lnWTJ4aGMzTTlJbk4wTnlJdlBqeHdiMng1WjI5dUlIQnZhVzUwY3owaU5UVXVOeUF5TVRFdU5pQTRPUzQ1SURFMU15NHlJRFUxTGpjZ09UUXVPQ0lnWm1sc2JEMGlJMkl4TWpjek9TSWdZMnhoYzNNOUluTjBPQ0l2UGp4d2IyeDVaMjl1SUhCdmFXNTBjejBpTlRVdU55QXlNVEV1TmlBd0lETXdOaTQwSURVMUxqY2dNekEyTGpRaUlHWnBiR3c5SWlNNU5ERmlNV1VpSUdOc1lYTnpQU0p6ZERjaUx6NDhjRzlzZVdkdmJpQndiMmx1ZEhNOUlqVTFMamNnT1RRdU9DQXdJREFnTUNBek1EWXVOQ0ExTlM0M0lESXhNUzQySWlCbWFXeHNQU0lqT1RVeU5ETXlJaUJqYkdGemN6MGljM1E1SWk4K1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJeE1UWXVNU0F3SURrMUxqSWdNVFV6TGpJZ01URTNJRE13Tmk0MElERTNOUzR4SURFMU15NHlJaUJtYVd4c1BTSWpaRFF5TURJM0lpQmpiR0Z6Y3owaWMzUXhNQ0l2UGdvZ0lDQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0pUVmtkSlJGODNYeUlnZVRJOUlpMHhPRFl1TURZaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJaUI1TVQwaU1USXdMalEwSWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWJXRjBjbWw0S0RFZ01DQXdJQzB4SUMweE1UZ3VPVGdnTVRJd0xqVTBLU0lnZURJOUlqYzBPQzQ1TmlJZ2VERTlJamMwT0M0NU5pSStQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJemswUWtVMU5TSWdiMlptYzJWMFBTSXdJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXprelFrUTFPQ0lnYjJabWMyVjBQU0l1TURRME16UXdJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpoQ1FrTTJRU0lnYjJabWMyVjBQU0l1TXpnNU1TSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU00TmtKRE56VWlJRzltWm5ObGREMGlMamN4TkRraUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpPRFJDUXpjNUlpQnZabVp6WlhROUlqRWlMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanh3WVhSb0NpQWdJQ0FnSUdROUltMDJOREV1TmlBeU5Ua3VObU14TGpjdE1qVXVOQ0F4TUMwMU5DNDJJREU0TGpndE9EVXVOaUF4TGpRdE5TQXlMamd0TVRBZ05DNHlMVEUxTGpFdE1TNDBMVFV1TlMweUxqZ3RNVEF1T1MwMExqSXRNVFl1TWkwNExqZ3RNek11TXkweE55MDJOQzQzTFRFNExqZ3RPVEl0TVM0MExUSXhMaklnTVM0MExUTTNJRGd1T1MwMU1DNDJhQzAwTlM0NVl5MDNMalVnTVRndU15MHhNQzR6SURJNUxqRXRPQzQ1SURVd0xqTWdNUzQzSURJM0xqTWdNVEFnTlRndU55QXhPQzQ0SURreUlERXpJRFE1TGpNZ01qZ2dNVEEyTGpJZ01qTXVNaUF4TmpRdU1tZ3hNaTQ1WXkwM0xqWXRNVEl1T0MweE1DNDBMVEkzTGpNdE9TMDBOM29pQ2lBZ0lDQWdJR05zWVhOelBTSnpkREV4SWdvZ0lDQWdJQ0JtYVd4c1BTSjFjbXdvSTFOV1IwbEVYemRmS1NJdlBnb2dJQ0FnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjg0WHlJZ2VUSTlJaTB4T0RRdU5EVWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNU1UMGlNVEUzTGpJNUlpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtERWdNQ0F3SUMweElDMHhNVGd1T1RnZ01USXdMalUwS1NJZ2VESTlJamN6TXk0ME9TSWdlREU5SWpZMU15NDNOaUkrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpBNFFUSTBRaUlnYjJabWMyVjBQU0l3SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6QkJRVEUwUlNJZ2IyWm1jMlYwUFNJdU1UWTNPQ0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNd1FqbEZOVGNpSUc5bVpuTmxkRDBpTGpRd05EY2lMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTURrNVFUWTNJaUJ2Wm1aelpYUTlJaTQyT0RJM0lpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekEwT1RRM1JDSWdiMlptYzJWMFBTSXVPVGc1T0NJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXdORGt6TjBVaUlHOW1abk5sZEQwaU1TSXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQSEJoZEdnZ1pEMGliVFl4TkM0MUlERTBNaTR6WXkwNExqZ3RNek11TXkweE55MDJOQzQzTFRFNExqZ3RPVEl0TVM0MExUSXhMaklnTVM0MExUTXlJRGd1T1MwMU1DNHphQzB6TlM0MFl6VXVOeUExTXk0NUxUTXVPQ0F4TURZdU55MHhNeTQySURFMk5pNDRMVFV1TnlBek5TMHhNUzQzSURjeExqTXRNVE11TWlBeE1EQXVOaTB4TGpFZ01qRXVNU0F3TGpRZ016SXVPQ0F4TGpnZ016bG9PVE11TldNMExqZ3ROVGN1T1MweE1DNHpMVEV4TkM0NExUSXpMakl0TVRZMExqRjZJaUJqYkdGemN6MGljM1F4TWlJZ1ptbHNiRDBpZFhKc0tDTlRWa2RKUkY4NFh5a2lMejQ4Y0dGMGFDQmpiR0Z6Y3owaWMzUXhNeUlnWm1sc2JEMGlJekZqT1dFME9DSWdaRDBpYlRZMk5DNDJJREUxT0M0NVl5MHhMalFnTlM0eExUSXVPQ0F4TUM0eExUUXVNaUF4TlM0eExUZ3VPQ0F6TVMweE55QTJNQzR5TFRFNExqZ2dPRFV1TmkweExqUWdNVGt1TnlBeExqUWdNelF1TWlBNUlEUTJMamxvTXpOak5DNHlMVFV4TGpndE55NHlMVEV3TWk0ekxURTVMVEUwTnk0MmVpSXZQZ29nSUNBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSlRWa2RKUkY4NVh5SWdlVEk5SWkweE9EVXVPVFlpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElpQjVNVDBpTVRJd0xqVTBJaUJuY21Ga2FXVnVkRlJ5WVc1elptOXliVDBpYldGMGNtbDRLREVnTUNBd0lDMHhJQzB4TVRndU9UZ2dNVEl3TGpVMEtTSWdlREk5SWpneE1pNDRNeUlnZURFOUlqZ3hNaTQ0TXlJK1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6WTVRVEEyTUNJZ2IyWm1jMlYwUFNJd0lpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJell6T1VRMVF5SWdiMlptYzJWMFBTSXVNRE01T0RrMUlpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJelJET1RRMFJpSWdiMlptYzJWMFBTSXVNakU1TWlJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXpOemhGTkRjaUlHOW1abk5sZEQwaUxqUXhPRFFpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak1qazRRalEwSWlCdlptWnpaWFE5SWk0Mk5URTFJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpJek9FRTBNeUlnYjJabWMyVjBQU0l4SWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OGNHRjBhQ0JrUFNKdE5qZ3dMalVnTUdNeE1DNDNJRFUxTGpNdE1pNDFJREV4TUM0MExURTFMamtnTVRVNExqa2dNVEV1TnlBME5TNHpJREl6TGpJZ09UVXVPQ0F4T0M0NUlERTBOeTQyYURNNUxqWjJMVE13Tmk0MWFDMDBNaTQyZWlJZ1kyeGhjM005SW5OME1UUWlJR1pwYkd3OUluVnliQ2dqVTFaSFNVUmZPVjhwSWk4K0NpQWdJQ0E4YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SWxOV1IwbEVYekV3WHlJZ2VUSTlJaTB4T0RVdU9EWWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNU1UMGlNVEl3TGpVMElpQm5jbUZrYVdWdWRGUnlZVzV6Wm05eWJUMGliV0YwY21sNEtERWdNQ0F3SUMweElDMHhNVGd1T1RnZ01USXdMalUwS1NJZ2VESTlJalkxTWk0ME5TSWdlREU5SWpZMU1pNDBOU0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpBMVFqVkVReUlnYjJabWMyVjBQU0l3SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6QTBRakJFTnlJZ2IyWm1jMlYwUFNJdU1qRTVOeUl2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNd05VRTBRemtpSUc5bVpuTmxkRDBpTGpVek56RWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTURVNU1VSTBJaUJ2Wm1aelpYUTlJaTQ1TVRJeUlpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekExT0VOQlJTSWdiMlptYzJWMFBTSXhJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4Y0dGMGFDQmtQU0p0TlRReUxqTWdNalkzTGpSak1TNDFMVEk1TGpRZ055NDFMVFkxTGpZZ01UTXVNaTB4TURBdU5pQTVMamd0TmpBdU1TQXhPUzR6TFRFeE1pNDRJREV6TGpZdE1UWTJMamhvTFRjd0xqaGpMVEV1TkNBeE1TNDBMVEl1T1NBeE9TNHlMVEV1T0NBME1TNDRJREV1TlNBek1TNDJJRGN1TlNBM01DNDFJREV6TGpJZ01UQTRMaklnT0M0MElEVTFMalFnTVRZdU5pQXhNRGd1T0NBeE5TNHhJREUxTmk0MGFERTVMakpqTFRFdU15MDJMakl0TWk0NExURTNMamt0TVM0M0xUTTVlaUlnWTJ4aGMzTTlJbk4wTVRVaUlHWnBiR3c5SW5WeWJDZ2pVMVpIU1VSZk1UQmZLU0l2UGp4d2IyeDVaMjl1SUhCdmFXNTBjejBpTXpjMUxqY2dNVFV6TGpJZ016VTRMakVnTUNBek5UZ3VNU0F6TURZdU5DSWdabWxzYkQwaUl6SmhNemc0TmlJZ1kyeGhjM005SW5OME1UWWlMejRLSUNBZ0lEeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlVMVpIU1VSZk1URmZJaUI1TWowaU56Y3VNVE0ySWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlVEU5SWkwMExqTXlPREVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTVNBd0lEQWdMVEVnTFRFeE9DNDVPQ0F4TWpBdU5UUXBJaUI0TWowaU56azJMamN4SWlCNE1UMGlOelV4TGpBMUlqNDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpOakpDTVRaRklpQnZabVp6WlhROUlqQWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqT0RkQ09UVTNJaUJ2Wm1aelpYUTlJakVpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4d1lYUm9JR1E5SW0wMk5ERXVOaUExTUM0Mll6RXVOeUF5Tnk0eklERXdJRFU0TGpjZ01UZ3VPQ0E1TWlBeExqUWdOUzR6SURJdU9DQXhNQzQzSURRdU1pQXhOaTR5SURFekxqVXRORGd1TkNBeU5pNDJMVEV3TXk0MUlERTFMamt0TVRVNExqaG9MVE13WXkwM0xqVWdNVE11TmkweE1DNHpJREk1TGpRdE9DNDVJRFV3TGpaNklpQmpiR0Z6Y3owaWMzUXhOeUlnWm1sc2JEMGlkWEpzS0NOVFZrZEpSRjh4TVY4cElpOCtDaUFnSUNBOGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUlsTldSMGxFWHpFeVh5SWdlVEk5SWkweE9Ea3VNamdpSUdkeVlXUnBaVzUwVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElpQjVNVDBpTVRFekxqY3hJaUJuY21Ga2FXVnVkRlJ5WVc1elptOXliVDBpYldGMGNtbDRLREVnTUNBd0lDMHhJQzB4TVRndU9UZ2dNVEl3TGpVMEtTSWdlREk5SWpZek1TNDFPU0lnZURFOUlqVTFNQzQwSWo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak1EWTVRVVEwSWlCdlptWnpaWFE5SWpBaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpNekJCTUVORklpQnZabVp6WlhROUlpNHpOVEkxSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6VkNRakJETUNJZ2IyWm1jMlYwUFNJeElpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhjR0YwYUNCa1BTSnROVEE1TGpnZ01UVXdZeTAxTGpjdE16Y3VOeTB4TVM0M0xUYzJMall0TVRNdU1pMHhNRGd1TWkweExqRXRNakl1TnlBd0xqUXRNekF1TkNBeExqZ3ROREV1T0dndE5ERXVOV014TGpVZ05EQXVNUzB4TGpVZ09EVXVNeTAzSURFMk1DNDRMVE11TVNBME15NDFMVGdnTVRFd0xqVXROeUF4TkRVdU4yZzRNaTR4WXpFdU5DMDBOeTQzTFRZdU9DMHhNREV1TVMweE5TNHlMVEUxTmk0MWVpSWdZMnhoYzNNOUluTjBNVGdpSUdacGJHdzlJblZ5YkNnalUxWkhTVVJmTVRKZktTSXZQZ29nSUNBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSlRWa2RKUkY4eE0xOGlJSGt5UFNJdE1UZzFMamcySWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlVEU5SWpFeU1DNDFOQ0lnWjNKaFpHbGxiblJVY21GdWMyWnZjbTA5SW0xaGRISnBlQ2d4SURBZ01DQXRNU0F0TVRFNExqazRJREV5TUM0MU5Da2lJSGd5UFNJMU1EVXVNek1pSUhneFBTSTFNRFV1TXpNaVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXhSVFExT0VVaUlHOW1abk5sZEQwaU1DSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU14UmpSR09UWWlJRzltWm5ObGREMGlMakkwTVRFaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpNa0kyUVVGQ0lpQnZabVp6WlhROUlpNDNNamt5SWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6TXpOMEpDT1NJZ2IyWm1jMlYwUFNJeElpOCtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENDhjRzlzZVdkdmJpQndiMmx1ZEhNOUlqTTFPQzR4SURNd05pNDBJRFF4TkM0MklETXdOaTQwSURReE5DNDJJREFnTXpVNExqRWdNQ0F6TnpVdU55QXhOVE11TWlJZ1ptbHNiRDBpZFhKc0tDTlRWa2RKUkY4eE0xOHBJaUJqYkdGemN6MGljM1F4T1NJdlBnb2dJQ0FnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjh4TkY4aUlIa3lQU0l4TWpBdU5UUWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWlCNU1UMGlMVEU0TlM0NE5pSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3hJREFnTUNBdE1TQXRNVEU0TGprNElERXlNQzQxTkNraUlIZ3lQU0kxTlRRdU9USWlJSGd4UFNJMU5UUXVPVElpUGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNelJqbEJRemtpSUc5bVpuTmxkRDBpTUNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXlNRFl5UVRJaUlHOW1abk5sZEQwaU1TSXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQSEJoZEdnZ1pEMGliVFEwT1M0NUlERTJNQzQ0WXpVdU5TMDNOUzQxSURndU5TMHhNakF1TmlBM0xURTJNQzQ0YUMwME1pNHliQzB3TGpFZ016QTJMalJvTWpndU0yTXRNUzB6TlM0eElETXVPQzB4TURJdU1TQTNMVEUwTlM0MmVpSWdZMnhoYzNNOUluTjBNakFpSUdacGJHdzlJblZ5YkNnalUxWkhTVVJmTVRSZktTSXZQand2Wno0S1BDOXpkbWMrQ2c9PSk7XHJcbi8vICAgICB9XHJcbi8vIH0iLCIuaW1nLTE2LTktc3BlY2lhbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBtYXgtaGVpZ2h0OiA1MjdweDtcclxuICAgIC8vIG1pbi1oZWlnaHQ6IDM2OXB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmctdG9wOiA5cHggLyAxNnB4ICogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0LXNpbmdsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCAxNXB4IDNweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnNlbGVjdC1jb250YWluZXIgLnNlbGVjdC1zaW5nbGU6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xyXG4gICAgZm9udC1mYW1pbHk6IFwic3ludGVnb25cIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMXB4O1xyXG4gICAgcmlnaHQ6IDFweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgY29sb3I6ICMwMGJlODI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xyXG59XHJcblxyXG4uc2VsZWN0LWNvbnRhaW5lciBzZWxlY3Qge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgcGFkZGluZzogN3B4IDQwcHggMTFweCAxMHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi5zYWxlcy1zZWxlY3Rpb24gLnNlbGVjdC1jb250YWluZXJ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0NHB4O1xyXG59IiwiLm1vbC1ob3RzcG90IHtcclxuXHRAaW5jbHVkZSBzdGQtYm94LW1hcmdpbjtcclxuXHJcblx0aDIge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmltZy1jb250ZW50IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRyYW5zaXRpb246IGZpbHRlciBlYXNlLWluLW91dCA1MDBtcztcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXYuc3BvdHMgYSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAyMTlweDtcclxuXHRcdFx0bGVmdDogODMzcHg7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdFx0XHR3aWR0aDogNTBweDtcclxuXHRcdFx0aGVpZ2h0OiA1MHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdGJvcmRlcjogNXB4IHNvbGlkICR3aGl0ZTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlxcZTkxOVwiO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjVweDtcclxuXHRcdFx0XHR0b3A6IDIxcHg7XHJcblx0XHRcdFx0bGVmdDogMjBweDtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiBjYWxjKDEwMCUgKyAxNXB4KTtcclxuXHRcdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIgMTIuNSAxIDEyLjUpO1xyXG5cdFx0XHRcdHotaW5kZXg6IDQ7XHJcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gNXB4KTtcclxuXHRcdFx0XHRcdHRvcDogLTEwcHg7XHJcblx0XHRcdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgNTAlIDAlLCAxMDAlIDEwMCUpO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdFx0XHR6LWluZGV4OiAzO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stMTA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxwaGE7XHJcblxyXG5cdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZm9sZG91dHMge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdHVsLmFjY29yZGlvbiB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGxpLmFjY29yZGlvbi1pdGVtIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblxyXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuXHJcblx0XHRhLmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRcdEBpbmNsdWRlIGgzO1xyXG5cclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdhbW1hO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcHg7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAyMXB4O1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMjJweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stMTA7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXB4O1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAyMXB4O1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyMnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogXCJcXGU5MTlcIjtcclxuXHRcdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0XHRyaWdodDogMzdweDtcclxuXHRcdFx0XHR0b3A6IDM2cHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0XHRcdHotaW5kZXg6IDE7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdHJpZ2h0OiAyMnB4O1xyXG5cdFx0XHRcdFx0dG9wOiBjYWxjKDUwJSArIDlweCk7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRcdHJpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdHRvcDogMjVweDtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdHJpZ2h0OiAxNXB4O1xyXG5cdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0ZGl2LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNzBweDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZS0zLWdhbW1hO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQub3ZlcmxheSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRvcGFjaXR5OiAwLjk1O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXktMjA7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0LmxlZnQge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcclxuXHJcblx0XHRcdGltZ3tcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5yaWdodCB7XHJcblx0XHRcdG1heC13aWR0aDogNTAlO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNjBweDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0Ly8gbWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0cGFkZGluZzogMCAzMHB4IDBweCAzMHB4O1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi14O1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlLTMtZ2FtbWE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNsb3NlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5pZ2h0LWdyZXktNjA7XHJcblx0XHRcdHRvcDogMjBweDtcclxuXHRcdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTBhXCI7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG5cdFx0XHRcdHRvcDogLTdweDtcclxuXHRcdFx0XHRyaWdodDogMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ob3RzcG90LXdyYXAge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdC5vdmVybGF5IHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaW1nLWNvbnRlbnR7XHJcblx0XHRcdFx0ZmlsdGVyOiBicmlnaHRuZXNzKC45NSkgYmx1cig1cHgpO1xyXG5cclxuXHRcdFx0XHQuc3BvdHN7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIub3JnLW1lc3NlIHtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZzogMjdweCAwIDAgMDtcclxuXHJcbiAgICAgICAgLnNlbGVjdC1zaW5nbGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJzeW50ZWdvblwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDlweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggNDBweCAxMXB4IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9yZy10ZWFzZXItbWVkaXVtIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG4gICAgfVxyXG59IiwiLm9yZy1sb2NhdGlvbnMge1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1hcCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYXBDb250YWluZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0OC4zNzQlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAubWFwQ29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwYWRkaW5nOiAyN3B4IDAgMCAwO1xyXG5cclxuICAgICAgICAuc2VsZWN0LXNpbmdsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweCAzcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInN5bnRlZ29uXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogOXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA0MHB4IDExcHggMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3JnLXRlYXNlci1tZWRpdW0ge1xyXG5cdFx0bWFyZ2luLXRvcDogMThweDtcclxuXHRcdFxyXG5cdFx0YS5sb2NhdGlvbi1oaWdobGlnaHR7XHJcblx0XHRcdGZpbHRlcjogZHJvcC1zaGFkb3coMnB4IDJweCA2cHggcmdiYSgwLDAsMCwuNjYpKTtcclxuXHRcdH1cclxuICAgIH1cclxufSIsIi5vcmctdGVhc2VyLXByb2R1Y3RzIHtcclxuICAgIEBpbmNsdWRlIHN0ZC1ib3gtbWFyZ2luO1xyXG5cclxuICAgICYuYWx0ZXItcG9zaXRpb24gLmNlbGwgdWx7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAkc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXktMjA7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4yMCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGNvbG9yLWJldGE7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIycHggMTBweCAyNHB4IDEwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDVweCAxNXB4IDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIub3JnLWNvb2tpZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvLyB0b3A6IDQwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHJpZ2h0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICBsZWZ0OiAkc3RkLXBhZGRpbmc7XHJcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5pZ2h0LWdyZXk7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoKTtcclxuXHRwYWRkaW5nOiAwIDMwcHggMzBweCAzMHB4O1xyXG4gICAgei1pbmRleDogOTk5OTk5OTk5O1xyXG5cclxuICAgIC5jbG9zZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTFweDtcclxuICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XHJcbiAgICAgICAgICAgIHRvcDogMzNweDtcclxuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTNweCkgcm90YXRlKDQ1ZGVnKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIzcHgpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxM3B4KSByb3RhdGUoLTQ1ZGVnKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyM3B4KSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgcGFkZGluZzogNDFweCA2MHB4IDJweCAwO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4LjZweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDYwcHggMTRweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMi41cHg7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvb2tpZS1jaGVjayB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxOXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3Bhbi5vdmVybGF5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAvLyAmOmFmdGVyIHtcclxuICAgICAgICAgICAgLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIC8vICAgICB0b3A6IDdweDtcclxuICAgICAgICAgICAgLy8gICAgIGxlZnQ6IDdweDtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgICAgICAgICAvLyAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYmU4MjtcclxuICAgICAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICAgICAgICAgIC8vICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAvLyAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0OmNoZWNrZWQrc3Bhbi5vdmVybGF5IHtcclxuICAgICAgICAgICAgLy8gJjphZnRlciB7XHJcbiAgICAgICAgICAgIC8vICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAvLyAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIyLjVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMThweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICBwLFxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjUuNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDE4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyAvLyBXdW5zY2ggdm9uIENvcmlubmFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29va2llLXN1Ym1pdCB7XHJcbiAgICAgICAgcHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjUuNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLmJ1dHRvbi5jb29raWUtc2F2ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIyLjVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMThweCA2MHB4IDE5cHggNjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA2MHB4IDIwcHggNjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvb2tpZS1hY3RpdmUge1xyXG4gICAgbWFpbiwgaGVhZGVyLCBmb290ZXIge1xyXG4gICAgICAgIGZpbHRlcjogYmx1cig1cHgpIGJyaWdodG5lc3MoMC44KTtcclxuICAgIH1cclxuXHJcbiAgICAub3JnLWNvb2tpZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb29raWUtbWluaS1hY3RpdmUge1xyXG4gICAgLm9yZy1jb29raWUtbWluaSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcmctY29va2llLW1pbml7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmlnaHQtZ3JleTtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIxIDMwIDI3IDMwKTtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQgcHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dCBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGV4dCBhe1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC50ZXh0IGE6YmVmb3JlIHtcclxuICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vICAgICBsZWZ0OiAwcHg7XHJcbiAgICAvLyAgICAgcmlnaHQ6IDA7XHJcbiAgICAvLyAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgLy8gcGFkZGluZzogcmVtLWNhbGMoMTEgMjApO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xyXG5cclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLy8gdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl17XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBmb3Jte1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3JnLWNvb2tpZS1taW5pLmZpeGVke1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59IiwiLnNlYXJjaFJlc3VsdHMge1xyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQycHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAkc3RkLXBhZGRpbmcgNXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gJjphZnRlciB7XHJcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvLyAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgLy8gICAgIGJvdHRvbTogMDtcclxuICAgICAgICAvLyAgICAgbGVmdDogLSRzdGQtcGFkZGluZztcclxuICAgICAgICAvLyAgICAgcmlnaHQ6IC0kc3RkLXBhZGRpbmc7XHJcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG5cclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vICAgICAgICAgbGVmdDogJHN0ZC1wYWRkaW5nO1xyXG4gICAgICAgIC8vICAgICAgICAgcmlnaHQ6ICRzdGQtcGFkZGluZztcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmltZy13cmFwIHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggMzBweDtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxsLXRyYW5zaXRpb24oKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGwtdHJhbnNpdGlvbigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJldGE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBwYWRkaW5nOiAzMXB4IDEwMHB4IDEwcHggMjFweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDBweCAxMHB4IDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwLmluZm8ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaFBhZ2Uge1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG4gICAgLnZpc3VhbGx5LWhpZGRlbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tZmlyc3QsXHJcbiAgICBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tbGFzdCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICB1bC5wYWdlcl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA5MHB4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgd2lkdEg6IDQwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA3cHg7XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tcHJldmlvdXMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IC01NXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLXByZXZpb3VzIGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLW5leHQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtNTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1uZXh0IGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkucGFnZXJfX2l0ZW0uaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay0yMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLWVsbGlwc2lzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybS52aWV3cy1leHBvc2VkLWZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3NzBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgIGRpdi5qcy1mb3JtLWl0ZW0tcXVlcnkge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dC5mb3JtLXRleHQge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhweCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1iYWNrLTEwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDExcHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dC5mb3JtLXN1Ym1pdCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTFweCAyMHB4IDExcHggMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsImZvcm17XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygwIDAgNDAgMCk7XHJcblxyXG4gICAgYXtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvcm0tY2hlY2tib3gge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDQpO1xyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuICAgICAgICBhcHBlYXJhbmNlOiBidXR0b247XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICRsaWdodC1ncmV5LTYwICFpbXBvcnRhbnQgO1xyXG4gICAgICAgIHdpZHRoIDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIGhlaWdodCA6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzIDogcmVtLWNhbGMoMyk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7IFxyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduIDogbWlkZGxlO1xyXG4gICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XHJcbiAgICBcclxuICAgICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxwaGEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZSA6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzE2JyBoZWlnaHQ9JzEzJyB2aWV3Qm94PScwIDAgMTggMTUnJTNFJTNDZGVmcyUzRSUzQ3BhdGggaWQ9J2ZtZmJhJyBkPSdNMzA3LjI3IDQ0NzYuOTNsMi44NCAyLjM1IDYuMzYtNy41NmEyIDIgMCAwIDEgMy41MiAxLjA2Yy4wNS41NS0uMTMgMS4wNS0uNDUgMS40NGwtNy42MyA5LjA2YTIgMiAwIDAgMS0yLjgyLjI2bC00LjM3LTMuNmExLjk2IDEuOTYgMCAwIDEgMS4wOC0zLjQ3Yy41Ni0uMDQgMS4wNy4xMyAxLjQ3LjQ2Jy8lM0UlM0NmaWx0ZXIgaWQ9J2ZtZmJiJyB3aWR0aD0nMzknIGhlaWdodD0nMzYnIHg9JzI5NCcgeT0nNDQ2MScgZmlsdGVyVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ2ZlT2Zmc2V0IGR4PScxJyBkeT0nMScgaW49J1NvdXJjZUdyYXBoaWMnIHJlc3VsdD0nRmVPZmZzZXQxMDQxT3V0Jy8lM0UlM0NmZUdhdXNzaWFuQmx1ciBpbj0nRmVPZmZzZXQxMDQxT3V0JyByZXN1bHQ9J0ZlR2F1c3NpYW5CbHVyMTA0Mk91dCcgc3RkRGV2aWF0aW9uPScwLjQgMC40Jy8lM0UlM0MvZmlsdGVyJTNFJTNDL2RlZnMlM0UlM0NnJTNFJTNDZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMzA0IC00NDcxKSclM0UlM0NnIGZpbHRlcj0ndXJsKCUyM2ZtZmJiKSclM0UlM0N1c2UgZmlsbD0nbm9uZScgc3Ryb2tlLW9wYWNpdHk9Jy4yJyBzdHJva2Utd2lkdGg9Jy0zLjRlKzM4JyB4bGluazpocmVmPSclMjNmbWZiYScvJTNFJTNDL2clM0UlM0N1c2UgZmlsbD0nJTIzZmZmJyB4bGluazpocmVmPSclMjNmbWZiYScvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGl2LmRlc2NyaXB0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7ICBcclxuICAgIH0gXHJcbiAgICBcclxuICAgIGRpdi5kZXNjcmlwdGlvbiA+IGRpdiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xyXG4gICAgfSAgIFxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5lcnJvciArIGRpdi5kZXNjcmlwdGlvbntcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFsZXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICAvLyBoZWlnaHQ6IHJlbS1jYWxjKDM3KTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJhY2stODA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICBmb250LWZhbWlseTogXCJzeW50ZWdvbnNhbnNcIjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyAgIFxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvcm0tdGV4dGFyZWEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmZvcm0tZmlsZS1pbnB1dHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblxyXG4gICAgYXtcclxuICAgICAgICBjb2xvcjogIzUyNWY2YjtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICAgICAgICBmb250LWZhbWlseTogXCJzeW50ZWdvbnNhbnNcIjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJde1xyXG4gICAgICAgIGNvbG9yOiAjZGMzMjUwO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl17XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlLTMtYmV0YTtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb257XHJcbiAgICAgICAgY29sb3I6ICM1MjVmNmI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic3ludGVnb25zYW5zXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uZm9ybS10ZXh0ZmllbGQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDQpO1xyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXIgOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQgOiAwIDA7XHJcbiAgICAgICAgYm94LXNoYWRvdyA6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbSA6IDFweCBzb2xpZCAkY29sb3ItYmFjay02MDtcclxuICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXIgOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kIDogMCAwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93IDogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNjNmM1YmE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAkY29sb3ItYmFjay0xMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmFjay02MDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmcgOiAwO1xyXG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICByaWdodDogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xyXG4gICAgICAgIHotaW5kZXg6IC0xMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6Zm9jdXMgKyBsYWJlbHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygzOSk7XHJcbiAgICAgICAgY29sb3IgOiAkY29sb3ItYmFjay02MDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dC5lZGl0ZWQgKyBsYWJlbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3R0b206IDIuNDM3NXJlbTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJhY2stNjA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlucHV0OmludmFsaWQge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgJGNvbG9yLWFsZXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0OnZhbGlkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICRjb2xvci1vaztcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dDpub3QoLmVkaXRlZCkgeyBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICRjb2xvci1iYWNrLTYwOyB9XHJcblxyXG4gICAgaW5wdXQuZXJyb3Ige1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgJGNvbG9yLWFsZXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0OnJlcXVpcmVkICsgbGFiZWwge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyAqJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uZm9ybS1yYWRpbyB7XHJcbiAgICBsZWdlbmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic3ludGVnb25zYW5zXCI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcblxyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogYnV0dG9uO1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuICAgICAgICBiYWNrZ3JvdW5kIDogJGNvbG9yLWJhY2stMjA7XHJcbiAgICAgICAgd2lkdGggOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgaGVpZ2h0IDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXMgOiA1MCU7XHJcbiAgICAgICAgbWFyZ2luIDogMDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZTtcclxuICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xyXG4gICAgXHJcbiAgICAgICAgJjpjaGVja2VkIHtcclxuICAgICAgICAgICAgYm9yZGVyIDogJGNvbG9yLWFscGhhIHNvbGlkIDhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZCA6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1zZWxlY3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDMpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDQpO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgICAuc2VsZWN0b3Ige1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJzeW50ZWdvblwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMSk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoOSk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcpIHJlbS1jYWxjKDQwKSByZW0tY2FsYygxMSkgcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgJi5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXIgOiAxcHggc29saWQgJGNvbG9yLWFsZXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgb3B0aW9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi5mb3JtLXN1Ym1pdCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLmJ1dHRvbi1jZW50ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53ZWJmb3JtLWxhYmVsIHtcclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNyk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1iYWNrLTgwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic3ludGVnb25zYW5zXCI7XHJcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgICBcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ud2ViZm9ybS1sYWJlbC1ib2xke1xyXG4gICAgbGFiZWx7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hbGVydC1ib3gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiByZW0tY2FsYyg3MCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFjay0xMDtcclxuICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgJGNvbG9yLWFsZXJ0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1hbGVydDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTAwKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsZXJ0LXN5bWJvbCB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzNyk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWxlcnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzApO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hbGVydC1lcnJvci1tZXNzYWdlIHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWxlcnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuICAgIH1cclxufVxyXG5cclxuLm1vbC13ZWJmb3JtIGgye1xyXG4gICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG59IiwiLm9yZy10ZWFzZXItcGhvdG9sb2FkIHtcclxuXHRAaW5jbHVkZSBzdGQtYm94LW1hcmdpbjtcclxuXHJcblx0aDIge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Y29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQzKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVsIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwICRzdGQtcGFkZGluZztcclxuXHRcdHdpZHRoOiAzMy4zMyU7XHJcblx0XHRmbGV4LWdyb3c6IDA7XHJcblx0XHRmbGV4LXNocmluazogMDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXYudGVhc2VyLWJveCB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5LTIwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xyXG5cclxuICAgICAgICAgICAgLmltZy0xNi05LXNwZWNpYWx7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTlhZmI1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG5cdFx0XHRpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbGVmdDo1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICRjb2xvci1iZXRhO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDE2cHggMTBweCAyNHB4IDEwcHg7XHJcblxyXG5cdFx0XHRcdGgzIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYmV0YTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQqOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzUyNWY2YjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkyNlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJhY2stNjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnByZXNzLXBpY3R1cmUtZXhwb3NlZHtcclxuICAgICAgICBmb3Jte1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb3JtLWl0ZW0tZmllbGQtdGFnLXRhcmdldC1pZHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInN5bnRlZ29uXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xyXG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogOXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3R7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAzOXB4IDExcHggMTRweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb3JtLWFjdGlvbnMuanMtZm9ybS13cmFwcGVye1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJlc3MtcGljdHVyZS1leHBvc2VkLXdyYXB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjFweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogLTE1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTI3cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGEtcGFnZXJ7XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrLTEwO1xyXG4gICAgICAgICAgICBtYXJnaW46IC0xcHggMCAwIDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwOGVjZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jbmV3cy1zdG9yeS1wcmVzcy1leHRyYSwgLm5ld3Mtc3RvcnktcHJlc3MtZXh0cmF7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDMwcHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB6LWluZGV4OiA5NztcclxuXHJcbiAgICAubnNwLWRvd25sb2FkIGF7XHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkyNlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uc3Atc3MtdG9nZ2xle1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlPU0lnYUdWcFoyaDBQU0l5T1NJZ2RtbGxkMEp2ZUQwaU1DQXdJREk1SURJNUlqNDhaejQ4Wno0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5Nakl1TnpVMklERTNMamc0WVRVdU5UZ3lJRFV1TlRneUlEQWdNQ0F4SURVdU5UYzFJRFV1TlRjMUlEVXVOVGd5SURVdU5UZ3lJREFnTUNBeExUVXVOVGMxSURVdU5UYzFJRFV1TlRneUlEVXVOVGd5SURBZ01DQXhMVFV1TlRjMkxUVXVOVGMxWXpBdExqWXpNaTR4TVMweExqSXpPQzR6TURVdE1TNDRNRFJzTFRjdU16RXRNeTQyTmpSaE5TNDFOek1nTlM0MU56TWdNQ0F3SURFdE5DNDJJREl1TkRNeFFUVXVOVGd6SURVdU5UZ3pJREFnTUNBeElEQWdNVFF1T0RReVlUVXVOVGd5SURVdU5UZ3lJREFnTUNBeElEVXVOVGMyTFRVdU5UYzJZekV1T1RJMUlEQWdNeTQyTWpVdU9UZ2dOQzQyTWpjZ01pNDBOamxzTnk0eU5qVXRNeTQxTmpaaE5TNDFOalVnTlM0MU5qVWdNQ0F3SURFdExqSTRPQzB4TGpjMlFUVXVOVGd6SURVdU5UZ3pJREFnTUNBeElESXlMamMxTmk0NE16TWdOUzQxT0RJZ05TNDFPRElnTUNBd0lERWdNamd1TXpNZ05pNDBNV0UxTGpVNE1pQTFMalU0TWlBd0lEQWdNUzAxTGpVM05TQTFMalUzTmlBMUxqVTNNaUExTGpVM01pQXdJREFnTVMwMExqWXlPQzB5TGpRM2JDMDNMakkyTlNBekxqVTJPR0UxTGpVMklEVXVOVFlnTUNBd0lERWdMakk0T1NBeExqYzFPV013SUM0Mk16RXRMakV4TVNBeExqSXpOaTB1TXpBMUlERXVPREF6YkRjdU16QTVJRE11TmpZMFlUVXVOVGN6SURVdU5UY3pJREFnTUNBeElEUXVOaTB5TGpRemJUQXRNVFV1TlRRMlFUUXVNRGdnTkM0d09DQXdJREFnTUNBeE9DNDJPQ0EyTGpReFlUUXVNRGdnTkM0d09DQXdJREFnTUNBMExqQTNOaUEwTGpBM05pQTBMakE0SURRdU1EZ2dNQ0F3SURBZ05DNHdOelV0TkM0d056WWdOQzR3T0NBMExqQTRJREFnTUNBd0xUUXVNRGMxTFRRdU1EYzJUVFV1TlRjMklERTRMamt4TjJFMExqQTRJRFF1TURnZ01DQXdJREFnTkM0d056WXROQzR3TnpVZ05DNHdPQ0EwTGpBNElEQWdNQ0F3TFRRdU1EYzJMVFF1TURjMlFUUXVNRGdnTkM0d09DQXdJREFnTUNBeExqVWdNVFF1T0RReVlUUXVNRGdnTkM0d09DQXdJREFnTUNBMExqQTNOaUEwTGpBM05XMHhOeTR4T0NBNExqWXhNbUUwTGpBNElEUXVNRGdnTUNBd0lEQWdOQzR3TnpVdE5DNHdOelFnTkM0d09DQTBMakE0SURBZ01DQXdMVFF1TURjMUxUUXVNRGMxSURRdU1EZ2dOQzR3T0NBd0lEQWdNQzAwTGpBM05pQTBMakEzTlNBMExqQTRJRFF1TURnZ01DQXdJREFnTkM0d056WWdOQzR3TnpRaUx6NDhMMmMrUEM5blBqd3ZjM1puUGc9PVwiKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkzYlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uc3Atc29jaWFsLXNoYXJle1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAubnNwLXNvY2lhbC1zaGFyZS13cmFwe1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRvcDogNDlweDtcclxuICAgICAgICBsZWZ0OiAtNDhweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZlMGUxOztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcblxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICBjb250ZW50OlwiXCI7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XHJcbiAgICAgICAgICAgIHRvcDogLTE0cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQnNBQUFBUENBTUFBQUFpVFVUcUFBQUlWbnBVV0hSU1lYY2djSEp2Wm1sc1pTQjBlWEJsSUdWNGFXWUFBSGphclpkcmt1UzREWVQvOHhRK0Fna1NCSGtjUGlOOEF4L2ZIMVRWdmZQbzhjNXN1QlJkcXFZa0VrUW1FcWx3L3ZQdkcvN0ZSNHEyVU5SYTdiVkdQcVdYTG9NZkxiNCsvZmxPc1R6ZnIzL20rMXI2Zmp6RSs3NGdER1hPK2ZXdmpmZjlnM0g5NjRHUE5aand1L0hRM2xla3ZTZEtueE0vbit3cisrLzliWkNNeTJzOGxmZEUvYngrMU43czIxRG5lNkwxdnZFSjVmMVhQc042bmZ6LzhOMkFrYVd0TEpSRlRrNDVQdC9sRlVFbXV0eno0RnVlN3k0K2t2aGRjZytjSk5mM1pDVGt1KzE5bkdQOE5rSGZKZm5qVi9neCsrMThuWHdaN3p2eUQ3bXNINmpWcnk4ay9XRThmNjR2M3k2Y1B5T1M3eS9VL0lud1QwbStkN2Q3ejJ0M28xUXlXdCtNZXBLZFBxYmhSdWhXOHZOWTVURCtsTi8ySEoyanhSRVhrTys0NHVSWXFTY0JsUnRTU1R1TmROTjV6aXN0UWl4eXhEaUxMTW5QV01zbVhkYURYUEVqWFRFdzNMa0IxcElUY21aWVBtTkp6N3I5V1crbHhzbzdjYXNrSm5QWWYzbUUvM1h4VDQ1dzcvSVVKVThtMEtjWHdPSzhKZ3hIenIrNUMwRFNmZU9tVDRJL2pqZjg4UnRpUVZVUTFDZk5qUTJPT0Y5VFRFMS9jU3MvT0dmdVU4NnZFa3JCOW5zQ1VzVGFTakRRdnFSWVU5WlVVelFSUzRrOE5nQWFSQzY1eUFTQnBDcWJJS1hrWENXWU5QRzFlY2JTYzYrb1ZQRmh0QWtnTk5kc1lFT1ZBVllwQ24rc05EZzBOR3RSMWFxR3NHblhVWE10Vld1dFZsM2tobVVycGxiTnJGbTMwWElyVFZ0dDFscnJiWFRwR1EzVVhydjExbnNmUThKZ29jRmNnL3NISTFObW5tWHFyTk5tbTMyT0JYMVdXYnJxc3RWV1gyUEx6aHVaMkhYYmJydnZjVkk0S01VcFIwODlkdHJwWjF5NGR2TXRWMis5ZHR2dGQzeWk5a2IxcCtNUFVFdHYxT1JCeXUrelQ5UVlEV1lmVXlTWEUzWE1RRXhLQW5GekJDQzBPR2F4cFZMRWtYUE1ZaGVLUW9VZzFiRUpPemxpUUZoT0VyM3BFN3Uva1BzdDNJSzIzOEpOL2c2NTRORDlQNUFMUVBjemJsK2d0cjNQclFleFZ4VjZUbU9tK3JoblNBdjh4Y2pYYjU5UnBteWozM1hvaEhyUDlTM2tHemEwS2FQVlF3S1QrWnEwMEdWMksxc0ZsN2htVG1KNzBTQjF6bktKUVlmZHZjZjBESTIxaGtscW9lV3plR1phVDJzZGlEUFJzQnZMbmZRM3VUc0J6aXh4UFRFTjc4aGZuOFBmM2ZETGMzZlgwRWZxczdhMVM2aFhEbGx2WjdQbmZxYlQrTlRFenRhNWswWngycnhkOHoxNytyYks4bThrZnJBVmZVWTJ5SXdRaXdEdU5CS3A1dEppdXF5TVh2UE1EZGcyWU00emxVdXhydGJWWUZjNlc3T01nNTZUdXl4OTNWQVAvU1JXbFZXT0pXS1VkaUJ5WEJsK000R2QyaWJESkkvS09EYmdjWmR0YTdZMUQ5amxXYjErd2lseldPMUo0ZTFpU3FKeE5FcmJVN2ZPMUdsR1d3ZTc5RzNzbktsaWVKdDZQVzJVVXZkcVk3ZFZRNm1VeEI5UzZhdHorQndvc3FJcDNpU2FVZmxya0dXaWwzYXBHcmVGUXluWXFIM0duRTlYM2NmYTNpUkFwNndWc3R1R25lc3BEV0dnQUZyTmZaMWtFUGFtVXUraEJGZmJsK3F0Z3daeDJjSzhrN3BwWG5CdEgycDNhcGc3M3FPYTk2dUJvV1dKK24xUlpVaG54Wk9xYXVwU24zSENJWDFyREFScHJuaktGZTRiTytRZTNYVnhBOUpicWZvMU9xU3hQdTFvaWNra1QzU2pacnJZZFFONUdpRnFqUWN1bGxQUzhDUllETll5RU85VGFHVUlHVVZ5ODByNVhDYkpGRWpqUnZhbExkM2hzZjZLNitIM2ltS0lGTitGNDJzWDZvK3VCeUpROWdzVjBXTEJzaFFDd1hoWWpia2RTcUU0YWZZNTV3S1ByWnJUbkgzaHFYT2xHbmJ0emlneWozRHRreTZaUzIwSGNyTUVOdWN0dy9ZZzZVOXU0aXlhaXJxUC92SHNhc0NQcW12ZUEzck1sa3ZEMVVMNXhFVEM2ME56VkxXaVBpMlNkNXhBUTVzaXRDRmp0ZkprODJqaW1PcmtQMnVDMENyNGh4MlVRWU1hcFZWNlNXVkg1RUVnbWtlQWh2M3VPVWdDenlZc204dXluaXY2anFoOFNFcEZBQlJGNlhJcTNXNjJpSitxZVRjdC9kYmo4WTFxOTdad05kdFppQVhxeTY5c3hqd0lpVXRyUHBCUGFxRmRZditvMVU3OXR1YTV0YWQzN2p6cGl5c2hBRUdCSkY4V1FHdW1aWVRDWHhsR29xY3VXdXY4eloyVlVORG5ndGIxanF4UlFraWFrMmNrMHpTS1RsNHZWc1cvUWgwSVJZK3RvdVhFSTRPR0ZhMXZLb0IwNUpEM0dHTkJuSU9rMWIzbnhLQ2hMLzdhZFhwZW80SzF6aWFGelFETGxDMkZaampZV0dSMjJpTTdPblRhNjBsTmRmeTkyRU5LT2NYR0xoVGdvSzFDNWsrUkNWUjJRWFp3SHRFNUNSbFlzUTFuM01KcXg5VkFEUjNQZzFwZm8ySDFJUjNFWE1DS2l3U09peExmMEJQS0c2bUwyT2g2blR5cG9zVGpRTVFaMjNibjRVbkZDVnhFK2NybzI4NGhFblZqeXpobUNVekNuOUh1RTZUc3Zxbk0xQWdxZWxQQWpmVGhPVmczMHgxRU9xZ1FRdlZVa0dQcXA2QmhyYStZT2habDEwcVhFN3ZjYjA3SGVZbzM4eE5velFzVHNybU1CZUROaG9EWGlYZndpR2UyalRsNWFZV0ZnTGRMT3NZV2ViVGNRaXh3QTVISGV1OHdmdW9oYmNGMkp5V0tNVmpCMS8wVW51eE9aeHR2WkZneUxNVmhuQWRGd253QzFQTVV0Z3lhNnJWbGlBNm0vbzZWWE0zbHZSQVorV1h5d205bVYveDFBYjVCQnZjb096a253Ty9wL3U2bncyME9hU3lmM3FjUStobVFCRytIU0o2TXRkejJFa2EyODJxeEQwZmJOZGZIZFYwYWdQOWJiV0F4SE1nOVZNQXAyTXlGVlVWS0VHeWRQZk0wYmJUR2N1WWM5SlNPN0ZWM0E3MUorSkFFVndSUjJEdm85OUhWU0RQTnErQVNza3NLcjNRbG9RZHI1L0ZWdnNJL1lPTlA3SFFGQ1Y5SXlFTFNlV1VvTGZuTFJIWHBwUGpNN1JQR2lMYVBORS9EWTYrY0UyOGJLTDZNTURHTTJBZVNpUGlYdmx6WGFLeXBvejA0QlR5RFJFaXJhSTFQVjhrWnRsaTFYWnc0dnRoOUZ1M0haV1NydHlqM20xbmhja25JelVTUk1ibmVQUnF5TlJURDYrUzZ6MjYrY3FiaG56blJYMDFVY0JRSnI2QkQyMElvOEduWUNNaUVkUzFQUmRkWnJXRnlxaEE3WTVVWGtPbCs0aWdrV3pZRE1wblFud21vaWFKQWtuQmYvd1h1UjhYdG5JVy9Ed0FBQVlScFEwTlFTVU5ESUhCeWIyWnBiR1VBQUhpY2ZaRTlTTU5BSE1WZlUwVXBGWWQyRUhISVVKMnNGQlZ4bENvV3dVSnBLN1RxWUhMcEZ6UnBTRkpjSEFYWGdvTWZpMVVIRjJkZEhWd0ZRZkFEeE1YVlNkRkZTdnhmVW1nUjQ4RnhQOTdkZTl5OUE0Um1sYWxtVHd4UU5jdElKK0ppTHI4cTlyMGlpQkFDaUdGQ1lxYWV6Q3htNFRtKzd1SGo2MTJVWjNtZiszTU1LQVdUQVQ2UmVJN3Boa1c4UVR5emFlbWM5NG5EckN3cHhPZkU0d1pka1BpUjY3TExiNXhMRGdzOE0yeGswL1BFWVdLeDFNVnlGN095b1JKUEUwY1VWYU44SWVleXdubUxzMXF0cy9ZOStRdURCVzBsdzNXYUkwaGdDVW1rSUVKR0hSVlVZU0ZLcTBhS2lUVHR4ejM4dzQ0L1JTNlpYQlV3Y2l5Z0JoV1M0d2YvZzkvZG1zV3BTVGNwR0FkNlgyejdZeFRvMndWYURkditQcmJ0MWduZ2Z3YXV0STYvMWdSbVAwbHZkTFRJRVRDNERWeGNkelI1RDdqY0FZYWVkTW1RSE1sUFV5Z1dnZmN6K3FZOEVMb0ZBbXR1YisxOW5ENEFXZXBxK1FZNE9BVEdTcFM5N3ZIdS91N2UvajNUN3U4SDJPNXkwRjJGeXo4QUFBQm1VRXhVUlFBQUFBQUFBUC8vLy9mMzkrbnE2djcrL3VEaDR1Zm82T2pwNmZmNCtPSGk0K25wNnZqNCtlZm82ZmIyOStycTYvbjUrZUhoNHVmbjZPTGk0L1gyOXVycjdQbjYrdWJuNSt2czdmcjYrdlQxOWYzKy91TGo0K3p0N2VYbTUvUDA5UDM5L2UzdTdpMHNydk1BQUFBQmRGSk9Vd0JBNXRobUFBQUFBV0pMUjBRQWlBVWRTQUFBQUFsd1NGbHpBQUFMRXdBQUN4TUJBSnFjR0FBQUFBZDBTVTFGQitNTUV3b3hKVnVXZ044QUFBQmVTVVJCVkJqVGRjbmJEa0F3REFEUXBveG1ncmlGTU9QL3YxTEZ2ZGJ6ZWdEZVlsQWxLV2xsSTBPa0ZhS2hUQ3ZPUEpDMlFEeXlsRldkeFZtTGJGckVKenV0Uk5wUGNmYkRYU01LMDVYdVYzdk9XbkY2VHJkZzBPb0JsTnB6QXhFTUJZNGVVd3B0QUFBQUFFbEZUa1N1UW1DQycpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMzFweCA1cHggNDJweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM1MjVmNmI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubnNwLXNzLWxpbmtlZGluOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MWRcIjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5uc3Atc3MtZmFjZWJvb2s6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkxY1wiO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm5zcC1zcy10d2l0dGVyOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MWVcIjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5uc3Atc3MteGluZzphZnRlcntcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmOWY3O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3JnLXRlYXNlci1wcmVzc3JlbGVhc2Vze1xyXG4gICAgQGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG5cdGgyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAkY29sb3ItYWxwaGE7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0Myk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMCAkc3RkLXBhZGRpbmc7XHJcblx0XHR3aWR0aDogMzMuMzMlO1xyXG5cdFx0ZmxleC1ncm93OiAwO1xyXG5cdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGl2LnRlYXNlci1ib3gsIGEudGVhc2VyLWJveCB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5LTIwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xyXG5cclxuICAgICAgICAgICAgLy8gLmltZy0xNi05LXNwZWNpYWx7XHJcbiAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTlhZmI1O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIFxyXG5cdFx0XHRpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAudGV4dCBoM3tcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5pZ2h0LWdyZXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHRib3JkZXItdG9wOiA1cHggc29saWQgJGNvbG9yLWJldGE7XHJcblx0XHRcdFx0cGFkZGluZzogMTNweCAxMHB4IDM1cHggMTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcblx0XHRcdFx0aDMge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQqOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgYTphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50Om5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4udHlwZXtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNTI1ZjZiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHNwYW4udGFnX2FuZF9kYXRle1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM1MjVmNmI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gYXtcclxuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgLy8gICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICAvLyAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgLy8gICAgIC8vICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gICAgIGZvbnQtZmFtaWx5OiAnc3ludGVnb24nO1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgLy8gICAgIC8vICAgICB0b3A6IDFweDtcclxuICAgICAgICAgICAgLy8gICAgIC8vICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gfVxyXG4gICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICAubmV3cy1zdG9yeS1wcmVzcy1leHRyYS10ZWFzZXJ7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDIxcHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6MjFweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAubnNwLWRvd25sb2FkIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJhY2stNjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLm5zcC1zcy10b2dnbGV7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5pSWdhR1ZwWjJoMFBTSXlOaUlnZG1sbGQwSnZlRDBpTUNBd0lESTJJREkySWo0OFp6NDhaejQ4Y0dGMGFDQm1hV3hzUFNJak4yVTRORGhoSWlCa1BTSk5NakF1TVRJMUlERTFMalE1TldFMUxqSTBNaUExTGpJME1pQXdJREFnTVNBMUxqSXpOeUExTGpJek5pQTFMakkwTWlBMUxqSTBNaUF3SURBZ01TMDFMakl6TnlBMUxqSXpOaUExTGpJME1pQTFMakkwTWlBd0lEQWdNUzAxTGpJek5pMDFMakl6Tm1Nd0xTNDBOUzR3TmpNdExqZzROaTR4TnkweExqTXdNMnd0TlM0M01pMHlMamd6T1dFMUxqSXlOaUExTGpJeU5pQXdJREFnTVMwMExqRXdNeUF4TGprNU1rRTFMakkwTWlBMUxqSTBNaUF3SURBZ01TQXdJREV6TGpNME5XRTFMakkwTWlBMUxqSTBNaUF3SURBZ01TQTFMakl6TmkwMUxqSXpOMk14TGpZMk15QXdJRE11TVRRekxqYzRNaUEwTGpFd015QXhMams1TW13MUxqY3lMVEl1T0RNNFlUVXVNakUxSURVdU1qRTFJREFnTUNBeExTNHhOeTB4TGpNd05FRTFMakkwTWlBMUxqSTBNaUF3SURBZ01TQXlNQzR4TWpVdU56SXlZVFV1TWpReUlEVXVNalF5SURBZ01DQXhJRFV1TWpNM0lEVXVNak0ySURVdU1qUXlJRFV1TWpReUlEQWdNQ0F4TFRVdU1qTTNJRFV1TWpNM0lEVXVNakkzSURVdU1qSTNJREFnTUNBeExUUXVNVEF5TFRFdU9Ua3liQzAxTGpjeU1TQXlMamd6T1dNdU1UQTNMalF4Tnk0eE56RXVPRFV5TGpFM01TQXhMak13TXlBd0lDNDBOUzB1TURZMExqZzROaTB1TVRjeElERXVNekEwYkRVdU56SWdNaTQ0TXpoaE5TNHlNalVnTlM0eU1qVWdNQ0F3SURFZ05DNHhNRE10TVM0NU9USnRNQzB4TWk0Mk1EWmhNeTR3TnpJZ015NHdOeklnTUNBd0lEQXRNeTR3TmprZ015NHdOeUF6TGpBM015QXpMakEzTXlBd0lEQWdNQ0F6TGpBM0lETXVNRGNnTXk0d056TWdNeTR3TnpNZ01DQXdJREFnTXk0d05qa3RNeTR3TnlBekxqQTNNeUF6TGpBM015QXdJREFnTUMwekxqQTNMVE11TURkTk5TNHlNellnTVRZdU5ERTBZVE11TURjeklETXVNRGN6SURBZ01DQXdJRE11TURjdE15NHdOeUF6TGpBM015QXpMakEzTXlBd0lEQWdNQzB6TGpBM0xUTXVNRFk1SURNdU1EY3pJRE11TURjeklEQWdNQ0F3TFRNdU1EY2dNeTR3TnlBekxqQTNNeUF6TGpBM015QXdJREFnTUNBekxqQTNJRE11TURZNWJURTBMamc1SURjdU16azBZVE11TURjMUlETXVNRGMxSURBZ01DQXdJRE11TURZNUxUTXVNRGN6SURNdU1EYzFJRE11TURjMUlEQWdNQ0F3TFRNdU1EY3RNeTR3TnpRZ015NHdOelFnTXk0d056UWdNQ0F3SURBZ01DQTJMakUwTnlJdlBqd3ZaejQ4TDJjK1BDOXpkbWMrXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmFjay02MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wcmVzcy1waWN0dXJlLWV4cG9zZWR7XHJcbiAgICAgICAgZm9ybXtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9ybS1pdGVtLWZpZWxkLXRhZy10YXJnZXQtaWR7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJzeW50ZWdvblwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwOGVjZjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XHJcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNlbGVjdHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOXB4IDM5cHggMTFweCAxNHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvcm0tYWN0aW9ucy5qcy1mb3JtLXdyYXBwZXJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcmVzcy1waWN0dXJlLWV4cG9zZWQtd3JhcHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMjdweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stMTA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYS1wYWdlcntcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2stMTA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTFweCAwIDAgMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA3cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdzeW50ZWdvbic7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyN3B4IDA7XHJcblxyXG4gICAgICAgIC5zZWxlY3Qtc2luZ2xlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDNweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwic3ludGVnb25cIjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJldGE7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiA5cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgcGFkZGluZzogN3B4IDQwcHggMTFweCAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3JnLXByZXNzLWV2ZW50cyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZXk7XHJcblx0cGFkZGluZy1ib3R0b206IDQwcHg7XHJcblx0cGFkZGluZy10b3A6IDUxcHg7XHJcblx0QGluY2x1ZGUgc3RkLWJveC1tYXJnaW47XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0aDIge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Y29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHR9XHJcblxyXG5cdC52aWV3cy1pbmZpbml0ZS1zY3JvbGwtY29udGVudC13cmFwcGVyIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHRkaXYudmlld3Mtcm93IHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDAgJHN0ZC1wYWRkaW5nO1xyXG5cdFx0d2lkdGg6IDMzLjMzJTtcclxuXHRcdGZsZXgtZ3JvdzogMDtcclxuXHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuXHRcdFx0JjpmaXJzdC1jaGlsZCBhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRib3JkZXItdG9wOiA1cHggc29saWQgJGNvbG9yLWJldGE7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMXB4O1xyXG5cclxuXHRcdFx0XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0Ly8gZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmRhdGVzIHtcclxuXHRcdFx0XHR3aWR0aDogNzlweDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDcwcHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5kYXRlcy1mcm9tIHtcclxuXHRcdFx0XHRcdC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHQubW9udGgge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOXB4IDAgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5kYXkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC55ZWFyIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hbHBoYTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXh0IHtcclxuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNzlweCk7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMCA1cHggMCA1cHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQucGxhY2Uge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjNweDtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iZXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQubGluayB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHRcdH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC50ZXh0e1xyXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG4gICAgdWwuanMtcGFnZXJfX2l0ZW1ze1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wYWdlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5tb3JlLFxyXG5cdC5wYWdlciAucGFnZXJfX2l0ZW0gYS5idXR0b24ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdG1hcmdpbjogMzBweCAwIDAgMDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjMzKTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcXGU5MTlcIjtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDhweDtcclxuXHRcdFx0bGVmdDogN3B4O1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWFscGhhO1xyXG5cdFx0XHRmb250LWZhbWlseTogJ3N5bnRlZ29uJztcclxuXHRcdFx0Zm9udC1zaXplOiAyNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsa0JBQWtCO0FDb0RsQixBQUFBLGVBQWUsQ0FBQztFQUNaLGdCQUFnQixFQXJDTixPQUFPLEdBc0NwQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLGdCQUFnQixFQXhDUCxPQUFPLEdBeUNuQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLGdCQUFnQixFQTNDTixPQUFPLEdBNENwQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsZ0JBQWdCLEVBL0JKLE9BQU87RUFnQ25CLGdCQUFnQixFRVlaLE9BQU8sR0ZYZDs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULEtBQUssRUF0REssT0FBTyxHQXVEcEI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDUixLQUFLLEVBekRJLE9BQU8sR0EwRG5COztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsS0FBSyxFQTVESyxPQUFPLEdBNkRwQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLEtBQUssRUFoRE8sT0FBTztFQWlEbkIsS0FBSyxFRUxELE9BQU8sR0ZNZDs7QUE2U0QsQUFBQSxpQkFBaUIsQ0FBQztFQVBWLEtBQUssRUUzU0wsT0FBTztFRjRTUCxnQkFBZ0IsRUFBRSx3Q0FBaUQ7RUFDbkUsdUJBQXVCLEVBQUUsSUFBSTtFQUM3Qix1QkFBdUIsRUFBRSxXQUFXLEdBTTNDOztBQUVELEFBQUEsaUJBQWlC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TGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0luQzNDO0UvQ2dIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJZ0RtRXpDLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsVUFBVSxDQUFJO01Kc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFVBQVUsQ0FBSTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxVQUFVLENBQUk7TUpzQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0luQzNDO0UvQ2dIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtJZ0RtRXpDLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0luQzNDOztBQ3lMUCxBQUFBLHVCQUF1QixDQUFFO0VEL0t2QixZQUFnQixFQUFTLENBQUM7RUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdDaUwzQjtFQUZELEFENUtBLHVCQzRLdUIsR0Q1S3JCLEtBQUssQ0FBUTtJQUVYLGFBQWlCLEVBQVUsQ0FBQztJQUE1QixZQUFpQixFQUFVLENBQUMsR0FFL0I7O0EvQytGRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFZ0RtRXpDLEFBQUEsdUJBQXVCLENBQUM7SURoTnRCLFlBQWdCLEVBQVMsQ0FBQztJQUExQixXQUFnQixFQUFTLENBQUMsR0NrTjNCO0lBRkQsQUQ3TUEsdUJDNk11QixHRDdNckIsS0FBSyxDQUFRO01BRVgsWUFBZ0IsRUFBUyxDQUFDO01BQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQUU3Qjs7QS9Dc0lELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VnRG1FekMsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixHQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixHQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixHQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixJQUFzQixHSTVDM0M7O0EvQ3lIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFZ0RtRXpDLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsVUFBVSxDQUFJO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFVBQVUsQ0FBSTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixVQUFVLENBQUk7SUpzQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0luQzNDOztBL0NnSFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RWdEbUV6QyxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixRQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLElBQXNCLEdJbkMzQzs7QS9DZ0hQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VnRHlFekMsQUFBQSx3QkFBd0IsQ0FBQztJRC9LdkIsWUFBZ0IsRUFBUyxDQUFDO0lBQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQ2lMM0I7SUFGRCxBRDVLQSx3QkM0S3dCLEdENUt0QixLQUFLLENBQVE7TUFFWCxhQUFpQixFQUFVLENBQUM7TUFBNUIsWUFBaUIsRUFBVSxDQUFDLEdBRS9COztBL0MrRkQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RWdEbUV6QyxBQUFBLHNCQUFzQixDQUFFO0lEaE50QixZQUFnQixFQUFTLENBQUM7SUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdDa04zQjtJQUZELEFEN01BLHNCQzZNc0IsR0Q3TXBCLEtBQUssQ0FBUTtNQUVYLFlBQWdCLEVBQVMsQ0FBQztNQUExQixXQUFnQixFQUFTLENBQUMsR0FFN0I7O0EvQ3NJRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFZ0RtRXpDLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0k1QzNDOztBL0N5SFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7RWdEbUV6QyxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixRQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFVBQVUsQ0FBSTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxVQUFVLENBQUk7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDO0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsVUFBVSxDQUFJO0lKK0N4QixLQUFhLEVBRGlCLElBQXNCLEdJNUMzQzs7QS9DeUhQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VnRG1FekMsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0luQzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDO0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixJQUFzQixHSW5DM0M7O0EvQ2dIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFZ0R5RXpDLEFBQUEsdUJBQXVCLENBQUU7SUQvS3ZCLFlBQWdCLEVBQVMsQ0FBQztJQUEx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 */
