@charset "UTF-8";
@font-face {
  font-family: "Proxima Nova W05 Regular";
  src: url("../fonts/3bc45708-b148-4161-9d38-fa10e8cd8ed7.eot?#iefix");
  src: url("../fonts/3bc45708-b148-4161-9d38-fa10e8cd8ed7.eot?#iefix") format("eot"), url("../fonts/33ca2000-af7b-4444-97cd-6392ab2e24b2.woff2") format("woff2"), url("../fonts/1c003cc6-0f8f-4c82-adde-a5a026b56b50.woff") format("woff"), url("../fonts/96dc6d98-013d-4a94-9c09-8476abc0abc6.ttf") format("truetype"); }

@font-face {
  font-family: "Proxima Nova W05 Bold";
  src: url("../fonts/9a48aea6-1175-475c-9ca0-e88402e8c3e3.eot?#iefix");
  src: url("../fonts/9a48aea6-1175-475c-9ca0-e88402e8c3e3.eot?#iefix") format("eot"), url("../fonts/3c35dc60-9fe3-480f-90ac-e453db0271e2.woff2") format("woff2"), url("../fonts/2b2b7939-693b-44cd-873a-1aa065a906b8.woff") format("woff"), url("../fonts/b3268637-7b92-4f81-9d7f-1ee8e8a5d517.ttf") format("truetype"); }

@font-face {
  font-family: "Proxima Nova W05 Extrabold";
  src: url("../fonts/f4784f41-75d1-4e0a-a2e9-b4446ac44b6f.eot?#iefix");
  src: url("../fonts/f4784f41-75d1-4e0a-a2e9-b4446ac44b6f.eot?#iefix") format("eot"), url("../fonts/115749ef-1104-4c09-b697-8a7d420a133a.woff2") format("woff2"), url("../fonts/b28c6f56-4543-49d1-b265-5715615199e1.woff") format("woff"), url("../fonts/70b4778b-eeb0-4bd4-a198-4812fc768ed1.ttf") format("truetype"); }

@font-face {
  font-family: "Proxima Nova W05 Black";
  src: url("../fonts/baf77aae-6904-44b2-a4bc-01ba9998cd41.eot?#iefix");
  src: url("../fonts/baf77aae-6904-44b2-a4bc-01ba9998cd41.eot?#iefix") format("eot"), url("../fonts/fe7a1b50-a80f-4c74-9aa1-dd758277036c.woff2") format("woff2"), url("../fonts/2322a12f-be08-4e73-b44f-0f42eb551213.woff") format("woff"), url("../fonts/f3e177b2-fe6a-4405-bf0b-b05e4faddc4a.ttf") format("truetype"); }

@font-face {
  font-family: 'open_sansbold';
  src: url("../fonts/opensans-bold-webfont.woff2") format("woff2"), url("../fonts/opensans-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'open_sansregular';
  src: url("../fonts/opensans-regular-webfont.woff2") format("woff2"), url("../fonts/opensans-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'open_sanssemibold';
  src: url("../fonts/opensans-semibold-webfont.woff2") format("woff2"), url("../fonts/opensans-semibold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

/**
 * Foundation for Sites by ZURB
 * Version 6.5.1
 * 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, .sectiontitle, .front-buttons h5 {
  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=50em&xlarge=64em&xxlarge=77.5em&xxxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  font-family: "open_sansregular", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.8;
  color: #757E8D;
  -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.3125rem; }

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

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

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0.3125rem;
  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; }

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

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

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

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

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

h1, .sectiontitle, .front-buttons h5, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "open_sansbold";
  font-style: normal;
  font-weight: normal;
  color: #3A4047;
  text-rendering: optimizeLegibility; }
  h1 small, .sectiontitle small, .front-buttons h5 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: #2F363D; }

h1, .sectiontitle, .front-buttons h5, .h1 {
  font-size: 1.875rem;
  line-height: 1.16;
  margin-top: 0;
  margin-bottom: 0; }

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .sectiontitle, .front-buttons h5, .h1 {
    font-size: 2.8125rem; }
  h2, .h2 {
    font-size: 1.875rem; }
  h3, .h3 {
    font-size: 1.5rem; }
  h4, .h4 {
    font-size: 1.375rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1.1875rem; } }

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

hr {
  clear: both;
  max-width: 67.25rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #2F363D;
  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: 700; }

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

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

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

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #2F363D;
  background-color: #475267;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000000; }

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

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

.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 screen and (min-width: 50em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 64em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 77.5em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxxlarge-text-left {
    text-align: left; }
  .xxxlarge-text-right {
    text-align: right; }
  .xxxlarge-text-center {
    text-align: center; }
  .xxxlarge-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    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 #E20714;
    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; } }

.button, .flexible-form-wrapper input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 0;
  padding: 1.4em 2.5em;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-family: "rift";
  font-size: 0.85rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: transparent;
  color: #E20714; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .flexible-form-wrapper input[type="submit"], .flexible-form-wrapper [data-whatinput='mouse'] input[type="submit"] {
    outline: 0; }
  .button:hover, .flexible-form-wrapper input:hover[type="submit"], .button:focus, .flexible-form-wrapper input:focus[type="submit"] {
    background-color: #E20714;
    color: #E20714; }
  .button.tiny, .flexible-form-wrapper input.tiny[type="submit"] {
    font-size: 0.6rem; }
  .button.small, .flexible-form-wrapper input.small[type="submit"] {
    font-size: 0.8125rem; }
  .button.large, .flexible-form-wrapper input.large[type="submit"] {
    font-size: 1.25rem; }
  .button.expanded, .flexible-form-wrapper input.expanded[type="submit"] {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .flexible-form-wrapper input.primary[type="submit"] {
    background-color: #E20714;
    color: #000000; }
    .button.primary:hover, .flexible-form-wrapper input.primary:hover[type="submit"], .button.primary:focus, .flexible-form-wrapper input.primary:focus[type="submit"] {
      background-color: #b50610;
      color: #000000; }
  .button.secondary, .flexible-form-wrapper input.secondary[type="submit"] {
    background-color: #475267;
    color: #000000; }
    .button.secondary:hover, .flexible-form-wrapper input.secondary:hover[type="submit"], .button.secondary:focus, .flexible-form-wrapper input.secondary:focus[type="submit"] {
      background-color: #394252;
      color: #000000; }
  .button.success, .flexible-form-wrapper input.success[type="submit"] {
    background-color: #6EB533;
    color: #000000; }
    .button.success:hover, .flexible-form-wrapper input.success:hover[type="submit"], .button.success:focus, .flexible-form-wrapper input.success:focus[type="submit"] {
      background-color: #589129;
      color: #000000; }
  .button.warning, .flexible-form-wrapper input.warning[type="submit"] {
    background-color: #F8D300;
    color: #000000; }
    .button.warning:hover, .flexible-form-wrapper input.warning:hover[type="submit"], .button.warning:focus, .flexible-form-wrapper input.warning:focus[type="submit"] {
      background-color: #c6a900;
      color: #000000; }
  .button.alert, .flexible-form-wrapper input.alert[type="submit"] {
    background-color: #EC1D24;
    color: #000000; }
    .button.alert:hover, .flexible-form-wrapper input.alert:hover[type="submit"], .button.alert:focus, .flexible-form-wrapper input.alert:focus[type="submit"] {
      background-color: #c41016;
      color: #000000; }
  .button.disabled, .flexible-form-wrapper input.disabled[type="submit"], .button[disabled], .flexible-form-wrapper input[disabled][type="submit"] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .flexible-form-wrapper input.disabled[type="submit"], .button.disabled:hover, .flexible-form-wrapper input.disabled:hover[type="submit"], .button.disabled:focus, .flexible-form-wrapper input.disabled:focus[type="submit"], .button[disabled], .flexible-form-wrapper input[disabled][type="submit"], .button[disabled]:hover, .flexible-form-wrapper input[disabled]:hover[type="submit"], .button[disabled]:focus, .flexible-form-wrapper input[disabled]:focus[type="submit"] {
      background-color: transparent;
      color: #E20714; }
    .button.disabled.primary, .flexible-form-wrapper input.disabled.primary[type="submit"], .button[disabled].primary, .flexible-form-wrapper input[disabled].primary[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .flexible-form-wrapper input.disabled.primary[type="submit"], .button.disabled.primary:hover, .flexible-form-wrapper input.disabled.primary:hover[type="submit"], .button.disabled.primary:focus, .flexible-form-wrapper input.disabled.primary:focus[type="submit"], .button[disabled].primary, .flexible-form-wrapper input[disabled].primary[type="submit"], .button[disabled].primary:hover, .flexible-form-wrapper input[disabled].primary:hover[type="submit"], .button[disabled].primary:focus, .flexible-form-wrapper input[disabled].primary:focus[type="submit"] {
        background-color: #E20714;
        color: #000000; }
    .button.disabled.secondary, .flexible-form-wrapper input.disabled.secondary[type="submit"], .button[disabled].secondary, .flexible-form-wrapper input[disabled].secondary[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .flexible-form-wrapper input.disabled.secondary[type="submit"], .button.disabled.secondary:hover, .flexible-form-wrapper input.disabled.secondary:hover[type="submit"], .button.disabled.secondary:focus, .flexible-form-wrapper input.disabled.secondary:focus[type="submit"], .button[disabled].secondary, .flexible-form-wrapper input[disabled].secondary[type="submit"], .button[disabled].secondary:hover, .flexible-form-wrapper input[disabled].secondary:hover[type="submit"], .button[disabled].secondary:focus, .flexible-form-wrapper input[disabled].secondary:focus[type="submit"] {
        background-color: #475267;
        color: #000000; }
    .button.disabled.success, .flexible-form-wrapper input.disabled.success[type="submit"], .button[disabled].success, .flexible-form-wrapper input[disabled].success[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .flexible-form-wrapper input.disabled.success[type="submit"], .button.disabled.success:hover, .flexible-form-wrapper input.disabled.success:hover[type="submit"], .button.disabled.success:focus, .flexible-form-wrapper input.disabled.success:focus[type="submit"], .button[disabled].success, .flexible-form-wrapper input[disabled].success[type="submit"], .button[disabled].success:hover, .flexible-form-wrapper input[disabled].success:hover[type="submit"], .button[disabled].success:focus, .flexible-form-wrapper input[disabled].success:focus[type="submit"] {
        background-color: #6EB533;
        color: #000000; }
    .button.disabled.warning, .flexible-form-wrapper input.disabled.warning[type="submit"], .button[disabled].warning, .flexible-form-wrapper input[disabled].warning[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .flexible-form-wrapper input.disabled.warning[type="submit"], .button.disabled.warning:hover, .flexible-form-wrapper input.disabled.warning:hover[type="submit"], .button.disabled.warning:focus, .flexible-form-wrapper input.disabled.warning:focus[type="submit"], .button[disabled].warning, .flexible-form-wrapper input[disabled].warning[type="submit"], .button[disabled].warning:hover, .flexible-form-wrapper input[disabled].warning:hover[type="submit"], .button[disabled].warning:focus, .flexible-form-wrapper input[disabled].warning:focus[type="submit"] {
        background-color: #F8D300;
        color: #000000; }
    .button.disabled.alert, .flexible-form-wrapper input.disabled.alert[type="submit"], .button[disabled].alert, .flexible-form-wrapper input[disabled].alert[type="submit"] {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .flexible-form-wrapper input.disabled.alert[type="submit"], .button.disabled.alert:hover, .flexible-form-wrapper input.disabled.alert:hover[type="submit"], .button.disabled.alert:focus, .flexible-form-wrapper input.disabled.alert:focus[type="submit"], .button[disabled].alert, .flexible-form-wrapper input[disabled].alert[type="submit"], .button[disabled].alert:hover, .flexible-form-wrapper input[disabled].alert:hover[type="submit"], .button[disabled].alert:focus, .flexible-form-wrapper input[disabled].alert:focus[type="submit"] {
        background-color: #EC1D24;
        color: #000000; }
  .button.hollow, .flexible-form-wrapper input.hollow[type="submit"] {
    border: 1px solid transparent;
    color: transparent; }
    .button.hollow, .flexible-form-wrapper input.hollow[type="submit"], .button.hollow:hover, .flexible-form-wrapper input.hollow:hover[type="submit"], .button.hollow:focus, .flexible-form-wrapper input.hollow:focus[type="submit"] {
      background-color: transparent; }
    .button.hollow.disabled, .flexible-form-wrapper input.hollow.disabled[type="submit"], .button.hollow.disabled:hover, .flexible-form-wrapper input.hollow.disabled:hover[type="submit"], .button.hollow.disabled:focus, .flexible-form-wrapper input.hollow.disabled:focus[type="submit"], .button.hollow[disabled], .flexible-form-wrapper input.hollow[disabled][type="submit"], .button.hollow[disabled]:hover, .flexible-form-wrapper input.hollow[disabled]:hover[type="submit"], .button.hollow[disabled]:focus, .flexible-form-wrapper input.hollow[disabled]:focus[type="submit"] {
      background-color: transparent; }
    .button.hollow:hover, .flexible-form-wrapper input.hollow:hover[type="submit"], .button.hollow:focus, .flexible-form-wrapper input.hollow:focus[type="submit"] {
      border-color: rgba(0, 0, 0, 0);
      color: rgba(0, 0, 0, 0); }
      .button.hollow:hover.disabled, .flexible-form-wrapper input.hollow:hover.disabled[type="submit"], .button.hollow:hover[disabled], .flexible-form-wrapper input.hollow:hover[disabled][type="submit"], .button.hollow:focus.disabled, .flexible-form-wrapper input.hollow:focus.disabled[type="submit"], .button.hollow:focus[disabled], .flexible-form-wrapper input.hollow:focus[disabled][type="submit"] {
        border: 1px solid transparent;
        color: transparent; }
    .button.hollow.primary, .flexible-form-wrapper input.hollow.primary[type="submit"] {
      border: 1px solid #E20714;
      color: #E20714; }
      .button.hollow.primary:hover, .flexible-form-wrapper input.hollow.primary:hover[type="submit"], .button.hollow.primary:focus, .flexible-form-wrapper input.hollow.primary:focus[type="submit"] {
        border-color: #71040a;
        color: #71040a; }
        .button.hollow.primary:hover.disabled, .flexible-form-wrapper input.hollow.primary:hover.disabled[type="submit"], .button.hollow.primary:hover[disabled], .flexible-form-wrapper input.hollow.primary:hover[disabled][type="submit"], .button.hollow.primary:focus.disabled, .flexible-form-wrapper input.hollow.primary:focus.disabled[type="submit"], .button.hollow.primary:focus[disabled], .flexible-form-wrapper input.hollow.primary:focus[disabled][type="submit"] {
          border: 1px solid #E20714;
          color: #E20714; }
    .button.hollow.secondary, .flexible-form-wrapper input.hollow.secondary[type="submit"] {
      border: 1px solid #475267;
      color: #475267; }
      .button.hollow.secondary:hover, .flexible-form-wrapper input.hollow.secondary:hover[type="submit"], .button.hollow.secondary:focus, .flexible-form-wrapper input.hollow.secondary:focus[type="submit"] {
        border-color: #242934;
        color: #242934; }
        .button.hollow.secondary:hover.disabled, .flexible-form-wrapper input.hollow.secondary:hover.disabled[type="submit"], .button.hollow.secondary:hover[disabled], .flexible-form-wrapper input.hollow.secondary:hover[disabled][type="submit"], .button.hollow.secondary:focus.disabled, .flexible-form-wrapper input.hollow.secondary:focus.disabled[type="submit"], .button.hollow.secondary:focus[disabled], .flexible-form-wrapper input.hollow.secondary:focus[disabled][type="submit"] {
          border: 1px solid #475267;
          color: #475267; }
    .button.hollow.success, .flexible-form-wrapper input.hollow.success[type="submit"] {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.hollow.success:hover, .flexible-form-wrapper input.hollow.success:hover[type="submit"], .button.hollow.success:focus, .flexible-form-wrapper input.hollow.success:focus[type="submit"] {
        border-color: #375b1a;
        color: #375b1a; }
        .button.hollow.success:hover.disabled, .flexible-form-wrapper input.hollow.success:hover.disabled[type="submit"], .button.hollow.success:hover[disabled], .flexible-form-wrapper input.hollow.success:hover[disabled][type="submit"], .button.hollow.success:focus.disabled, .flexible-form-wrapper input.hollow.success:focus.disabled[type="submit"], .button.hollow.success:focus[disabled], .flexible-form-wrapper input.hollow.success:focus[disabled][type="submit"] {
          border: 1px solid #6EB533;
          color: #6EB533; }
    .button.hollow.warning, .flexible-form-wrapper input.hollow.warning[type="submit"] {
      border: 1px solid #F8D300;
      color: #F8D300; }
      .button.hollow.warning:hover, .flexible-form-wrapper input.hollow.warning:hover[type="submit"], .button.hollow.warning:focus, .flexible-form-wrapper input.hollow.warning:focus[type="submit"] {
        border-color: #7c6a00;
        color: #7c6a00; }
        .button.hollow.warning:hover.disabled, .flexible-form-wrapper input.hollow.warning:hover.disabled[type="submit"], .button.hollow.warning:hover[disabled], .flexible-form-wrapper input.hollow.warning:hover[disabled][type="submit"], .button.hollow.warning:focus.disabled, .flexible-form-wrapper input.hollow.warning:focus.disabled[type="submit"], .button.hollow.warning:focus[disabled], .flexible-form-wrapper input.hollow.warning:focus[disabled][type="submit"] {
          border: 1px solid #F8D300;
          color: #F8D300; }
    .button.hollow.alert, .flexible-form-wrapper input.hollow.alert[type="submit"] {
      border: 1px solid #EC1D24;
      color: #EC1D24; }
      .button.hollow.alert:hover, .flexible-form-wrapper input.hollow.alert:hover[type="submit"], .button.hollow.alert:focus, .flexible-form-wrapper input.hollow.alert:focus[type="submit"] {
        border-color: #7a0a0e;
        color: #7a0a0e; }
        .button.hollow.alert:hover.disabled, .flexible-form-wrapper input.hollow.alert:hover.disabled[type="submit"], .button.hollow.alert:hover[disabled], .flexible-form-wrapper input.hollow.alert:hover[disabled][type="submit"], .button.hollow.alert:focus.disabled, .flexible-form-wrapper input.hollow.alert:focus.disabled[type="submit"], .button.hollow.alert:focus[disabled], .flexible-form-wrapper input.hollow.alert:focus[disabled][type="submit"] {
          border: 1px solid #EC1D24;
          color: #EC1D24; }
  .button.clear, .flexible-form-wrapper input.clear[type="submit"] {
    border: 1px solid transparent;
    color: transparent; }
    .button.clear, .flexible-form-wrapper input.clear[type="submit"], .button.clear:hover, .flexible-form-wrapper input.clear:hover[type="submit"], .button.clear:focus, .flexible-form-wrapper input.clear:focus[type="submit"] {
      background-color: transparent; }
    .button.clear.disabled, .flexible-form-wrapper input.clear.disabled[type="submit"], .button.clear.disabled:hover, .flexible-form-wrapper input.clear.disabled:hover[type="submit"], .button.clear.disabled:focus, .flexible-form-wrapper input.clear.disabled:focus[type="submit"], .button.clear[disabled], .flexible-form-wrapper input.clear[disabled][type="submit"], .button.clear[disabled]:hover, .flexible-form-wrapper input.clear[disabled]:hover[type="submit"], .button.clear[disabled]:focus, .flexible-form-wrapper input.clear[disabled]:focus[type="submit"] {
      background-color: transparent; }
    .button.clear:hover, .flexible-form-wrapper input.clear:hover[type="submit"], .button.clear:focus, .flexible-form-wrapper input.clear:focus[type="submit"] {
      border-color: rgba(0, 0, 0, 0);
      color: rgba(0, 0, 0, 0); }
      .button.clear:hover.disabled, .flexible-form-wrapper input.clear:hover.disabled[type="submit"], .button.clear:hover[disabled], .flexible-form-wrapper input.clear:hover[disabled][type="submit"], .button.clear:focus.disabled, .flexible-form-wrapper input.clear:focus.disabled[type="submit"], .button.clear:focus[disabled], .flexible-form-wrapper input.clear:focus[disabled][type="submit"] {
        border: 1px solid transparent;
        color: transparent; }
    .button.clear, .flexible-form-wrapper input.clear[type="submit"], .button.clear.disabled, .flexible-form-wrapper input.clear.disabled[type="submit"], .button.clear[disabled], .flexible-form-wrapper input.clear[disabled][type="submit"], .button.clear:hover, .flexible-form-wrapper input.clear:hover[type="submit"], .button.clear:hover.disabled, .flexible-form-wrapper input.clear:hover.disabled[type="submit"], .button.clear:hover[disabled], .flexible-form-wrapper input.clear:hover[disabled][type="submit"], .button.clear:focus, .flexible-form-wrapper input.clear:focus[type="submit"], .button.clear:focus.disabled, .flexible-form-wrapper input.clear:focus.disabled[type="submit"], .button.clear:focus[disabled], .flexible-form-wrapper input.clear:focus[disabled][type="submit"] {
      border-color: transparent; }
    .button.clear.primary, .flexible-form-wrapper input.clear.primary[type="submit"] {
      border: 1px solid #E20714;
      color: #E20714; }
      .button.clear.primary:hover, .flexible-form-wrapper input.clear.primary:hover[type="submit"], .button.clear.primary:focus, .flexible-form-wrapper input.clear.primary:focus[type="submit"] {
        border-color: #71040a;
        color: #71040a; }
        .button.clear.primary:hover.disabled, .flexible-form-wrapper input.clear.primary:hover.disabled[type="submit"], .button.clear.primary:hover[disabled], .flexible-form-wrapper input.clear.primary:hover[disabled][type="submit"], .button.clear.primary:focus.disabled, .flexible-form-wrapper input.clear.primary:focus.disabled[type="submit"], .button.clear.primary:focus[disabled], .flexible-form-wrapper input.clear.primary:focus[disabled][type="submit"] {
          border: 1px solid #E20714;
          color: #E20714; }
      .button.clear.primary, .flexible-form-wrapper input.clear.primary[type="submit"], .button.clear.primary.disabled, .flexible-form-wrapper input.clear.primary.disabled[type="submit"], .button.clear.primary[disabled], .flexible-form-wrapper input.clear.primary[disabled][type="submit"], .button.clear.primary:hover, .flexible-form-wrapper input.clear.primary:hover[type="submit"], .button.clear.primary:hover.disabled, .flexible-form-wrapper input.clear.primary:hover.disabled[type="submit"], .button.clear.primary:hover[disabled], .flexible-form-wrapper input.clear.primary:hover[disabled][type="submit"], .button.clear.primary:focus, .flexible-form-wrapper input.clear.primary:focus[type="submit"], .button.clear.primary:focus.disabled, .flexible-form-wrapper input.clear.primary:focus.disabled[type="submit"], .button.clear.primary:focus[disabled], .flexible-form-wrapper input.clear.primary:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.secondary, .flexible-form-wrapper input.clear.secondary[type="submit"] {
      border: 1px solid #475267;
      color: #475267; }
      .button.clear.secondary:hover, .flexible-form-wrapper input.clear.secondary:hover[type="submit"], .button.clear.secondary:focus, .flexible-form-wrapper input.clear.secondary:focus[type="submit"] {
        border-color: #242934;
        color: #242934; }
        .button.clear.secondary:hover.disabled, .flexible-form-wrapper input.clear.secondary:hover.disabled[type="submit"], .button.clear.secondary:hover[disabled], .flexible-form-wrapper input.clear.secondary:hover[disabled][type="submit"], .button.clear.secondary:focus.disabled, .flexible-form-wrapper input.clear.secondary:focus.disabled[type="submit"], .button.clear.secondary:focus[disabled], .flexible-form-wrapper input.clear.secondary:focus[disabled][type="submit"] {
          border: 1px solid #475267;
          color: #475267; }
      .button.clear.secondary, .flexible-form-wrapper input.clear.secondary[type="submit"], .button.clear.secondary.disabled, .flexible-form-wrapper input.clear.secondary.disabled[type="submit"], .button.clear.secondary[disabled], .flexible-form-wrapper input.clear.secondary[disabled][type="submit"], .button.clear.secondary:hover, .flexible-form-wrapper input.clear.secondary:hover[type="submit"], .button.clear.secondary:hover.disabled, .flexible-form-wrapper input.clear.secondary:hover.disabled[type="submit"], .button.clear.secondary:hover[disabled], .flexible-form-wrapper input.clear.secondary:hover[disabled][type="submit"], .button.clear.secondary:focus, .flexible-form-wrapper input.clear.secondary:focus[type="submit"], .button.clear.secondary:focus.disabled, .flexible-form-wrapper input.clear.secondary:focus.disabled[type="submit"], .button.clear.secondary:focus[disabled], .flexible-form-wrapper input.clear.secondary:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.success, .flexible-form-wrapper input.clear.success[type="submit"] {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.clear.success:hover, .flexible-form-wrapper input.clear.success:hover[type="submit"], .button.clear.success:focus, .flexible-form-wrapper input.clear.success:focus[type="submit"] {
        border-color: #375b1a;
        color: #375b1a; }
        .button.clear.success:hover.disabled, .flexible-form-wrapper input.clear.success:hover.disabled[type="submit"], .button.clear.success:hover[disabled], .flexible-form-wrapper input.clear.success:hover[disabled][type="submit"], .button.clear.success:focus.disabled, .flexible-form-wrapper input.clear.success:focus.disabled[type="submit"], .button.clear.success:focus[disabled], .flexible-form-wrapper input.clear.success:focus[disabled][type="submit"] {
          border: 1px solid #6EB533;
          color: #6EB533; }
      .button.clear.success, .flexible-form-wrapper input.clear.success[type="submit"], .button.clear.success.disabled, .flexible-form-wrapper input.clear.success.disabled[type="submit"], .button.clear.success[disabled], .flexible-form-wrapper input.clear.success[disabled][type="submit"], .button.clear.success:hover, .flexible-form-wrapper input.clear.success:hover[type="submit"], .button.clear.success:hover.disabled, .flexible-form-wrapper input.clear.success:hover.disabled[type="submit"], .button.clear.success:hover[disabled], .flexible-form-wrapper input.clear.success:hover[disabled][type="submit"], .button.clear.success:focus, .flexible-form-wrapper input.clear.success:focus[type="submit"], .button.clear.success:focus.disabled, .flexible-form-wrapper input.clear.success:focus.disabled[type="submit"], .button.clear.success:focus[disabled], .flexible-form-wrapper input.clear.success:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.warning, .flexible-form-wrapper input.clear.warning[type="submit"] {
      border: 1px solid #F8D300;
      color: #F8D300; }
      .button.clear.warning:hover, .flexible-form-wrapper input.clear.warning:hover[type="submit"], .button.clear.warning:focus, .flexible-form-wrapper input.clear.warning:focus[type="submit"] {
        border-color: #7c6a00;
        color: #7c6a00; }
        .button.clear.warning:hover.disabled, .flexible-form-wrapper input.clear.warning:hover.disabled[type="submit"], .button.clear.warning:hover[disabled], .flexible-form-wrapper input.clear.warning:hover[disabled][type="submit"], .button.clear.warning:focus.disabled, .flexible-form-wrapper input.clear.warning:focus.disabled[type="submit"], .button.clear.warning:focus[disabled], .flexible-form-wrapper input.clear.warning:focus[disabled][type="submit"] {
          border: 1px solid #F8D300;
          color: #F8D300; }
      .button.clear.warning, .flexible-form-wrapper input.clear.warning[type="submit"], .button.clear.warning.disabled, .flexible-form-wrapper input.clear.warning.disabled[type="submit"], .button.clear.warning[disabled], .flexible-form-wrapper input.clear.warning[disabled][type="submit"], .button.clear.warning:hover, .flexible-form-wrapper input.clear.warning:hover[type="submit"], .button.clear.warning:hover.disabled, .flexible-form-wrapper input.clear.warning:hover.disabled[type="submit"], .button.clear.warning:hover[disabled], .flexible-form-wrapper input.clear.warning:hover[disabled][type="submit"], .button.clear.warning:focus, .flexible-form-wrapper input.clear.warning:focus[type="submit"], .button.clear.warning:focus.disabled, .flexible-form-wrapper input.clear.warning:focus.disabled[type="submit"], .button.clear.warning:focus[disabled], .flexible-form-wrapper input.clear.warning:focus[disabled][type="submit"] {
        border-color: transparent; }
    .button.clear.alert, .flexible-form-wrapper input.clear.alert[type="submit"] {
      border: 1px solid #EC1D24;
      color: #EC1D24; }
      .button.clear.alert:hover, .flexible-form-wrapper input.clear.alert:hover[type="submit"], .button.clear.alert:focus, .flexible-form-wrapper input.clear.alert:focus[type="submit"] {
        border-color: #7a0a0e;
        color: #7a0a0e; }
        .button.clear.alert:hover.disabled, .flexible-form-wrapper input.clear.alert:hover.disabled[type="submit"], .button.clear.alert:hover[disabled], .flexible-form-wrapper input.clear.alert:hover[disabled][type="submit"], .button.clear.alert:focus.disabled, .flexible-form-wrapper input.clear.alert:focus.disabled[type="submit"], .button.clear.alert:focus[disabled], .flexible-form-wrapper input.clear.alert:focus[disabled][type="submit"] {
          border: 1px solid #EC1D24;
          color: #EC1D24; }
      .button.clear.alert, .flexible-form-wrapper input.clear.alert[type="submit"], .button.clear.alert.disabled, .flexible-form-wrapper input.clear.alert.disabled[type="submit"], .button.clear.alert[disabled], .flexible-form-wrapper input.clear.alert[disabled][type="submit"], .button.clear.alert:hover, .flexible-form-wrapper input.clear.alert:hover[type="submit"], .button.clear.alert:hover.disabled, .flexible-form-wrapper input.clear.alert:hover.disabled[type="submit"], .button.clear.alert:hover[disabled], .flexible-form-wrapper input.clear.alert:hover[disabled][type="submit"], .button.clear.alert:focus, .flexible-form-wrapper input.clear.alert:focus[type="submit"], .button.clear.alert:focus.disabled, .flexible-form-wrapper input.clear.alert:focus.disabled[type="submit"], .button.clear.alert:focus[disabled], .flexible-form-wrapper input.clear.alert:focus[disabled][type="submit"] {
        border-color: transparent; }
  .button.dropdown::after, .flexible-form-wrapper input.dropdown[type="submit"]::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 2.5em; }
  .button.dropdown.hollow::after, .flexible-form-wrapper input.dropdown.hollow[type="submit"]::after, .button.dropdown.clear::after, .flexible-form-wrapper input.dropdown.clear[type="submit"]::after {
    border-top-color: transparent; }
  .button.dropdown.hollow.primary::after, .flexible-form-wrapper input.dropdown.hollow.primary[type="submit"]::after, .button.dropdown.clear.primary::after, .flexible-form-wrapper input.dropdown.clear.primary[type="submit"]::after {
    border-top-color: #E20714; }
  .button.dropdown.hollow.secondary::after, .flexible-form-wrapper input.dropdown.hollow.secondary[type="submit"]::after, .button.dropdown.clear.secondary::after, .flexible-form-wrapper input.dropdown.clear.secondary[type="submit"]::after {
    border-top-color: #475267; }
  .button.dropdown.hollow.success::after, .flexible-form-wrapper input.dropdown.hollow.success[type="submit"]::after, .button.dropdown.clear.success::after, .flexible-form-wrapper input.dropdown.clear.success[type="submit"]::after {
    border-top-color: #6EB533; }
  .button.dropdown.hollow.warning::after, .flexible-form-wrapper input.dropdown.hollow.warning[type="submit"]::after, .button.dropdown.clear.warning::after, .flexible-form-wrapper input.dropdown.clear.warning[type="submit"]::after {
    border-top-color: #F8D300; }
  .button.dropdown.hollow.alert::after, .flexible-form-wrapper input.dropdown.hollow.alert[type="submit"]::after, .button.dropdown.clear.alert::after, .flexible-form-wrapper input.dropdown.clear.alert[type="submit"]::after {
    border-top-color: #EC1D24; }
  .button.arrow-only::after, .flexible-form-wrapper input.arrow-only[type="submit"]::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0.3125rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #E20714;
  color: #FFFFFF; }
  .label.primary {
    background: #E20714;
    color: #FFFFFF; }
  .label.secondary {
    background: #475267;
    color: #FFFFFF; }
  .label.success {
    background: #6EB533;
    color: #000000; }
  .label.warning {
    background: #F8D300;
    color: #000000; }
  .label.alert {
    background: #EC1D24;
    color: #000000; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 160;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 170;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #FFFFFF; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 170; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 180; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0; }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 170;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #FFFFFF; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 170; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 180; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 20rem;
  -webkit-transform: translateX(-20rem);
      -ms-transform: translateX(-20rem);
          transform: translateX(-20rem); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-20rem);
        -ms-transform: translateX(-20rem);
            transform: translateX(-20rem); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(20rem);
        -ms-transform: translateX(20rem);
            transform: translateX(20rem); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.9); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 20rem;
  -webkit-transform: translateX(20rem);
      -ms-transform: translateX(20rem);
          transform: translateX(20rem); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(20rem);
        -ms-transform: translateX(20rem);
            transform: translateX(20rem); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-20rem);
        -ms-transform: translateX(-20rem);
            transform: translateX(-20rem); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.9); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(-280px);
      -ms-transform: translateY(-280px);
          transform: translateY(-280px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-280px);
        -ms-transform: translateY(-280px);
            transform: translateY(-280px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(280px);
        -ms-transform: translateY(280px);
            transform: translateY(280px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.9); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(280px);
      -ms-transform: translateY(280px);
          transform: translateY(280px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(280px);
        -ms-transform: translateY(280px);
            transform: translateY(280px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-280px);
        -ms-transform: translateY(-280px);
            transform: translateY(-280px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.9); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 50em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 77.5em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-left.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 20rem; }
    .position-left.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-left: 20rem; }
  .position-right.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-right.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 20rem; }
    .position-right.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-right: 20rem; }
  .position-top.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-top.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 20rem; }
    .position-top.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-top: 20rem; }
  .position-bottom.reveal-for-xxxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 161;
    transition: none;
    visibility: visible;
    position: absolute; }
    .position-bottom.reveal-for-xxxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 20rem; }
    .position-bottom.reveal-for-xxxlarge ~ .off-canvas-content {
      margin-bottom: 20rem; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media screen and (min-width: 50em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 77.5em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

@media screen and (min-width: 90em) {
  .off-canvas.in-canvas-for-xxxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none; }
    .off-canvas.in-canvas-for-xxxlarge.position-left, .off-canvas.in-canvas-for-xxxlarge.position-right, .off-canvas.in-canvas-for-xxxlarge.position-top, .off-canvas.in-canvas-for-xxxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxxlarge .close-button {
      display: none; } }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

.title-bar {
  padding: 0rem;
  background: #E20714;
  color: #FFFFFF;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

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

.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.25rem;
  margin-left: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery {
      margin-right: -0.5rem;
      margin-left: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .gallery {
      margin-right: -1rem;
      margin-left: -1rem; } }
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(50% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(20% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(16.66667% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(14.28571% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(12.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(50% - 0.5rem);
    margin-right: 0.25rem;
    margin-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 50em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(11.11111% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery .gallery-icon > a {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #FFFFFF;
    border-radius: 0.3125rem;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0;
    transition: box-shadow 200ms ease-out; }
    .gallery .gallery-icon > a:hover, .gallery .gallery-icon > a:focus {
      box-shadow: 0 0 6px 1px rgba(226, 7, 20, 0.5); }
    .gallery .gallery-icon > a image {
      box-shadow: none; }
  .gallery .gallery-icon > img {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #FFFFFF;
    border-radius: 0.3125rem;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0; }

@media screen and (min-width: 77.5em) {
  .title-bar,
  .mobile-menu {
    display: none !important; } }

@media screen and (max-width: 77.49875em) {
  .desktop-menu,
  .site-header {
    display: none !important; } }

.title-bar {
  background: #FFFFFF;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 5rem;
  padding-top: 0.3125rem; }
  .title-bar .logo {
    height: 100%;
    width: 10rem;
    margin-right: auto;
    padding-left: 1rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 50em) {
      .title-bar .logo {
        width: 8.75rem; } }
  .title-bar .title-bar-button {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    background-color: #E20714;
    height: 100%;
    width: 8.75rem;
    padding: 0 0 0 3.125rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    transition: background-color 0.5s ease;
    border-radius: 10px 0 0 0;
    overflow: hidden;
    position: relative;
    -webkit-transform: skewX(-20deg) translateX(40px);
        -ms-transform: skewX(-20deg) translateX(40px);
            transform: skewX(-20deg) translateX(40px); }
    .title-bar .title-bar-button:before {
      content: "";
      -webkit-transform: skewX(0deg);
          -ms-transform: skewX(0deg);
              transform: skewX(0deg);
      border-radius: 10px 0 0 0;
      overflow: hidden;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
    .title-bar .title-bar-button:before {
      width: 0.9375rem;
      background-color: #C80D0F;
      z-index: 1; }
    .title-bar .title-bar-button:hover {
      cursor: pointer; }
    .title-bar .title-bar-button .menu-icon-button {
      -webkit-transform: skewX(20deg);
          -ms-transform: skewX(20deg);
              transform: skewX(20deg);
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: #FFFFFF;
      font-family: 'rift';
      font-weight: 700;
      text-transform: uppercase;
      font-size: 1.25rem;
      transition: color 0.2s ease; }
      .title-bar .title-bar-button .menu-icon-button span {
        margin-right: 0.625rem; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  position: relative; }
  @media screen and (max-width: 49.99875em) {
    .top-bar {
      display: none !important; } }
  .top-bar nav {
    width: 100%;
    border-radius: 40px 0 0 0;
    overflow: hidden;
    padding-left: 3.125rem; }
    .top-bar nav:before, .top-bar nav:after {
      content: "";
      -webkit-transform: skewX(-20deg);
          -ms-transform: skewX(-20deg);
              transform: skewX(-20deg);
      border-radius: 20px 0 0 0;
      overflow: hidden;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
    .top-bar nav:before {
      width: 1.5625rem;
      background-color: #C80D0F;
      z-index: 1; }
    .top-bar nav:after {
      background: #E20714;
      width: 1250rem; }
  .top-bar ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    list-style-type: none;
    height: 5.625rem;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    position: relative;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .top-bar ul * {
      height: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    .top-bar ul li {
      z-index: 2; }
      .top-bar ul li a {
        position: relative;
        color: #FFFFFF;
        text-transform: uppercase;
        font-size: 0.8125rem;
        font-family: "open_sansbold";
        margin: 0 0.6875rem;
        padding-bottom: 0.3125rem;
        letter-spacing: 0.03em;
        overflow: hidden; }
        .top-bar ul li a:after {
          content: "";
          height: 0.125rem;
          width: 0;
          position: absolute;
          bottom: 0;
          left: 0;
          background: #FFFFFF;
          transition: width 0.3s ease; }
      .top-bar ul li[class*="current"] a:after,
      .top-bar ul li a:hover:after {
        width: 100%; }

.mobile-menu {
  display: none; }

.off-canvas {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%; }
  .off-canvas .red-holder {
    padding: 1rem;
    text-align: right; }
    .off-canvas .red-holder .close-button {
      color: #475267;
      transition: color 0.2s ease; }
      .off-canvas .red-holder .close-button:hover {
        cursor: pointer;
        color: #E20714; }
  .off-canvas.is-closed {
    visibility: visible; }
  .off-canvas .sidebar-canvas-nav {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .off-canvas .langswitch {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 60px; }
    .off-canvas .langswitch a {
      color: #FFFFFF;
      width: 2.625rem;
      height: 2.625rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 0.8125rem;
      font-family: 'open_sansbold';
      margin: 0 0.1875rem;
      background-color: rgba(71, 82, 103, 0.75);
      transition: background-color 0.2s ease;
      border-radius: 50%; }
      .off-canvas .langswitch a:hover, .off-canvas .langswitch a.active {
        background-color: #E20714; }
  .off-canvas.is-open.position-right.is-transition-push {
    box-shadow: -5px 0px 10px 0px rgba(0, 0, 0, 0.25); }
  .off-canvas ul.menu {
    margin: 0 0 2rem 0;
    list-style-type: none; }
    .off-canvas ul.menu li a {
      font-size: 1.125rem;
      font-family: "open_sanssemibold";
      text-transform: uppercase;
      line-height: 1.1;
      padding: 1rem 1rem 1rem 2rem;
      display: block;
      position: relative;
      color: rgba(71, 82, 103, 0.75);
      transition: all 0.2s ease;
      border-left: 4px solid #FFFFFF; }
    .off-canvas ul.menu li[class*="current"] a,
    .off-canvas ul.menu a:hover {
      color: #2A303D;
      border-left: 4px solid #E20714; }

body#tinymce {
  height: auto;
  max-width: 67.25rem;
  padding: 1.25rem !important; }

body {
  overflow-x: hidden; }

.main-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 63.99875em) {
    .main-grid {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .main-grid > * {
    -webkit-flex: 1 1 0%;
        -ms-flex: 1 1 0%;
            flex: 1 1 0%; }

.inner-wrapper, .site-header, .flexible-content, .news-outer-wrapper, .footer .footer-container {
  margin: auto;
  max-width: 67.25rem; }

section header, body:not(.home) .entry-content footer,
body:not(.home) .entry-content header, .flexible-editor-wrapper, .flexible-zwischentitel-wrapper, .flexible-oembed-wrapper, .flexible-table-wrapper, .flexible-sections-wrapper, .flexible-form-wrapper, .flexible-contact-wrapper, .flexible-downloads-wrapper, .flexible-galerie-wrapper, .flexible-ansprechpartner-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 44.5625rem; }

.flexible-editor-wrapper ul, .flexible-sections-wrapper ul, .front-sections-wrapper ul {
  list-style-type: none;
  margin-left: 0; }
  .flexible-editor-wrapper ul li, .flexible-sections-wrapper ul li, .front-sections-wrapper ul li {
    padding-left: 2rem;
    position: relative; }
    .flexible-editor-wrapper ul li:not(:last-child), .flexible-sections-wrapper ul li:not(:last-child), .front-sections-wrapper ul li:not(:last-child) {
      margin-bottom: 0.66667rem; }
    .flexible-editor-wrapper ul li:before, .flexible-sections-wrapper ul li:before, .front-sections-wrapper ul li:before {
      content: "";
      position: absolute;
      top: 0.5rem;
      left: 0;
      width: 0.75rem;
      height: 0.625rem;
      background-image: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.614 6H1.027A1.011 1.011 0 0 1 0 5c0-.552.46-1 1.027-1h7.588L6.28 1.629c-.43-.459-.395-.982 0-1.356.394-.375 1.06-.353 1.432 0 .369.35 3.992 4.047 3.992 4.047A.934.934 0 0 1 12 5c0 .245-.1.49-.296.679 0 0-3.623 3.696-3.992 4.047-.371.353-1.038.377-1.432 0-.395-.374-.43-.898 0-1.358L8.614 6z' fill='%23E20714' fill-rule='evenodd'/%3E%3C/svg%3E"); }

* {
  box-sizing: border-box; }

*[style*="text-decoration"],
u {
  text-decoration: none; }

a {
  transition: color 0.2s ease; }
  a:focus {
    outline: 0; }

b,
strong {
  font-weight: normal;
  font-family: "open_sansbold"; }

p {
  font-family: 'open_sansregular';
  font-size: 1rem;
  line-height: 1.76; }
  p:last-of-type:not(.intro) {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    p {
      font-size: 1.0625rem; } }

h1, .sectiontitle, .front-buttons h5 {
  font-family: "Proxima Nova W05 Extrabold";
  text-transform: uppercase;
  color: #E20714;
  padding: 0 0 1.125rem 0;
  margin-bottom: 1.5rem;
  position: relative; }
  h1:after, .sectiontitle:after, .front-buttons h5:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 2.5rem;
    height: 0.1875rem;
    background: #E20714; }
    @media screen and (min-width: 50em) {
      h1:after, .sectiontitle:after, .front-buttons h5:after {
        width: 4rem;
        height: 0.25rem; } }
  @media screen and (min-width: 50em) {
    h1, .sectiontitle, .front-buttons h5 {
      margin-bottom: 2rem;
      padding: 5.625rem 0 2.5rem 0; } }

h2 {
  font-family: "open_sanssemibold"; }

section header {
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    section header {
      text-align: left; } }

.readmore-wrapper {
  border-top: 1px solid rgba(71, 82, 103, 0.1);
  padding-top: 1rem;
  text-align: center;
  font-family: "open_sansbold";
  margin-top: 2rem;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 40em) {
    .readmore-wrapper {
      padding-top: 0.625rem; } }
  @media screen and (min-width: 50em) {
    .readmore-wrapper {
      text-align: right; } }

a.readmore {
  color: #475267; }
  a.readmore svg {
    color: #E20714;
    margin-left: 0.625rem;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
  a.readmore:hover {
    color: #E20714; }
    a.readmore:hover svg {
      -webkit-transform: translateX(8px);
          -ms-transform: translateX(8px);
              transform: translateX(8px); }

.intro {
  font-family: "open_sanssemibold";
  font-size: 1rem;
  color: #475267;
  margin-bottom: 0;
  line-height: 1.58; }
  @media print, screen and (min-width: 40em) {
    .intro {
      font-size: 1.125rem;
      line-height: 1.83;
      margin-bottom: 2rem; } }

.suptitle {
  font-family: 'open_sansbold';
  color: #E20714;
  text-transform: uppercase;
  font-size: 0.9375rem;
  letter-spacing: 0.07em;
  line-height: 1.33;
  margin-bottom: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .suptitle {
      letter-spacing: 0.10em;
      line-height: 1.2;
      font-size: 1rem;
      margin-bottom: 0.5rem; } }

.sectiontitle {
  color: #2A303D;
  margin-bottom: 0;
  padding: 0.66667rem 0 1.5rem 0; }
  @media print, screen and (min-width: 40em) {
    .sectiontitle {
      padding: 0.5rem 0 1.5rem 0; } }
  .sectiontitle:after {
    display: none; }

.button-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.button, .flexible-form-wrapper input[type="submit"] {
  background: #E20714;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFFFFF;
  font-family: "open_sansbold";
  font-size: 0.8125rem;
  border-radius: 0.3125rem;
  padding: 1.25rem 5rem; }
  .button:focus, .flexible-form-wrapper input:focus[type="submit"], .button:active, .flexible-form-wrapper input:active[type="submit"], .button:hover, .flexible-form-wrapper input:hover[type="submit"] {
    background-color: #475267;
    color: #FFFFFF; }

.backlink-wrapper {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 67.25rem;
  position: relative;
  z-index: 200;
  top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .backlink-wrapper {
      top: 0; } }
  @media screen and (min-width: 50em) {
    .backlink-wrapper {
      position: absolute;
      left: 50%;
      top: -1.875rem;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  @media screen and (min-width: 64em) {
    .backlink-wrapper {
      top: -3.75rem; } }

.backlink {
  padding: 0 1rem; }
  .backlink a {
    margin: 0 auto;
    color: #475267;
    font-family: 'open_sanssemibold';
    font-size: 0.875rem;
    border: 2px solid rgba(71, 82, 103, 0.1);
    height: 2.75rem;
    padding: 0 2.5rem;
    border-radius: 2000px;
    letter-spacing: 0.05em;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    transition: all 0.2s ease; }
    @media print, screen and (min-width: 40em) {
      .backlink a {
        min-height: 4.0625rem; } }
    .backlink a svg {
      margin-right: 0.625rem;
      color: #E20714;
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
    .backlink a:hover {
      border: 2px solid #E20714;
      color: #E20714; }
      .backlink a:hover svg {
        -webkit-transform: translateX(-10px);
            -ms-transform: translateX(-10px);
                transform: translateX(-10px); }

.kopfbild-wrapper {
  overflow: hidden;
  position: relative; }
  .kopfbild-wrapper img {
    z-index: 0;
    width: 100%; }

.curved {
  position: relative; }
  .curved:after {
    content: "";
    width: 20000px;
    height: 400px;
    position: absolute;
    bottom: 0;
    left: -100px;
    background-color: #FFFFFF;
    z-index: 1;
    -webkit-transform: rotate(-6deg) translateY(400px);
        -ms-transform: rotate(-6deg) translateY(400px);
            transform: rotate(-6deg) translateY(400px);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left; }

/*********** HEADER **************/
.sticky-container {
  z-index: 150; }
  .sticky-container .sticky {
    top: 0 !important;
    margin-top: 0;
    background: #FFFFFF; }
    .sticky-container .sticky.is-stuck {
      box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.15); }

.site-header {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 7.6875rem;
  position: relative; }

.logo {
  height: 100%;
  background: #FFFFFF;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: auto;
  position: relative;
  padding: 0 1rem; }
  .logo:before {
    content: "";
    height: 100%;
    width: 20000px;
    background: #FFFFFF;
    z-index: -1;
    top: 0;
    right: 0;
    position: absolute; }
  .logo img {
    width: 100%;
    max-width: 20.25rem; }
  .logo.mobile {
    padding: 1rem 0;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
    .logo.mobile img {
      max-width: 7.4375rem; }

.langswitch {
  padding: 0 1.5625rem;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: none; }
  @media screen and (min-width: 77.5em) {
    .langswitch {
      height: 2rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      z-index: 140;
      position: absolute;
      top: 0;
      right: 0; } }
  .langswitch a {
    font-family: "open_sansbold";
    font-size: 0.8125rem;
    text-transform: uppercase; }
    @media screen and (min-width: 77.5em) {
      .langswitch a {
        color: #475267;
        margin-left: 0.5rem; }
        .langswitch a.active, .langswitch a:hover {
          color: #E20714; } }

.cycle-slide {
  height: 32.125rem;
  width: 100%;
  background: center center no-repeat;
  background-size: cover;
  position: relative;
  transition: background-size 8s ease-in-out; }
  @media screen and (min-width: 50em) {
    .cycle-slide {
      height: 48.75rem; } }
  .cycle-slide:hover .suptitle {
    color: #FFFFFF; }
  .cycle-slide .slogan {
    font-size: 2.1875rem;
    font-family: "Proxima Nova W05 Black";
    color: #FFFFFF;
    letter-spacing: 5px;
    line-height: 1.09;
    text-shadow: 0 0 12px rgba(71, 82, 103, 0.3);
    margin-top: 1.45rem; }
    @media screen and (max-width: 39.99875em) {
      .cycle-slide .slogan {
        font-size: 1.3rem;
        line-height: 1.09; } }
    @media screen and (min-width: 50em) {
      .cycle-slide .slogan {
        letter-spacing: 7.5px;
        line-height: 2;
        font-size: 1.625rem;
        text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        margin-top: -0.65rem; } }
  .cycle-slide .cycle-caption {
    position: absolute;
    text-align: center;
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    z-index: 300;
    text-transform: uppercase;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    @media screen and (max-width: 39.99875em) {
      .cycle-slide .cycle-caption {
        height: 80%; } }
    @media print, screen and (min-width: 40em) {
      .cycle-slide .cycle-caption {
        width: calc(100% - 170px); } }
  @media screen and (min-width: 50em) {
    .cycle-slide .cycle-caption-inner {
      margin-top: -200px; } }
  .cycle-slide .suptitle {
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 6px;
    line-height: 1.41;
    transition: color 0.2s ease; }
    @media screen and (max-width: 39.99875em) {
      .cycle-slide .suptitle {
        max-width: 16rem; } }
    @media screen and (max-width: 63.99875em) {
      .cycle-slide .suptitle {
        font-size: 0.8125rem;
        max-width: 18rem;
        margin: auto; } }
  .cycle-slide .title {
    font-size: 3.375rem;
    font-family: "Proxima Nova W05 Black";
    color: #FFFFFF;
    letter-spacing: 5px;
    line-height: 52.9px;
    text-shadow: 0 0 12px rgba(71, 82, 103, 0.3);
    margin-top: 1.5625rem; }
    @media screen and (max-width: 39.99875em) {
      .cycle-slide .title {
        font-size: 2.75rem;
        line-height: 2.5rem; } }
    @media screen and (min-width: 50em) {
      .cycle-slide .title {
        letter-spacing: 7.5px;
        line-height: 1;
        font-size: 4.6875rem;
        text-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } }
  .cycle-slide .button-wrapper {
    margin-top: 3.125rem; }
  .cycle-slide a {
    padding: 0.625rem 3.75rem;
    border: 2px solid rgba(255, 255, 255, 0.7);
    color: rgba(255, 255, 255, 0.7);
    font-family: 'open_sansbold';
    font-size: 0.8125rem;
    border-radius: 2000px;
    transition: all 0.2s ease; }
    .cycle-slide a:hover {
      color: #FFFFFF;
      border: 2px solid #FFFFFF;
      padding: 0.625rem 4.6875rem; }

.prevnext {
  color: rgba(255, 255, 255, 0.7);
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  width: 2.625rem;
  height: 2.625rem;
  position: absolute;
  z-index: 120;
  transition: all 0.2s ease;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 49.99875em) {
    .prevnext {
      display: none !important; } }
  @media print, screen and (min-width: 40em) {
    .prevnext {
      margin-top: -320px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
  @media screen and (min-width: 77.5em) {
    .prevnext {
      margin-top: -247px; } }
  .prevnext:hover {
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
    cursor: pointer; }
  .prevnext.prev {
    left: 40px; }
  .prevnext.next {
    right: 40px; }

/**************** CONTENT *****************/
body:not(.home) .entry-content {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 2rem;
  position: relative; }
  @media screen and (min-width: 64em) {
    body:not(.home) .entry-content {
      padding-left: 0;
      padding-right: 0; } }
  body:not(.home) .entry-content footer,
  body:not(.home) .entry-content header {
    text-align: left;
    position: relative;
    padding-top: 3.125rem; }
    @media screen and (min-width: 50em) {
      body:not(.home) .entry-content footer,
      body:not(.home) .entry-content header {
        padding-top: 0; } }

/**************** FLEXIBLE CONTENT *****************/
.flexible-content {
  padding-top: 2rem; }
  @media screen and (min-width: 50em) {
    .flexible-content {
      padding-top: 3rem; } }
  @media screen and (min-width: 50em) {
    .flexible-content {
      padding-top: 3rem; } }
  .flexible-content.half {
    padding-top: 1rem; }
    @media screen and (min-width: 50em) {
      .flexible-content.half {
        padding-top: 2rem; } }
  .flexible-content.third {
    padding-top: 0.5rem; }
    @media screen and (min-width: 50em) {
      .flexible-content.third {
        padding-top: 0.5rem; } }

.flexible-galerie-wrapper + .flexible-editor-wrapper {
  padding-top: 2rem; }

.flexible-oembed-wrapper + .flexible-zwischentitel-wrapper h2,
.flexible-editor-wrapper + .flexible-zwischentitel-wrapper h2,
.flexible-galerie-wrapper + .flexible-zwischentitel-wrapper h2 {
  padding-top: 1rem; }
  @media screen and (min-width: 50em) {
    .flexible-oembed-wrapper + .flexible-zwischentitel-wrapper h2,
    .flexible-editor-wrapper + .flexible-zwischentitel-wrapper h2,
    .flexible-galerie-wrapper + .flexible-zwischentitel-wrapper h2 {
      padding-top: 4rem; } }

.flexible-oembed-wrapper + .flexible-zwischentitel-wrapper h3,
.flexible-editor-wrapper + .flexible-zwischentitel-wrapper h3,
.flexible-galerie-wrapper + .flexible-zwischentitel-wrapper h3 {
  margin-top: 0; }

.flexible-editor-wrapper p:last-of-type + ul {
  margin-top: 1rem; }

.flexible-container-wrapper div.flexible-content:first-of-type {
  padding-top: 1.5rem; }

.flexible-zwischentitel-wrapper + .flexible-zwischentitel-wrapper {
  padding-top: 1rem; }
  @media screen and (min-width: 50em) {
    .flexible-zwischentitel-wrapper + .flexible-zwischentitel-wrapper {
      padding-top: 1.5rem; } }

.flexible-zwischentitel-wrapper + .flexible-editor-wrapper {
  padding-top: 0.5rem; }
  @media screen and (min-width: 50em) {
    .flexible-zwischentitel-wrapper + .flexible-editor-wrapper {
      padding-top: 1rem; } }

.flexible-editor-wrapper a {
  font-family: "open_sanssemibold"; }
  .flexible-editor-wrapper a:hover {
    color: #475267; }

@media screen and (max-width: 39.99875em) {
  .flexible-editor-wrapper li,
  .flexible-editor-wrapper li {
    line-height: 1.375; } }

.flexible-editor-wrapper h3 {
  margin-bottom: 1rem; }

.flexible-editor-wrapper h2 {
  margin: 2.5rem 0 0.5rem 0; }
  @media screen and (min-width: 50em) {
    .flexible-editor-wrapper h2 {
      margin: 4rem 0 0.5rem 0; } }

.flexible-editor-wrapper h4 {
  margin: 1.5rem 0 0.5rem 0; }

.flexible-button-wrapper {
  text-align: center; }

.flexible-table {
  border-radius: 0.3125rem;
  overflow: hidden;
  margin: 0;
  font-size: 0.875rem; }
  .flexible-table li {
    padding: 0.4375rem 1rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: #475267;
    line-height: 1.3; }
    .flexible-table li:nth-child(odd) {
      background: rgba(117, 126, 141, 0.1); }
    @media screen and (max-width: 49.99875em) {
      .flexible-table li {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .flexible-table li strong {
      -webkit-flex: 1 0 auto;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      width: 100%; }
      @media screen and (min-width: 50em) {
        .flexible-table li strong {
          max-width: 15.625rem; } }
    .flexible-table li:before {
      top: 50%;
      left: 5px;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }

.flexible-sections-wrapper ul {
  font-family: "open_sanssemibold"; }
  @media screen and (min-width: 50em) {
    .flexible-sections-wrapper ul {
      -webkit-columns: 2;
              columns: 2; } }

.flexible-form-wrapper ul {
  list-style-type: none;
  margin-left: 0; }

.flexible-form-wrapper label {
  font-family: 'open_sansbold';
  font-size: 0.9375rem;
  padding: 0.625rem 0 0.4375rem 0;
  display: inline-block;
  color: #475267; }

.flexible-form-wrapper input:not([type="submit"]), .flexible-form-wrapper textarea {
  width: 100%;
  background-color: rgba(117, 126, 141, 0.1);
  border: 0;
  border-radius: 0;
  color: #475267;
  padding: 1rem; }
  .flexible-form-wrapper input:not([type="submit"]):focus, .flexible-form-wrapper textarea:focus {
    background-color: rgba(117, 126, 141, 0.15); }

.flexible-form-wrapper .gform_validation_container {
  display: none; }

.flexible-form-wrapper .gfield_required {
  color: #E20714;
  margin-left: 0.5rem; }

.flexible-form-wrapper .gform_footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 0.5rem; }

.flexible-contact-wrapper ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }

.flexible-contact-wrapper li {
  width: 100%;
  padding: 0.5rem; }
  @media print, screen and (min-width: 40em) {
    .flexible-contact-wrapper li {
      width: 50%; } }

.flexible-contact-wrapper .innerwrapper {
  border: 1px solid rgba(71, 82, 103, 0.1);
  border-radius: 0.3125rem;
  padding: 1rem;
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .flexible-contact-wrapper .innerwrapper:hover {
    color: #E20714; }
    .flexible-contact-wrapper .innerwrapper:hover svg {
      -webkit-transform: translateX(8px);
          -ms-transform: translateX(8px);
              transform: translateX(8px); }

.flexible-contact-wrapper .function {
  color: rgba(71, 82, 103, 0.5);
  font-size: 0.9375rem; }

.flexible-contact-wrapper .mailto {
  margin-left: auto;
  font-family: 'open_sansbold';
  font-size: 0.8125rem;
  text-transform: uppercase; }
  .flexible-contact-wrapper .mailto svg {
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease;
    margin-left: 0.25rem; }

.flexible-downloads-wrapper li {
  position: relative; }
  .flexible-downloads-wrapper li:not(:last-child) {
    margin-bottom: 1rem; }

.flexible-downloads-wrapper a {
  padding-left: 3.125rem;
  display: block; }
  .flexible-downloads-wrapper a:before {
    content: "";
    background: #E20714 url("data:image/svg+xml,%3Csvg width='11' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.833 8.541V1.165a1 1 0 1 1 2 0v7.378l2.372-2.27c.458-.418.982-.385 1.355 0 .376.382.353 1.03 0 1.391-.35.359-4.047 3.881-4.047 3.881a.947.947 0 0 1-1.358 0S1.458 8.023 1.107 7.664c-.353-.36-.377-1.009 0-1.392.374-.384.898-.417 1.359 0l2.367 2.27z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E%0A") center center no-repeat;
    width: 2rem;
    height: 2rem;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 0.3125rem;
    transition: background-color 0.2s ease; }
  .flexible-downloads-wrapper a:hover:before {
    background-color: #2A303D; }
  .flexible-downloads-wrapper a:hover h6 {
    color: #2A303D; }
  .flexible-downloads-wrapper a h6 {
    color: #E20714;
    margin-bottom: 0.625rem;
    transition: color 0.2s ease; }
    @media screen and (max-width: 39.99875em) {
      .flexible-downloads-wrapper a h6 {
        padding-top: 0.5rem; } }
  .flexible-downloads-wrapper a p {
    color: #475267;
    font-size: 0.9375rem;
    line-height: 1.66; }

@media screen and (max-width: 39.99875em) {
  .flexible-galerie-wrapper {
    margin-left: -0.25rem;
    margin-right: -0.25rem; } }

.flexible-galerie-wrapper .inner-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media print, screen and (min-width: 40em) {
    .flexible-galerie-wrapper .inner-wrapper {
      margin-left: -0.25rem;
      margin-right: -0.25rem; } }

.flexible-galerie-wrapper a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
  width: 50%;
  padding: 0.25rem; }
  .flexible-galerie-wrapper a.grow {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (max-width: 39.99875em) {
      .flexible-galerie-wrapper a.grow {
        width: 100%; } }
  @media print, screen and (min-width: 40em) {
    .flexible-galerie-wrapper a {
      width: 33.33%; } }
  .flexible-galerie-wrapper a span {
    position: relative;
    overflow: hidden;
    border-radius: 0.3125rem; }
    .flexible-galerie-wrapper a span:after, .flexible-galerie-wrapper a span:before {
      content: "";
      opacity: 0;
      transition: opacity 0.2s ease;
      margin: auto;
      position: absolute; }
    .flexible-galerie-wrapper a span:before {
      content: "+";
      font-size: 1.875rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: #FFFFFF;
      z-index: 2;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .flexible-galerie-wrapper a span:after {
      height: 100%;
      width: 100%;
      left: 0px;
      top: 0px;
      background: rgba(0, 0, 0, 0.15); }
    .flexible-galerie-wrapper a span:hover:after, .flexible-galerie-wrapper a span:hover:before {
      opacity: 1; }
  .flexible-galerie-wrapper a img {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.flexible-ctabuttons-wrapper {
  background-color: #2A303D;
  max-width: none;
  display: block;
  padding: 3rem 2rem;
  width: 100vw;
  margin-left: 50%;
  margin-top: 3rem;
  margin-bottom: 1rem;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
  .flexible-ctabuttons-wrapper ul {
    margin: -0.66667rem;
    padding: 0;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    list-style-type: none; }
    @media print, screen and (min-width: 40em) {
      .flexible-ctabuttons-wrapper ul {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-evenly;
            -ms-flex-pack: space-evenly;
                justify-content: space-evenly; } }
  .flexible-ctabuttons-wrapper h3 {
    color: #FFFFFF;
    text-align: center;
    margin: 0 0 1.5rem 0;
    line-height: 1.35;
    padding: 0; }
  .flexible-ctabuttons-wrapper .link-wrapper {
    max-width: 34rem;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .flexible-ctabuttons-wrapper li {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    @media print, screen and (min-width: 40em) {
      .flexible-ctabuttons-wrapper li {
        width: 50%; } }
  .flexible-ctabuttons-wrapper a {
    margin: 0.66667rem;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding: 1rem; }

@media screen and (max-width: 39.99875em) {
  .flexible-ansprechpartner-wrapper {
    margin-left: -0.25rem;
    margin-right: -0.25rem; } }

.flexible-ansprechpartner-wrapper .inner-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media print, screen and (min-width: 40em) {
    .flexible-ansprechpartner-wrapper .inner-wrapper {
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      margin-left: -0.25rem;
      margin-right: -0.25rem;
      margin-top: -2rem; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper .ap-item {
    padding: 0.25rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .flexible-ansprechpartner-wrapper .inner-wrapper .ap-item {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 33.33%;
        padding: 3rem 0.25rem 0.25rem 0.25rem; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper .ap-meta {
    margin: auto;
    padding: 0 0 0 2rem;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    @media print, screen and (min-width: 40em) {
      .flexible-ansprechpartner-wrapper .inner-wrapper .ap-meta {
        padding: 1rem 0 0 0;
        margin: 0; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper .ap-funktion {
    font-size: 0.9375rem; }
  @media screen and (max-width: 39.99875em) {
    .flexible-ansprechpartner-wrapper .inner-wrapper img {
      max-width: 7.625rem; } }
  .flexible-ansprechpartner-wrapper .inner-wrapper h5 {
    font-size: 1rem;
    font-family: 'open_sansbold';
    color: #475267; }

ul.card-wrapper {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  ul.card-wrapper li {
    padding: 0.5rem;
    width: 100%;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      ul.card-wrapper li {
        width: 50%; } }
    @media screen and (min-width: 50em) {
      ul.card-wrapper li {
        width: 33.33%; } }
  ul.card-wrapper a {
    position: relative;
    box-shadow: 0 0 5px 0 rgba(71, 82, 103, 0.2);
    border-radius: 0.3125rem;
    overflow: hidden;
    display: block;
    transition: all 0.2s ease;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%; }
    ul.card-wrapper a h3 {
      width: 100%;
      text-align: center;
      font-size: 1.0625rem;
      color: #E20714;
      padding: 0 1rem;
      font-family: 'open_sansbold';
      padding: 1rem;
      transition: color 0.2s ease;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    ul.card-wrapper a:hover {
      -webkit-transform: translateY(-8px);
          -ms-transform: translateY(-8px);
              transform: translateY(-8px);
      box-shadow: 0 4px 12px 0 rgba(42, 48, 61, 0.2); }
      ul.card-wrapper a:hover h3 {
        color: #2A303D; }

/******************** NEWS + ARCHIVE **************/
.news-archive h1, .news-archive .sectiontitle, .news-archive .front-buttons h5, .front-buttons .news-archive h5 {
  text-align: center; }
  .news-archive h1:after, .news-archive .sectiontitle:after, .news-archive .front-buttons h5:after, .front-buttons .news-archive h5:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.page-numbers {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  list-style-type: none;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .page-numbers li {
    padding: 0.3125rem; }
    .page-numbers li > * {
      font-size: 0.875rem;
      font-family: 'open_sanssemibold';
      width: 2rem;
      height: 2rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      border-radius: 0.3125rem;
      color: #475267;
      transition: all 0.2s ease; }
      .page-numbers li > *:hover {
        background: #475267;
        color: #FFFFFF; }
      .page-numbers li > *.current {
        background: #E20714;
        color: #FFFFFF; }

.news-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .news-wrapper .news-item {
    padding: 1rem 0.5rem;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .news-wrapper .news-item {
        width: 50%;
        padding: 1rem 0.5rem; } }
    @media screen and (min-width: 50em) {
      .news-wrapper .news-item {
        width: 33.33%; } }
    .news-wrapper .news-item:hover h3 {
      color: #2A303D; }
    .news-wrapper .news-item:hover .thumb:before, .news-wrapper .news-item:hover .thumb:after {
      opacity: 1; }
    .news-wrapper .news-item > * {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; }
    .news-wrapper .news-item .thumb {
      margin-bottom: 1rem;
      overflow: hidden;
      border-radius: 0.3125rem;
      position: relative; }
      .news-wrapper .news-item .thumb:after, .news-wrapper .news-item .thumb:before {
        content: "";
        opacity: 0;
        transition: opacity 0.2s ease;
        margin: auto;
        position: absolute; }
      .news-wrapper .news-item .thumb:before {
        content: "+";
        font-size: 1.875rem;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        color: #FFFFFF;
        z-index: 2;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      .news-wrapper .news-item .thumb:after {
        height: 100%;
        width: 100%;
        left: 0px;
        top: 0px;
        background: rgba(0, 0, 0, 0.15); }
    .news-wrapper .news-item h3 {
      transition: color 0.2s ease;
      line-height: 1.44;
      font-size: 1.0625rem;
      color: #E20714;
      line-height: 1.2;
      margin-bottom: 0.66667rem; }
    .news-wrapper .news-item p {
      color: #475267;
      line-height: 1.7;
      font-size: 1.0625rem; }
      @media print, screen and (min-width: 40em) {
        .news-wrapper .news-item p {
          font-size: 0.9375rem; } }

.news-meta {
  font-size: 0.9375rem;
  color: rgba(71, 82, 103, 0.5);
  font-family: "open_sansbold";
  margin: 0px 0 5px 0;
  display: block; }
  @media print, screen and (min-width: 40em) {
    .news-meta {
      font-size: 0.8125rem; } }

/******************** FOOTER ********************/
.footer {
  background: #2A303D; }
  .footer.no-contactbox {
    margin-top: 5rem; }
  .footer .footer-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem 1rem;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media screen and (min-width: 77.5em) {
      .footer .footer-container {
        padding-left: 0;
        padding-right: 0; } }
    .footer .footer-container > * {
      -webkit-flex: 1 1 auto;
          -ms-flex: 1 1 auto;
              flex: 1 1 auto; }
  .footer a {
    font-family: 'open_sansbold';
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 0.75rem; }
    .footer a:hover {
      color: #e7e7e7; }
  .footer li[class*="current"] a,
  .footer a:hover {
    color: #FFFFFF; }
  .footer ul {
    list-style-type: none;
    margin: 0;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .footer .footer-menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 1rem; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-menu {
        -webkit-order: 0;
            -ms-flex-order: 0;
                order: 0;
        margin-top: 0; } }
    .footer .footer-menu a {
      margin: 0 0.625rem; }
      @media screen and (min-width: 50em) {
        .footer .footer-menu a {
          margin: 0 1.25rem 0 0; } }
  .footer .socials {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .footer .socials img {
      margin-right: 0.625rem; }

/******************** CONTACT FOOTER ********************/
.contactbox-wrapper {
  background-color: #F6F9FC;
  position: relative;
  margin-top: 15rem;
  padding-bottom: 5rem; }
  .contactbox-wrapper:before {
    content: '';
    height: 15rem;
    width: calc(100% + 200px);
    position: absolute;
    background-color: #F6F9FC;
    top: -5rem;
    -webkit-transform: rotate(-6deg);
        -ms-transform: rotate(-6deg);
            transform: rotate(-6deg);
    z-index: -1;
    height: 7.5rem; }
    @media screen and (min-width: 50em) {
      .contactbox-wrapper:before {
        height: 15rem;
        top: -10rem; } }
  .contactbox-wrapper .inner-wrapper {
    padding: 0 1rem;
    max-width: 43.75rem; }
    @media screen and (min-width: 64em) {
      .contactbox-wrapper .inner-wrapper {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        max-width: 71.125rem; } }
  .contactbox-wrapper .col1 {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    @media screen and (min-width: 64em) {
      .contactbox-wrapper .col1 {
        padding-right: 3rem; } }
    @media screen and (min-width: 77.5em) {
      .contactbox-wrapper .col1 {
        padding-right: 7rem; } }
  @media screen and (min-width: 64em) {
    .contactbox-wrapper .col2 {
      width: 25.75rem;
      -webkit-flex: 1 0 auto;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto; } }
  .contactbox-wrapper .validation_message,
  .contactbox-wrapper .validation_error {
    color: #E20714;
    font-size: 0.8125rem;
    font-family: 'open_sansbold';
    margin-bottom: 0.5rem; }
  @media screen and (min-width: 64em) {
    .contactbox-wrapper .link-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin-top: 1.5rem;
      margin-left: -0.5rem;
      margin-right: -0.5rem; } }
  .contactbox-wrapper .link-wrapper .icon-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 1rem; }
  .contactbox-wrapper .link-wrapper a {
    margin: 1rem 0;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: #475267;
    font-family: 'open_sansbold';
    font-size: 1.0625rem;
    padding: 0.66667rem 1rem;
    border-radius: 0.3125rem;
    transition: all 0.2s ease;
    border: 2px solid rgba(71, 82, 103, 0.1); }
    @media screen and (min-width: 64em) {
      .contactbox-wrapper .link-wrapper a {
        margin: 0.5rem; } }
    .contactbox-wrapper .link-wrapper a:hover {
      border: 2px solid #475267; }
  .contactbox-wrapper .link-wrapper h6 {
    color: #E20714;
    text-transform: uppercase;
    font-family: 'open_sansbold';
    font-size: 0.8125rem; }
  .contactbox-wrapper ul {
    list-style-type: none;
    padding: 0;
    margin: 0; }
  .contactbox-wrapper input, .contactbox-wrapper textarea {
    width: 100%;
    border: 1px solid rgba(71, 82, 103, 0.25);
    padding: 1rem;
    border-radius: 0.3125rem;
    font-size: 0.9375rem;
    font-family: 'open_sansbold'; }
    .contactbox-wrapper input:focus, .contactbox-wrapper textarea:focus {
      outline: 0;
      border: 1px solid #E20714;
      border-radius: 0.3125rem; }
  .contactbox-wrapper textarea {
    height: 6.75rem; }
  .contactbox-wrapper input[type="submit"] {
    font-size: 0.8125rem;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: 0; }
  .contactbox-wrapper h2 {
    line-height: 1.5;
    margin-bottom: 2rem; }
  .contactbox-wrapper p {
    color: #475267; }
  .contactbox-wrapper form {
    margin-top: 3rem; }
    @media screen and (min-width: 64em) {
      .contactbox-wrapper form {
        margin-top: 0; } }
    .contactbox-wrapper form .gfield_required {
      display: none; }
    .contactbox-wrapper form li.gfield {
      margin-bottom: 1.5rem; }
    .contactbox-wrapper form .gfield_radio {
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .contactbox-wrapper form .gfield_radio {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; } }
      .contactbox-wrapper form .gfield_radio li {
        margin-bottom: 0.5rem;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        @media print, screen and (min-width: 40em) {
          .contactbox-wrapper form .gfield_radio li {
            margin-bottom: 0; } }
      .contactbox-wrapper form .gfield_radio label {
        font-family: 'open_sansbold';
        color: #475267;
        font-size: 0.9375rem; }
      .contactbox-wrapper form .gfield_radio input {
        opacity: 0;
        position: absolute; }
        .contactbox-wrapper form .gfield_radio input + label {
          position: relative;
          overflow: hidden;
          padding: 0 0 0 2rem;
          cursor: pointer;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          text-transform: none; }
          .contactbox-wrapper form .gfield_radio input + label:before, .contactbox-wrapper form .gfield_radio input + label:after {
            content: '';
            position: absolute;
            top: 5px;
            left: 0;
            z-index: 1;
            transition: .2s;
            width: 16px;
            height: 16px;
            border: 1px solid rgba(71, 82, 103, 0.25);
            background: #FFFFFF center center no-repeat;
            border-radius: 50%; }
        .contactbox-wrapper form .gfield_radio input:checked + label:before {
          background-color: #E20714;
          width: 8px;
          height: 8px;
          top: 0.5625rem;
          left: 0.25rem;
          z-index: 2;
          border: 0; }

.home p {
  line-height: 2; }

.home section > .inner-wrapper {
  padding: 0 1rem;
  max-width: 40rem;
  margin: auto; }
  @media screen and (max-width: 49.99875em) {
    .home section > .inner-wrapper {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 50em) {
    .home section > .inner-wrapper {
      max-width: 67.25rem; } }
  @media screen and (min-width: 77.5em) {
    .home section > .inner-wrapper {
      padding: 0; } }

.front-intro-wrapper {
  position: relative;
  z-index: 120;
  background-color: #FFFFFF;
  padding-bottom: 1rem; }
  @media screen and (min-width: 50em) {
    .front-intro-wrapper {
      padding-bottom: 13rem; } }
  .front-intro-wrapper .inner-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 1rem; }
    @media screen and (max-width: 49.99875em) {
      .front-intro-wrapper .inner-wrapper {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-transform: translateY(-80px);
            -ms-transform: translateY(-80px);
                transform: translateY(-80px); } }
  .front-intro-wrapper .img-wrapper {
    position: relative;
    width: 100%;
    max-width: 33.125rem;
    margin: auto;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    text-align: center; }
    @media screen and (min-width: 50em) {
      .front-intro-wrapper .img-wrapper {
        -webkit-transform: translateY(-180px);
            -ms-transform: translateY(-180px);
                transform: translateY(-180px); } }
  .front-intro-wrapper.curved:after {
    background-color: #F6F9FC; }

.front-products-wrapper {
  position: relative;
  z-index: 130;
  background-color: #F6F9FC;
  padding-bottom: 2rem; }
  .front-products-wrapper header {
    text-align: center; }
  @media screen and (max-width: 49.99875em) {
    .front-products-wrapper {
      padding-top: 2rem;
      padding-bottom: 0.5rem; } }
  .front-products-wrapper .readmore-wrapper {
    text-align: center;
    border: 0;
    margin-top: 0; }
    @media screen and (max-width: 39.99875em) {
      .front-products-wrapper .readmore-wrapper {
        padding-top: 0; } }

.products {
  list-style-type: none;
  margin-top: 2rem;
  margin-bottom: 1rem;
  margin-left: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 40em) {
    .products {
      margin-top: 3rem; } }
  @media screen and (min-width: 50em) {
    .products {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-left: -0.5rem;
      margin-right: -0.5rem; } }
  .products li {
    width: 100%; }
    @media screen and (min-width: 50em) {
      .products li {
        width: 33.33%; } }
    .products li > * {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      transition: all 0.2s ease;
      margin: 0.5rem 0; }
      .products li > *:hover .line {
        color: #2A303D; }
      @media screen and (min-width: 50em) {
        .products li > * {
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          background-color: #FFFFFF;
          height: 13.1875rem;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column;
          margin: 0.5rem; }
          .products li > *:hover {
            -webkit-transform: translateY(-8px);
                -ms-transform: translateY(-8px);
                    transform: translateY(-8px);
            box-shadow: 0 4px 12px 0 rgba(42, 48, 61, 0.2); } }
  .products .title-wrapper {
    margin-left: 1rem; }
    @media screen and (min-width: 50em) {
      .products .title-wrapper {
        text-align: center; } }
  .products .line {
    font-family: "Proxima Nova W05 Regular";
    font-size: 1.25rem;
    color: #E20714;
    text-transform: uppercase;
    line-height: 1;
    transition: color 0.2s ease; }
    @media screen and (min-width: 50em) {
      .products .line {
        font-size: 1.5rem; } }
  .products .line2 {
    font-family: "Proxima Nova W05 Bold"; }
  .products img {
    width: 2.75rem; }
    @media screen and (min-width: 50em) {
      .products img {
        margin-bottom: 1.25rem;
        width: 5rem; } }

.front-buttons-wrapper {
  padding: 1.5rem 0 3rem 0;
  background: #F6F9FC; }
  @media print, screen and (min-width: 40em) {
    .front-buttons-wrapper {
      padding: 2rem 0 6rem 0; } }

.front-buttons {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  list-style-type: none;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .front-buttons li {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 100%;
    padding: 0.5rem; }
    @media screen and (min-width: 50em) {
      .front-buttons li {
        width: 50%; } }
    .front-buttons li.grow {
      width: 100%; }
  .front-buttons a {
    background: center center no-repeat;
    background-size: cover;
    height: 10rem;
    padding: 0.5rem 2rem;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
    border-radius: 0.3125rem; }
    @media print, screen and (min-width: 40em) {
      .front-buttons a {
        height: 15rem; } }
    .front-buttons a:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      background-color: rgba(0, 0, 0, 0.25);
      transition: all 0.2s ease;
      z-index: 0; }
    .front-buttons a:hover:after {
      opacity: 1; }
    .front-buttons a:hover .meta-wrapper {
      -webkit-transform: translateY(-8px);
          -ms-transform: translateY(-8px);
              transform: translateY(-8px); }
  .front-buttons .meta-wrapper {
    transition: all 0.2s ease;
    position: relative;
    z-index: 1; }
  .front-buttons h5 {
    color: #FFFFFF;
    margin: 0;
    padding: 0;
    line-height: 1.05;
    font-size: 1.4375rem; }
    .front-buttons h5:after {
      display: none; }
    @media print, screen and (min-width: 40em) {
      .front-buttons h5 {
        font-size: 2.1875rem;
        margin-top: 0.5rem;
        line-height: 0.95; } }
  .front-buttons .suptitle {
    color: #FFFFFF; }

.photobar-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media screen and (min-width: 64em) {
    .photobar-wrapper {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }
  .photobar-wrapper a {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: 50%;
    position: relative; }
    .photobar-wrapper a:after, .photobar-wrapper a:before {
      content: "";
      opacity: 0;
      transition: opacity 0.2s ease;
      margin: auto;
      position: absolute; }
    .photobar-wrapper a:before {
      content: "+";
      font-size: 1.875rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: #FFFFFF;
      z-index: 2;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .photobar-wrapper a:after {
      height: 100%;
      width: 100%;
      left: 0px;
      top: 0px;
      background: rgba(0, 0, 0, 0.15); }
    .photobar-wrapper a:hover:after, .photobar-wrapper a:hover:before {
      opacity: 1; }

.front-values-wrapper {
  position: relative;
  overflow: hidden;
  background-color: #FFFFFF;
  padding: 4rem 0 6rem 0; }
  @media screen and (min-width: 64em) {
    .front-values-wrapper {
      padding: 8rem 0 12rem 0; } }
  .front-values-wrapper .inner-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 1rem; }
    @media screen and (min-width: 50em) {
      .front-values-wrapper .inner-wrapper {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; }
        .front-values-wrapper .inner-wrapper .front-values-text {
          padding-right: 2rem; } }
    @media screen and (min-width: 64em) {
      .front-values-wrapper .inner-wrapper .sectiontitle {
        max-width: 60%; }
      .front-values-wrapper .inner-wrapper .front-values-text {
        padding-right: 4rem; } }
  .front-values-wrapper .img-wrapper {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    margin-top: 3rem; }
    @media screen and (min-width: 50em) {
      .front-values-wrapper .img-wrapper {
        margin-top: 0;
        max-width: 25.5625rem; } }
  .front-values-wrapper.curved:after {
    background-color: #F6F9FC;
    z-index: 2; }

.front-sections-wrapper {
  background: #F6F9FC;
  position: relative;
  z-index: 3;
  padding-bottom: 3rem;
  padding-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    .front-sections-wrapper {
      padding-bottom: 7rem;
      padding-top: 0; } }
  @media print, screen and (min-width: 40em) {
    .front-sections-wrapper .section-inner {
      padding: 2rem 4rem;
      background: #FFFFFF;
      border-radius: 0.3125rem;
      margin-top: 2rem; } }
  .front-sections-wrapper header {
    text-align: center; }
  .front-sections-wrapper a {
    color: #475267;
    font-family: 'open_sanssemibold';
    line-height: 1.2;
    display: inline-block; }
    .front-sections-wrapper a:hover {
      color: #E20714; }
  .front-sections-wrapper ul {
    -webkit-columns: 2;
            columns: 2; }
    @media screen and (max-width: 39.99875em) {
      .front-sections-wrapper ul {
        display: none !important; } }
    @media screen and (min-width: 64em) {
      .front-sections-wrapper ul {
        -webkit-columns: 3;
                columns: 3; } }
  .front-sections-wrapper .select-wrapper {
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .front-sections-wrapper .select-wrapper {
        display: none !important; } }
    .front-sections-wrapper .select-wrapper:after {
      content: "";
      background: center center no-repeat;
      background-image: url("data:image/svg+xml,%3Csvg width='13' height='7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.355 1.997c-.42.43-4.856 4.657-4.856 4.657a1.136 1.136 0 0 1-1.63 0S1.432 2.427 1.01 1.997c-.424-.433-.452-1.21 0-1.67.45-.461 1.078-.501 1.63 0L6.684 4.2 10.728.327c.55-.501 1.179-.461 1.627 0 .45.46.423 1.237 0 1.67z' fill='%23E20714' fill-rule='evenodd'/%3E%3C/svg%3E");
      height: 100%;
      width: 2.5rem;
      position: absolute;
      right: 0;
      top: 0;
      z-index: 2; }
  .front-sections-wrapper select {
    border: 1px solid rgba(71, 82, 103, 0.25);
    border-radius: 0.3125rem;
    padding: 0.625rem 1.25rem;
    width: 100%;
    color: rgba(71, 82, 103, 0.7);
    font-family: 'open_sansbold';
    font-size: 0.8125rem;
    text-transform: uppercase;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    position: relative;
    z-index: 0; }
    .front-sections-wrapper select:hover {
      cursor: pointer; }

.front-news-wrapper {
  padding-bottom: 5rem;
  background: #F6F9FC; }
  .front-news-wrapper header {
    text-align: center; }
  .front-news-wrapper .readmore-wrapper {
    margin-top: 0;
    text-align: center; }

.front-references {
  display: none; }

.home .footer {
  margin-top: 0; }

/*[data-animate] {
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.47, 0, 0.745, 0.715), opacity 0.8s ease;
    &[data-from-bottom] { transform: translateY(30px); }
    &[data-from-top] { transform: translateY(-30px); }
    &[data-from-right] { transform: translateX(30px); }
    &[data-from-left] { transform: translateX(-30px); }
    &.shown {
        transform: translateX(0) translateY(0) translateZ(0);
        opacity: 1;
    }
}*/
[data-animate] {
  opacity: 0;
  transition: opacity 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1); }

[data-speed="fast"] {
  transition-duration: 0.75s, 0.75s; }

[data-speed="normal"] {
  transition-duration: 1.5s, 1.5s; }

[data-speed="slow"] {
  transition-duration: 3s, 3s; }

[data-animate][data-from-top] {
  -webkit-transform: translateY(-50px);
      -ms-transform: translateY(-50px);
          transform: translateY(-50px); }

[data-animate][data-from-bottom] {
  -webkit-transform: translateY(50px);
      -ms-transform: translateY(50px);
          transform: translateY(50px); }

[data-animate][data-from-right] {
  -webkit-transform: translateX(50px);
      -ms-transform: translateX(50px);
          transform: translateX(50px); }

[data-animate][data-from-left] {
  -webkit-transform: translateX(-50px);
      -ms-transform: translateX(-50px);
          transform: translateX(-50px); }

[data-animate][data-fade-in] {
  -webkit-transform: translateX(0px);
      -ms-transform: translateX(0px);
          transform: translateX(0px); }

[data-animate].shown {
  -webkit-transform: translateX(0) translateY(0) translateZ(0);
          transform: translateX(0) translateY(0) translateZ(0);
  opacity: 1; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJnbG9iYWwvX2ZvbnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsImFwcC5zY3NzIiwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJnbG9iYWwvX3dwLWFkbWluLnNjc3MiLCJnbG9iYWwvX3dwLW92ZXJyaWRlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCJtb2R1bGVzL19uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL19lZGl0b3Itc3R5bGUuc2NzcyIsIl9nbG9iYWwuc2NzcyIsImdsb2JhbC9fZnJvbnRwYWdlLnNjc3MiLCJnbG9iYWwvX2FuaW1hdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBYjtFQUNJLHdDQUFzQztFQUN0QyxxRUFBbUU7RUFDbkUsc1RBQWlULEVBQUE7O0FBRXJUO0VBQ0kscUNBQW1DO0VBQ25DLHFFQUFtRTtFQUNuRSxzVEFBaVQsRUFBQTs7QUFFclQ7RUFDSSwwQ0FBd0M7RUFDeEMscUVBQW1FO0VBQ25FLHNUQUFpVCxFQUFBOztBQUVyVDtFQUNJLHNDQUFvQztFQUNwQyxxRUFBbUU7RUFDbkUsc1RBQWlULEVBQUE7O0FBRXJUO0VBQ0ksNkJBQTRCO0VBQzVCLDRIQUM4RDtFQUM5RCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBR3RCO0VBQ0ksZ0NBQStCO0VBQy9CLGtJQUNpRTtFQUNqRSxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBR3RCO0VBQ0ksaUNBQWdDO0VBQ2hDLG9JQUNrRTtFQUNsRSxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FDekMxQjs7Ozs7R0FLRztBQ0pELDRFQUE0RTtBQVE1RTtFQUNFLGtCQUFpQjtFQUNqQiwrQkFBOEIsRUFDL0I7O0FBT0Q7RUFDRSxVQUFTLEVBQ1Y7O0FBS0Q7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2pCOztBQVFEO0VBQ0Usd0JBQXVCO0VBQ3ZCLFVBQVM7RUFDVCxrQkFBaUIsRUFDbEI7O0FBS0Q7RUFDRSxrQ0FBaUM7RUFDakMsZUFBYyxFQUNmOztBQU9EO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUtEO0VBQ0Usb0JBQW1CO0VBQ25CLDJCQUEwQjtFQUMxQixrQ0FBaUMsRUFDbEM7O0FBSUQ7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUtEOzs7RUFHRSxrQ0FBaUM7RUFDakMsZUFBYyxFQUNmOztBQUlEO0VBQ0UsZUFBYyxFQUNmOztBQUtEOztFQUVFLGVBQWM7RUFDZCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLHlCQUF3QixFQUN6Qjs7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O0VHb01aLGNBQWE7RUFPYixpQkY3UUMsRUUrUUo7O0FBakNEO0VBSUkscUJGdlA2QztFRW1RN0Msa0JINUxZO0VHb01aLGNBQWE7RUFPYixpQkY3UUMsRUUrUUo7O0FBakNEO0VBSUksb0JGdlA2QztFRW1RN0Msa0JINUxZO0VHb01aLGNBQWE7RUFPYixpQkY3UUMsRUUrUUo7O0FBakNEO0VBSUkscUJGdlA2QztFRW1RN0Msa0JINUxZO0VHb01aLGNBQWE7RUFPYixpQkY3UUMsRUUrUUo7O0FBakNEO0VBSUksZ0JGdlA2QztFRW1RN0Msa0JINUxZO0VHb01aLGNBQWE7RUFPYixpQkY3UUMsRUUrUUo7O0FDdE1IO0VONUlKO0lLcVRVLHFCRnZQNkMsRUVvUmhEO0VBakNEO0lBSUksb0JGdlA2QyxFRW9SaEQ7RUFqQ0Q7SUFJSSxrQkZ2UDZDLEVFb1JoRDtFQWpDRDtJQUlJLG9CRnZQNkMsRUVvUmhEO0VBakNEO0lBSUksbUJGdlA2QyxFRW9SaEQ7RUFqQ0Q7SUFJSSxxQkZ2UDZDLEVFb1JoRCxFQUFBOztBTHBUUDtFSzJURSxxQkFBb0I7RUFDcEIsZUgxU2M7RUcyU2Qsc0JIcEx5QjtFR3NMekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlSGhUYyxFR29UZjtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QUw5Vkg7RUttV0UsWUFBVztFQUVYLG9CRmxUcUQ7RUVtVHJELFVBQVM7RUFDVCxxQkh2TXlCO0VHeU16QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ0hoVGlCO0VHaVRqQixlQUFjLEVBQ2Y7O0FBR0Q7OztFQUdFLG9CSGpPMEI7RUdrTzFCLDZCSGhOeUI7RUdpTnpCLGlCSHBPc0IsRUdxT3ZCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UscUJIMU5zQjtFRzJOdEIsc0JIN05rQixFRzhObkI7O0FBR0Q7RUFDRSxxQkhoT3NCLEVHaU92Qjs7QUFHRDtFQUVJLHFCSHJPMkI7RUdzTzNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CSDNPeUIsRUdpUDFCO0VBUEQ7SUFJSSxzQkg1TzhC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Z0NBQTJCO1VBQTNCLDRCQUEyQixFQUFLOztBbEMwZ0hyRTtFa0N6Z0hxQyxxQ0FBNEI7TUFBNUIsaUNBQTRCO1VBQTVCLDZCQUE0QixFQUFLOztBbEM0Z0h0RTtFa0MzZ0htQyxtQ0FBMEI7TUFBMUIsK0JBQTBCO1VBQTFCLDJCQUEwQixFQUFLOztBbEM4Z0hsRTtFa0MzZ0hJLDZEQUFvRDtVQUFwRCxxREFBb0Q7RUFDcEQsV0FBVSxFQUNYIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJveGltYSBOb3ZhIFcwNSBSZWd1bGFyXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvM2JjNDU3MDgtYjE0OC00MTYxLTlkMzgtZmExMGU4Y2Q4ZWQ3LmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvM2JjNDU3MDgtYjE0OC00MTYxLTlkMzgtZmExMGU4Y2Q4ZWQ3LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy8zM2NhMjAwMC1hZjdiLTQ0NDQtOTdjZC02MzkyYWIyZTI0YjIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzFjMDAzY2M2LTBmOGYtNGM4Mi1hZGRlLWE1YTAyNmI1NmI1MC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzk2ZGM2ZDk4LTAxM2QtNGE5NC05YzA5LTg0NzZhYmMwYWJjNi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlByb3hpbWEgTm92YSBXMDUgQm9sZFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzlhNDhhZWE2LTExNzUtNDc1Yy05Y2EwLWU4ODQwMmU4YzNlMy5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzlhNDhhZWE2LTExNzUtNDc1Yy05Y2EwLWU4ODQwMmU4YzNlMy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvM2MzNWRjNjAtOWZlMy00ODBmLTkwYWMtZTQ1M2RiMDI3MWUyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8yYjJiNzkzOS02OTNiLTQ0Y2QtODczYS0xYWEwNjVhOTA2Yjgud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9iMzI2ODYzNy03YjkyLTRmODEtOWQ3Zi0xZWU4ZThhNWQ1MTcudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJQcm94aW1hIE5vdmEgVzA1IEV4dHJhYm9sZFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2Y0Nzg0ZjQxLTc1ZDEtNGUwYS1hMmU5LWI0NDQ2YWM0NGI2Zi5lb3Q/I2llZml4XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2Y0Nzg0ZjQxLTc1ZDEtNGUwYS1hMmU5LWI0NDQ2YWM0NGI2Zi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiLi4vZm9udHMvMTE1NzQ5ZWYtMTEwNC00YzA5LWI2OTctOGE3ZDQyMGExMzNhLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9iMjhjNmY1Ni00NTQzLTQ5ZDEtYjI2NS01NzE1NjE1MTk5ZTEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy83MGI0Nzc4Yi1lZWIwLTRiZDQtYTE5OC00ODEyZmM3NjhlZDEudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJQcm94aW1hIE5vdmEgVzA1IEJsYWNrXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYmFmNzdhYWUtNjkwNC00NGIyLWE0YmMtMDFiYTk5OThjZDQxLmVvdD8jaWVmaXhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYmFmNzdhYWUtNjkwNC00NGIyLWE0YmMtMDFiYTk5OThjZDQxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy9mZTdhMWI1MC1hODBmLTRjNzQtOWFhMS1kZDc1ODI3NzAzNmMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzIzMjJhMTJmLWJlMDgtNGU3My1iNDRmLTBmNDJlYjU1MTIxMy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2YzZTE3N2IyLWZlNmEtNDQwNS1iZjBiLWIwNWU0ZmFkZGM0YS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zc2VtaWJvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLXNlbWlib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLXNlbWlib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSwgLnNlY3Rpb250aXRsZSwgLmZyb250LWJ1dHRvbnMgaDUge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT01MGVtJnhsYXJnZT02NGVtJnh4bGFyZ2U9NzcuNWVtJnh4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwib3Blbl9zYW5zcmVndWxhclwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICM3NTdFOEQ7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksIGgxLCAuc2VjdGlvbnRpdGxlLCAuZnJvbnQtYnV0dG9ucyBoNSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5zZWN0aW9udGl0bGUsIC5mcm9udC1idXR0b25zIGg1LCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW5fc2Fuc2JvbGRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzNBNDA0NztcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLnNlY3Rpb250aXRsZSBzbWFsbCwgLmZyb250LWJ1dHRvbnMgaDUgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICMyRjM2M0Q7IH1cblxuaDEsIC5zZWN0aW9udGl0bGUsIC5mcm9udC1idXR0b25zIGg1LCAuaDEge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5zZWN0aW9udGl0bGUsIC5mcm9udC1idXR0b25zIGg1LCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjRTIwNzE0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzQ3NTI2NzsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNjcuMjVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyRjM2M0Q7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMkYzNjNEOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogI0UyMDcxNDsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogI0UyMDcxNDsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJGMzYzRDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NTI2NztcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc1MjY3O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjRTIwNzE0OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTIwNzE0O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBwYWRkaW5nOiAxLjRlbSAyLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG4gIGZvbnQtZmFtaWx5OiBcInJpZnRcIjtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjRTIwNzE0OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbjpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dDpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTIwNzE0O1xuICAgIGNvbG9yOiAjRTIwNzE0OyB9XG4gIC5idXR0b24udGlueSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC50aW55W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuc21hbGxbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5sYXJnZVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5leHBhbmRlZFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UyMDcxNDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5wcmltYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5wcmltYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I1MDYxMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc1MjY3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTQyNTI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnN1Y2Nlc3M6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LnN1Y2Nlc3M6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5MTI5O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0Lndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RDMwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24ud2FybmluZzpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC53YXJuaW5nOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2YTkwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uYWxlcnQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VDMUQyNDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuYWxlcnQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5hbGVydDpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNDEwMTY7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQ6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZDpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNFMjA3MTQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0ucHJpbWFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTIwNzE0O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NTI2NztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmdbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmc6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0ud2FybmluZ1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEQzMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kaXNhYmxlZC5hbGVydFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZGlzYWJsZWQuYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXRbZGlzYWJsZWRdLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W2Rpc2FibGVkXS5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dFtkaXNhYmxlZF0uYWxlcnQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQzFEMjQ7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uaG9sbG93LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvd1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3dbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdzpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5kaXNhYmxlZDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvd1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvd1tkaXNhYmxlZF06aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvd1tkaXNhYmxlZF06Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdzpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3c6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTIwNzE0O1xuICAgICAgY29sb3I6ICNFMjA3MTQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnByaW1hcnk6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cucHJpbWFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzEwNDBhO1xuICAgICAgICBjb2xvcjogIzcxMDQwYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTIwNzE0O1xuICAgICAgICAgIGNvbG9yOiAjRTIwNzE0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDc1MjY3O1xuICAgICAgY29sb3I6ICM0NzUyNjc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyNDI5MzQ7XG4gICAgICAgIGNvbG9yOiAjMjQyOTM0OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDc1MjY3O1xuICAgICAgICAgIGNvbG9yOiAjNDc1MjY3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzNzViMWE7XG4gICAgICAgIGNvbG9yOiAjMzc1YjFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Y4RDMwMDtcbiAgICAgIGNvbG9yOiAjRjhEMzAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy53YXJuaW5nOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93Lndhcm5pbmc6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdjNmEwMDtcbiAgICAgICAgY29sb3I6ICM3YzZhMDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Y4RDMwMDtcbiAgICAgICAgICBjb2xvcjogI0Y4RDMwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFQzFEMjQ7XG4gICAgICBjb2xvcjogI0VDMUQyNDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydDpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjN2EwYTBlO1xuICAgICAgICBjb2xvcjogIzdhMGEwZTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFQzFEMjQ7XG4gICAgICAgICAgY29sb3I6ICNFQzFEMjQ7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhclt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcjpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmRpc2FibGVkOmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWQ6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyW2Rpc2FibGVkXTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcltkaXNhYmxlZF06Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcjpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhcjpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXI6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0UyMDcxNDtcbiAgICAgIGNvbG9yOiAjRTIwNzE0OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzEwNDBhO1xuICAgICAgICBjb2xvcjogIzcxMDQwYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0UyMDcxNDtcbiAgICAgICAgICBjb2xvcjogI0UyMDcxNDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnkuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDc1MjY3O1xuICAgICAgY29sb3I6ICM0NzUyNjc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzI0MjkzNDtcbiAgICAgICAgY29sb3I6ICMyNDI5MzQ7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDc1MjY3O1xuICAgICAgICAgIGNvbG9yOiAjNDc1MjY3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFQjUzMztcbiAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpmb2N1c1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzc1YjFhO1xuICAgICAgICBjb2xvcjogIzM3NWIxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFQjUzMztcbiAgICAgICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzOmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1t0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGOEQzMDA7XG4gICAgICBjb2xvcjogI0Y4RDMwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmc6Zm9jdXNbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdjNmEwMDtcbiAgICAgICAgY29sb3I6ICM3YzZhMDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGOEQzMDA7XG4gICAgICAgICAgY29sb3I6ICNGOEQzMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZ1tkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmc6aG92ZXJbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1c1t0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFQzFEMjQ7XG4gICAgICBjb2xvcjogI0VDMUQyNDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3YTBhMGU7XG4gICAgICAgIGNvbG9yOiAjN2EwYTBlOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFQzFEMjQ7XG4gICAgICAgICAgY29sb3I6ICNFQzFEMjQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydC5kaXNhYmxlZFt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydFtkaXNhYmxlZF1bdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5jbGVhci5hbGVydDpob3Zlclt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmNsZWFyLmFsZXJ0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWRbdHlwZT1cInN1Ym1pdFwiXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRyb3Bkb3duW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAyLjVlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kcm9wZG93bi5jbGVhclt0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LnByaW1hcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIucHJpbWFyeTo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uY2xlYXIucHJpbWFyeVt0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0UyMDcxNDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnlbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0NzUyNjc7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3NbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuZHJvcGRvd24uY2xlYXIuc3VjY2Vzc1t0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzZFQjUzMzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kcm9wZG93bi5ob2xsb3cud2FybmluZ1t0eXBlPVwic3VibWl0XCJdOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kcm9wZG93bi5jbGVhci53YXJuaW5nW3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRjhEMzAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciBpbnB1dC5kcm9wZG93bi5ob2xsb3cuYWxlcnRbdHlwZT1cInN1Ym1pdFwiXTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0LmRyb3Bkb3duLmNsZWFyLmFsZXJ0W3R5cGU9XCJzdWJtaXRcIl06OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRUMxRDI0OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQuYXJyb3ctb25seVt0eXBlPVwic3VibWl0XCJdOjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogI0UyMDcxNDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICNFMjA3MTQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzQ3NTI2NztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzZFQjUzMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI0Y4RDMwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNFQzFEMjQ7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNjA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDE3MDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDE3MDsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDE4MDsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE3MDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDE3MDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDE4MDsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDIwcmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcmVtKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjByZW0pOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHJlbSk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDIwcmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjByZW0pOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHJlbSk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcmVtKTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjgwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjgwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI4MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyODBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI4MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI4MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yODBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjByZW07IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjByZW07IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE2MTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTYxO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjByZW07IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjByZW07IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHJlbTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxNjE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcmVtOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMHJlbTtcbiAgYmFja2dyb3VuZDogI0UyMDcxNDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3Ny40OTg3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40OTg3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQ5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14eHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMS4xMTExMSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogc29saWQgNHB4ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBhOmhvdmVyLCAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIyNiwgNywgMjAsIDAuNSk7IH1cbiAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSBpbWFnZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXI6IHNvbGlkIDRweCAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAudGl0bGUtYmFyLFxuICAubW9iaWxlLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQ5ODc1ZW0pIHtcbiAgLmRlc2t0b3AtbWVudSxcbiAgLnNpdGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4udGl0bGUtYmFyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA1cmVtO1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtOyB9XG4gIC50aXRsZS1iYXIgLmxvZ28ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTByZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAudGl0bGUtYmFyIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDguNzVyZW07IH0gfVxuICAudGl0bGUtYmFyIC50aXRsZS1iYXItYnV0dG9uIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTIwNzE0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogOC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCAzLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZykgdHJhbnNsYXRlWCg0MHB4KTsgfVxuICAgIC50aXRsZS1iYXIgLnRpdGxlLWJhci1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwOyB9XG4gICAgLnRpdGxlLWJhciAudGl0bGUtYmFyLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDAuOTM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDODBEMEY7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLnRpdGxlLWJhciAudGl0bGUtYmFyLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudGl0bGUtYmFyIC50aXRsZS1iYXItYnV0dG9uIC5tZW51LWljb24tYnV0dG9uIHtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBmb250LWZhbWlseTogJ3JpZnQnO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgICAgIC50aXRsZS1iYXIgLnRpdGxlLWJhci1idXR0b24gLm1lbnUtaWNvbi1idXR0b24gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5Ljk5ODc1ZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAudG9wLWJhciBuYXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHggMCAwIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtOyB9XG4gICAgLnRvcC1iYXIgbmF2OmJlZm9yZSwgLnRvcC1iYXIgbmF2OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7IH1cbiAgICAudG9wLWJhciBuYXY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzgwRDBGO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC50b3AtYmFyIG5hdjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRTIwNzE0O1xuICAgICAgd2lkdGg6IDEyNTByZW07IH1cbiAgLnRvcC1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGhlaWdodDogNS42MjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudG9wLWJhciB1bCAqIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnRvcC1iYXIgdWwgbGkge1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLnRvcC1iYXIgdWwgbGkgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNib2xkXCI7XG4gICAgICAgIG1hcmdpbjogMCAwLjY4NzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgLnRvcC1iYXIgdWwgbGkgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTsgfVxuICAgICAgLnRvcC1iYXIgdWwgbGlbY2xhc3MqPVwiY3VycmVudFwiXSBhOmFmdGVyLFxuICAgICAgLnRvcC1iYXIgdWwgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9mZi1jYW52YXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm9mZi1jYW52YXMgLnJlZC1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAub2ZmLWNhbnZhcyAucmVkLWhvbGRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAjNDc1MjY3O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgICAub2ZmLWNhbnZhcyAucmVkLWhvbGRlciAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogI0UyMDcxNDsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLm9mZi1jYW52YXMgLnNpZGViYXItY2FudmFzLW5hdiB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm9mZi1jYW52YXMgLmxhbmdzd2l0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA2MHB4OyB9XG4gICAgLm9mZi1jYW52YXMgLmxhbmdzd2l0Y2ggYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIHdpZHRoOiAyLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgbWFyZ2luOiAwIDAuMTg3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzEsIDgyLCAxMDMsIDAuNzUpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5sYW5nc3dpdGNoIGE6aG92ZXIsIC5vZmYtY2FudmFzIC5sYW5nc3dpdGNoIGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UyMDcxNDsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogLTVweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAub2ZmLWNhbnZhcyB1bC5tZW51IHtcbiAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMgdWwubWVudSBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNzZW1pYm9sZFwiO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAycmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogcmdiYSg3MSwgODIsIDEwMywgMC43NSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjRkZGRkZGOyB9XG4gICAgLm9mZi1jYW52YXMgdWwubWVudSBsaVtjbGFzcyo9XCJjdXJyZW50XCJdIGEsXG4gICAgLm9mZi1jYW52YXMgdWwubWVudSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMkEzMDNEO1xuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjRTIwNzE0OyB9XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA2Ny4yNXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuLm1haW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5tYWluLWdyaWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5tYWluLWdyaWQgPiAqIHtcbiAgICBmbGV4OiAxIDEgMCU7IH1cblxuLmlubmVyLXdyYXBwZXIsIC5zaXRlLWhlYWRlciwgLmZsZXhpYmxlLWNvbnRlbnQsIC5uZXdzLW91dGVyLXdyYXBwZXIsIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogNjcuMjVyZW07IH1cblxuc2VjdGlvbiBoZWFkZXIsIGJvZHk6bm90KC5ob21lKSAuZW50cnktY29udGVudCBmb290ZXIsXG5ib2R5Om5vdCguaG9tZSkgLmVudHJ5LWNvbnRlbnQgaGVhZGVyLCAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIsIC5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlciwgLmZsZXhpYmxlLXRhYmxlLXdyYXBwZXIsIC5mbGV4aWJsZS1zZWN0aW9ucy13cmFwcGVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyLCAuZmxleGlibGUtY29udGFjdC13cmFwcGVyLCAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIsIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIsIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNDQuNTYyNXJlbTsgfVxuXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgdWwsIC5mbGV4aWJsZS1zZWN0aW9ucy13cmFwcGVyIHVsLCAuZnJvbnQtc2VjdGlvbnMtd3JhcHBlciB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHVsIGxpLCAuZmxleGlibGUtc2VjdGlvbnMtd3JhcHBlciB1bCBsaSwgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSwgLmZsZXhpYmxlLXNlY3Rpb25zLXdyYXBwZXIgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSwgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3cmVtOyB9XG4gICAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHVsIGxpOmJlZm9yZSwgLmZsZXhpYmxlLXNlY3Rpb25zLXdyYXBwZXIgdWwgbGk6YmVmb3JlLCAuZnJvbnQtc2VjdGlvbnMtd3JhcHBlciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC41cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOC42MTQgNkgxLjAyN0ExLjAxMSAxLjAxMSAwIDAgMSAwIDVjMC0uNTUyLjQ2LTEgMS4wMjctMWg3LjU4OEw2LjI4IDEuNjI5Yy0uNDMtLjQ1OS0uMzk1LS45ODIgMC0xLjM1Ni4zOTQtLjM3NSAxLjA2LS4zNTMgMS40MzIgMCAuMzY5LjM1IDMuOTkyIDQuMDQ3IDMuOTkyIDQuMDQ3QS45MzQuOTM0IDAgMCAxIDEyIDVjMCAuMjQ1LS4xLjQ5LS4yOTYuNjc5IDAgMC0zLjYyMyAzLjY5Ni0zLjk5MiA0LjA0Ny0uMzcxLjM1My0xLjAzOC4zNzctMS40MzIgMC0uMzk1LS4zNzQtLjQzLS44OTggMC0xLjM1OEw4LjYxNCA2eicgZmlsbD0nJTIzRTIwNzE0JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKltzdHlsZSo9XCJ0ZXh0LWRlY29yYXRpb25cIl0sXG51IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IFwib3Blbl9zYW5zYm9sZFwiOyB9XG5cbnAge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc2OyB9XG4gIHA6bGFzdC1vZi10eXBlOm5vdCguaW50cm8pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfSB9XG5cbmgxLCAuc2VjdGlvbnRpdGxlLCAuZnJvbnQtYnV0dG9ucyBoNSB7XG4gIGZvbnQtZmFtaWx5OiBcIlByb3hpbWEgTm92YSBXMDUgRXh0cmFib2xkXCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjRTIwNzE0O1xuICBwYWRkaW5nOiAwIDAgMS4xMjVyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgaDE6YWZ0ZXIsIC5zZWN0aW9udGl0bGU6YWZ0ZXIsIC5mcm9udC1idXR0b25zIGg1OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNFMjA3MTQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBoMTphZnRlciwgLnNlY3Rpb250aXRsZTphZnRlciwgLmZyb250LWJ1dHRvbnMgaDU6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIGgxLCAuc2VjdGlvbnRpdGxlLCAuZnJvbnQtYnV0dG9ucyBoNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgcGFkZGluZzogNS42MjVyZW0gMCAyLjVyZW0gMDsgfSB9XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbl9zYW5zc2VtaWJvbGRcIjsgfVxuXG5zZWN0aW9uIGhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24gaGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucmVhZG1vcmUtd3JhcHBlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDcxLCA4MiwgMTAzLCAwLjEpO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNib2xkXCI7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmVhZG1vcmUtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnJlYWRtb3JlLXdyYXBwZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5hLnJlYWRtb3JlIHtcbiAgY29sb3I6ICM0NzUyNjc7IH1cbiAgYS5yZWFkbW9yZSBzdmcge1xuICAgIGNvbG9yOiAjRTIwNzE0O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOyB9XG4gIGEucmVhZG1vcmU6aG92ZXIge1xuICAgIGNvbG9yOiAjRTIwNzE0OyB9XG4gICAgYS5yZWFkbW9yZTpob3ZlciBzdmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cblxuLmludHJvIHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbl9zYW5zc2VtaWJvbGRcIjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzQ3NTI2NztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW50cm8ge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjgzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5zdXB0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gIGNvbG9yOiAjRTIwNzE0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3VwdGl0bGUge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTBlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH0gfVxuXG4uc2VjdGlvbnRpdGxlIHtcbiAgY29sb3I6ICMyQTMwM0Q7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuNjY2NjdyZW0gMCAxLjVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9udGl0bGUge1xuICAgICAgcGFkZGluZzogMC41cmVtIDAgMS41cmVtIDA7IH0gfVxuICAuc2VjdGlvbnRpdGxlOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYnV0dG9uLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBiYWNrZ3JvdW5kOiAjRTIwNzE0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNib2xkXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gNXJlbTsgfVxuICAuYnV0dG9uOmZvY3VzLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0OmZvY3VzW3R5cGU9XCJzdWJtaXRcIl0sIC5idXR0b246YWN0aXZlLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0OmFjdGl2ZVt0eXBlPVwic3VibWl0XCJdLCAuYnV0dG9uOmhvdmVyLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0OmhvdmVyW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzUyNjc7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmJhY2tsaW5rLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogNjcuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjAwO1xuICB0b3A6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmFja2xpbmstd3JhcHBlciB7XG4gICAgICB0b3A6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmJhY2tsaW5rLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAtMS44NzVyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iYWNrbGluay13cmFwcGVyIHtcbiAgICAgIHRvcDogLTMuNzVyZW07IH0gfVxuXG4uYmFja2xpbmsge1xuICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgLmJhY2tsaW5rIGEge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGNvbG9yOiAjNDc1MjY3O1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zc2VtaWJvbGQnO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg3MSwgODIsIDEwMywgMC4xKTtcbiAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMjAwMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJhY2tsaW5rIGEge1xuICAgICAgICBtaW4taGVpZ2h0OiA0LjA2MjVyZW07IH0gfVxuICAgIC5iYWNrbGluayBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgY29sb3I6ICNFMjA3MTQ7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOyB9XG4gICAgLmJhY2tsaW5rIGE6aG92ZXIge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0UyMDcxNDtcbiAgICAgIGNvbG9yOiAjRTIwNzE0OyB9XG4gICAgICAuYmFja2xpbmsgYTpob3ZlciBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG5cbi5rb3BmYmlsZC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5rb3BmYmlsZC13cmFwcGVyIGltZyB7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY3VydmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jdXJ2ZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDIwMDAwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IC0xMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTZkZWcpIHRyYW5zbGF0ZVkoNDAwcHgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyB9XG5cbi8qKioqKioqKioqKiBIRUFERVIgKioqKioqKioqKioqKiovXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDE1MDsgfVxuICAuc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICAuc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi5zaXRlLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA3LjY4NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubG9nbyB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAxIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAubG9nbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAyMDAwMHB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAubG9nbyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjAuMjVyZW07IH1cbiAgLmxvZ28ubW9iaWxlIHtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgICAubG9nby5tb2JpbGUgaW1nIHtcbiAgICAgIG1heC13aWR0aDogNy40Mzc1cmVtOyB9XG5cbi5sYW5nc3dpdGNoIHtcbiAgcGFkZGluZzogMCAxLjU2MjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLmxhbmdzd2l0Y2gge1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHotaW5kZXg6IDE0MDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgLmxhbmdzd2l0Y2ggYSB7XG4gICAgZm9udC1mYW1pbHk6IFwib3Blbl9zYW5zYm9sZFwiO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgIC5sYW5nc3dpdGNoIGEge1xuICAgICAgICBjb2xvcjogIzQ3NTI2NztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgICAgICAubGFuZ3N3aXRjaCBhLmFjdGl2ZSwgLmxhbmdzd2l0Y2ggYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNFMjA3MTQ7IH0gfVxuXG4uY3ljbGUtc2xpZGUge1xuICBoZWlnaHQ6IDMyLjEyNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSA4cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmN5Y2xlLXNsaWRlIHtcbiAgICAgIGhlaWdodDogNDguNzVyZW07IH0gfVxuICAuY3ljbGUtc2xpZGU6aG92ZXIgLnN1cHRpdGxlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuY3ljbGUtc2xpZGUgLnNsb2dhbiB7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiUHJveGltYSBOb3ZhIFcwNSBCbGFja1wiO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGxldHRlci1zcGFjaW5nOiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDk7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoNzEsIDgyLCAxMDMsIDAuMyk7XG4gICAgbWFyZ2luLXRvcDogMS40NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5jeWNsZS1zbGlkZSAuc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA5OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuY3ljbGUtc2xpZGUgLnNsb2dhbiB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA3LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjY1cmVtOyB9IH1cbiAgLmN5Y2xlLXNsaWRlIC5jeWNsZS1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgei1pbmRleDogMzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuY3ljbGUtc2xpZGUgLmN5Y2xlLWNhcHRpb24ge1xuICAgICAgICBoZWlnaHQ6IDgwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jeWNsZS1zbGlkZSAuY3ljbGUtY2FwdGlvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNzBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmN5Y2xlLXNsaWRlIC5jeWNsZS1jYXB0aW9uLWlubmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yMDBweDsgfSB9XG4gIC5jeWNsZS1zbGlkZSAuc3VwdGl0bGUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcbiAgICBsaW5lLWhlaWdodDogMS40MTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuY3ljbGUtc2xpZGUgLnN1cHRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLmN5Y2xlLXNsaWRlIC5zdXB0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDE4cmVtO1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuY3ljbGUtc2xpZGUgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDMuMzc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlByb3hpbWEgTm92YSBXMDUgQmxhY2tcIjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBsZXR0ZXItc3BhY2luZzogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1Mi45cHg7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoNzEsIDgyLCAxMDMsIDAuMyk7XG4gICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmN5Y2xlLXNsaWRlIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmN5Y2xlLXNsaWRlIC50aXRsZSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA3LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogNC42ODc1cmVtO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9IH1cbiAgLmN5Y2xlLXNsaWRlIC5idXR0b24td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLmN5Y2xlLXNsaWRlIGEge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDMuNzVyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyMDAwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgIC5jeWNsZS1zbGlkZSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGRkZGRjtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDQuNjg3NXJlbTsgfVxuXG4ucHJldm5leHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDIuNjI1cmVtO1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTk4NzVlbSkge1xuICAgIC5wcmV2bmV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmV2bmV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzIwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC5wcmV2bmV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMjQ3cHg7IH0gfVxuICAucHJldm5leHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkZGRkY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5wcmV2bmV4dC5wcmV2IHtcbiAgICBsZWZ0OiA0MHB4OyB9XG4gIC5wcmV2bmV4dC5uZXh0IHtcbiAgICByaWdodDogNDBweDsgfVxuXG4vKioqKioqKioqKioqKioqKiBDT05URU5UICoqKioqKioqKioqKioqKioqL1xuYm9keTpub3QoLmhvbWUpIC5lbnRyeS1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBib2R5Om5vdCguaG9tZSkgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIGJvZHk6bm90KC5ob21lKSAuZW50cnktY29udGVudCBmb290ZXIsXG4gIGJvZHk6bm90KC5ob21lKSAuZW50cnktY29udGVudCBoZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIGJvZHk6bm90KC5ob21lKSAuZW50cnktY29udGVudCBmb290ZXIsXG4gICAgICBib2R5Om5vdCguaG9tZSkgLmVudHJ5LWNvbnRlbnQgaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4vKioqKioqKioqKioqKioqKiBGTEVYSUJMRSBDT05URU5UICoqKioqKioqKioqKioqKioqL1xuLmZsZXhpYmxlLWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZsZXhpYmxlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZsZXhpYmxlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuZmxleGlibGUtY29udGVudC5oYWxmIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1jb250ZW50LmhhbGYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTsgfSB9XG4gIC5mbGV4aWJsZS1jb250ZW50LnRoaXJkIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZsZXhpYmxlLWNvbnRlbnQudGhpcmQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9IH1cblxuLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciArIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDIsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgyLFxuLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDIge1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZsZXhpYmxlLW9lbWJlZC13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMixcbiAgICAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgyLFxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0cmVtOyB9IH1cblxuLmZsZXhpYmxlLW9lbWJlZC13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMyxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDMsXG4uZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMyB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHA6bGFzdC1vZi10eXBlICsgdWwge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5mbGV4aWJsZS1jb250YWluZXItd3JhcHBlciBkaXYuZmxleGlibGUtY29udGVudDpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuXG4uZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyICsgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtOyB9IH1cblxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciArIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgKyAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH0gfVxuXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW5fc2Fuc3NlbWlib2xkXCI7IH1cbiAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNDc1MjY3OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGxpLFxuICAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTsgfSB9XG5cbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGgyIHtcbiAgbWFyZ2luOiAyLjVyZW0gMCAwLjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGgyIHtcbiAgICAgIG1hcmdpbjogNHJlbSAwIDAuNXJlbSAwOyB9IH1cblxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg0IHtcbiAgbWFyZ2luOiAxLjVyZW0gMCAwLjVyZW0gMDsgfVxuXG4uZmxleGlibGUtYnV0dG9uLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsZXhpYmxlLXRhYmxlIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmZsZXhpYmxlLXRhYmxlIGxpIHtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbG9yOiAjNDc1MjY3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAuZmxleGlibGUtdGFibGUgbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxMTcsIDEyNiwgMTQxLCAwLjEpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTk4NzVlbSkge1xuICAgICAgLmZsZXhpYmxlLXRhYmxlIGxpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmZsZXhpYmxlLXRhYmxlIGxpIHN0cm9uZyB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mbGV4aWJsZS10YWJsZSBsaSBzdHJvbmcge1xuICAgICAgICAgIG1heC13aWR0aDogMTUuNjI1cmVtOyB9IH1cbiAgICAuZmxleGlibGUtdGFibGUgbGk6YmVmb3JlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5mbGV4aWJsZS1zZWN0aW9ucy13cmFwcGVyIHVsIHtcbiAgZm9udC1mYW1pbHk6IFwib3Blbl9zYW5zc2VtaWJvbGRcIjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZsZXhpYmxlLXNlY3Rpb25zLXdyYXBwZXIgdWwge1xuICAgICAgY29sdW1uczogMjsgfSB9XG5cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgbGFiZWwge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMCAwLjQzNzVyZW0gMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzQ3NTI2NzsgfVxuXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSksIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTcsIDEyNiwgMTQxLCAwLjEpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjNDc1MjY3O1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpmb2N1cywgLmZsZXhpYmxlLWZvcm0td3JhcHBlciB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTcsIDEyNiwgMTQxLCAwLjE1KTsgfVxuXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgY29sb3I6ICNFMjA3MTQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cblxuLmZsZXhpYmxlLWNvbnRhY3Qtd3JhcHBlciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfVxuXG4uZmxleGlibGUtY29udGFjdC13cmFwcGVyIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1jb250YWN0LXdyYXBwZXIgbGkge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5mbGV4aWJsZS1jb250YWN0LXdyYXBwZXIgLmlubmVyd3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzEsIDgyLCAxMDMsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbGV4aWJsZS1jb250YWN0LXdyYXBwZXIgLmlubmVyd3JhcHBlcjpob3ZlciB7XG4gICAgY29sb3I6ICNFMjA3MTQ7IH1cbiAgICAuZmxleGlibGUtY29udGFjdC13cmFwcGVyIC5pbm5lcndyYXBwZXI6aG92ZXIgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG5cbi5mbGV4aWJsZS1jb250YWN0LXdyYXBwZXIgLmZ1bmN0aW9uIHtcbiAgY29sb3I6IHJnYmEoNzEsIDgyLCAxMDMsIDAuNSk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5mbGV4aWJsZS1jb250YWN0LXdyYXBwZXIgLm1haWx0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuZmxleGlibGUtY29udGFjdC13cmFwcGVyIC5tYWlsdG8gc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgYSB7XG4gIHBhZGRpbmctbGVmdDogMy4xMjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiAjRTIwNzE0IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNC44MzMgOC41NDFWMS4xNjVhMSAxIDAgMSAxIDIgMHY3LjM3OGwyLjM3Mi0yLjI3Yy40NTgtLjQxOC45ODItLjM4NSAxLjM1NSAwIC4zNzYuMzgyLjM1MyAxLjAzIDAgMS4zOTEtLjM1LjM1OS00LjA0NyAzLjg4MS00LjA0NyAzLjg4MWEuOTQ3Ljk0NyAwIDAgMS0xLjM1OCAwUzEuNDU4IDguMDIzIDEuMTA3IDcuNjY0Yy0uMzUzLS4zNi0uMzc3LTEuMDA5IDAtMS4zOTIuMzc0LS4zODQuODk4LS40MTcgMS4zNTkgMGwyLjM2NyAyLjI3eicgZmlsbD0nJTIzRkZGJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0UlMEFcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGE6aG92ZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkEzMDNEOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyIGg2IHtcbiAgICBjb2xvcjogIzJBMzAzRDsgfVxuICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgYSBoNiB7XG4gICAgY29sb3I6ICNFMjA3MTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGEgaDYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGEgcCB7XG4gICAgY29sb3I6ICM0NzUyNjc7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtOyB9IH1cblxuLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDE7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAuMjVyZW07IH1cbiAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhLmdyb3cge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYS5ncm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSB7XG4gICAgICB3aWR0aDogMzMuMzMlOyB9IH1cbiAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTsgfVxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSBzcGFuOmFmdGVyLCAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGEgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSBzcGFuOmFmdGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgdG9wOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhIHNwYW46aG92ZXI6YWZ0ZXIsIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSBzcGFuOmhvdmVyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYSBpbWcge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5mbGV4aWJsZS1jdGFidXR0b25zLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkEzMDNEO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcmVtIDJyZW07XG4gIHdpZHRoOiAxMDB2dztcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5mbGV4aWJsZS1jdGFidXR0b25zLXdyYXBwZXIgdWwge1xuICAgIG1hcmdpbjogLTAuNjY2NjdyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZsZXhpYmxlLWN0YWJ1dHRvbnMtd3JhcHBlciB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9IH1cbiAgLmZsZXhpYmxlLWN0YWJ1dHRvbnMtd3JhcHBlciBoMyB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZsZXhpYmxlLWN0YWJ1dHRvbnMtd3JhcHBlciAubGluay13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDM0cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsZXhpYmxlLWN0YWJ1dHRvbnMtd3JhcHBlciBsaSB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZsZXhpYmxlLWN0YWJ1dHRvbnMtd3JhcHBlciBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuZmxleGlibGUtY3RhYnV0dG9ucy13cmFwcGVyIGEge1xuICAgIG1hcmdpbjogMC42NjY2N3JlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTJyZW07IH0gfVxuICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmFwLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciAuYXAtaXRlbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMC4yNXJlbSAwLjI1cmVtIDAuMjVyZW07IH0gfVxuICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmFwLW1ldGEge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAgMCAycmVtO1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciAuYXAtbWV0YSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMCAwIDA7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuaW5uZXItd3JhcHBlciAuYXAtZnVua3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgaW1nIHtcbiAgICAgIG1heC13aWR0aDogNy42MjVyZW07IH0gfVxuICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgaDUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgIGNvbG9yOiAjNDc1MjY3OyB9XG5cbnVsLmNhcmQtd3JhcHBlciB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICB1bC5jYXJkLXdyYXBwZXIgbGkge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLmNhcmQtd3JhcHBlciBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIHVsLmNhcmQtd3JhcHBlciBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuICB1bC5jYXJkLXdyYXBwZXIgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMCByZ2JhKDcxLCA4MiwgMTAzLCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIHVsLmNhcmQtd3JhcHBlciBhIGgzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBjb2xvcjogI0UyMDcxNDtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIHVsLmNhcmQtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggMCByZ2JhKDQyLCA0OCwgNjEsIDAuMik7IH1cbiAgICAgIHVsLmNhcmQtd3JhcHBlciBhOmhvdmVyIGgzIHtcbiAgICAgICAgY29sb3I6ICMyQTMwM0Q7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqIE5FV1MgKyBBUkNISVZFICoqKioqKioqKioqKioqL1xuLm5ld3MtYXJjaGl2ZSBoMSwgLm5ld3MtYXJjaGl2ZSAuc2VjdGlvbnRpdGxlLCAubmV3cy1hcmNoaXZlIC5mcm9udC1idXR0b25zIGg1LCAuZnJvbnQtYnV0dG9ucyAubmV3cy1hcmNoaXZlIGg1IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uZXdzLWFyY2hpdmUgaDE6YWZ0ZXIsIC5uZXdzLWFyY2hpdmUgLnNlY3Rpb250aXRsZTphZnRlciwgLm5ld3MtYXJjaGl2ZSAuZnJvbnQtYnV0dG9ucyBoNTphZnRlciwgLmZyb250LWJ1dHRvbnMgLm5ld3MtYXJjaGl2ZSBoNTphZnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4ucGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiBhdXRvO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5wYWdlLW51bWJlcnMgbGkge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAgIC5wYWdlLW51bWJlcnMgbGkgPiAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3NlbWlib2xkJztcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgIGNvbG9yOiAjNDc1MjY3O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgLnBhZ2UtbnVtYmVycyBsaSA+ICo6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDc1MjY3O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnBhZ2UtbnVtYmVycyBsaSA+ICouY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFMjA3MTQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5uZXdzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSB7XG4gICAgcGFkZGluZzogMXJlbSAwLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbTpob3ZlciBoMyB7XG4gICAgICBjb2xvcjogIzJBMzAzRDsgfVxuICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbTpob3ZlciAudGh1bWI6YmVmb3JlLCAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW06aG92ZXIgLnRodW1iOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gPiAqIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIC50aHVtYiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIC50aHVtYjphZnRlciwgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIC50aHVtYjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5uZXdzLXdyYXBwZXIgLm5ld3MtaXRlbSAudGh1bWI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIC50aHVtYjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gaDMge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGNvbG9yOiAjRTIwNzE0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjY2NjdyZW07IH1cbiAgICAubmV3cy13cmFwcGVyIC5uZXdzLWl0ZW0gcCB7XG4gICAgICBjb2xvcjogIzQ3NTI2NztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm5ld3Mtd3JhcHBlciAubmV3cy1pdGVtIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLm5ld3MtbWV0YSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogcmdiYSg3MSwgODIsIDEwMywgMC41KTtcbiAgZm9udC1mYW1pbHk6IFwib3Blbl9zYW5zYm9sZFwiO1xuICBtYXJnaW46IDBweCAwIDVweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXdzLW1ldGEge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuXG4vKioqKioqKioqKioqKioqKioqKiogRk9PVEVSICoqKioqKioqKioqKioqKioqKioqL1xuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMyQTMwM0Q7IH1cbiAgLmZvb3Rlci5uby1jb250YWN0Ym94IHtcbiAgICBtYXJnaW4tdG9wOiA1cmVtOyB9XG4gIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyID4gKiB7XG4gICAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAuZm9vdGVyIGEge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAuZm9vdGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNlN2U3ZTc7IH1cbiAgLmZvb3RlciBsaVtjbGFzcyo9XCJjdXJyZW50XCJdIGEsXG4gIC5mb290ZXIgYTpob3ZlciB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmZvb3RlciB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZm9vdGVyIC5mb290ZXItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvcmRlcjogMTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1tZW51IHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1tZW51IGEge1xuICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1tZW51IGEge1xuICAgICAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDsgfSB9XG4gIC5mb290ZXIgLnNvY2lhbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5mb290ZXIgLnNvY2lhbHMgaW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLyoqKioqKioqKioqKioqKioqKioqIENPTlRBQ1QgRk9PVEVSICoqKioqKioqKioqKioqKioqKioqL1xuLmNvbnRhY3Rib3gtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY5RkM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVyZW07XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG4gIC5jb250YWN0Ym94LXdyYXBwZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDE1cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMDBweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY5RkM7XG4gICAgdG9wOiAtNXJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNmRlZyk7XG4gICAgei1pbmRleDogLTE7XG4gICAgaGVpZ2h0OiA3LjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuY29udGFjdGJveC13cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTVyZW07XG4gICAgICAgIHRvcDogLTEwcmVtOyB9IH1cbiAgLmNvbnRhY3Rib3gtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIG1heC13aWR0aDogNDMuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGFjdGJveC13cmFwcGVyIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWF4LXdpZHRoOiA3MS4xMjVyZW07IH0gfVxuICAuY29udGFjdGJveC13cmFwcGVyIC5jb2wxIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgLmNvbDEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgLmNvbDEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250YWN0Ym94LXdyYXBwZXIgLmNvbDIge1xuICAgICAgd2lkdGg6IDI1Ljc1cmVtO1xuICAgICAgZmxleDogMSAwIGF1dG87IH0gfVxuICAuY29udGFjdGJveC13cmFwcGVyIC52YWxpZGF0aW9uX21lc3NhZ2UsXG4gIC5jb250YWN0Ym94LXdyYXBwZXIgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgIGNvbG9yOiAjRTIwNzE0O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFjdGJveC13cmFwcGVyIC5saW5rLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtOyB9IH1cbiAgLmNvbnRhY3Rib3gtd3JhcHBlciAubGluay13cmFwcGVyIC5pY29uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5jb250YWN0Ym94LXdyYXBwZXIgLmxpbmstd3JhcHBlciBhIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM0NzUyNjc7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjY2NjY3cmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSg3MSwgODIsIDEwMywgMC4xKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgLmxpbmstd3JhcHBlciBhIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW07IH0gfVxuICAgIC5jb250YWN0Ym94LXdyYXBwZXIgLmxpbmstd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM0NzUyNjc7IH1cbiAgLmNvbnRhY3Rib3gtd3JhcHBlciAubGluay13cmFwcGVyIGg2IHtcbiAgICBjb2xvcjogI0UyMDcxNDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNvbnRhY3Rib3gtd3JhcHBlciB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb250YWN0Ym94LXdyYXBwZXIgaW5wdXQsIC5jb250YWN0Ym94LXdyYXBwZXIgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzEsIDgyLCAxMDMsIDAuMjUpO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7IH1cbiAgICAuY29udGFjdGJveC13cmFwcGVyIGlucHV0OmZvY3VzLCAuY29udGFjdGJveC13cmFwcGVyIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTIwNzE0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtOyB9XG4gIC5jb250YWN0Ym94LXdyYXBwZXIgdGV4dGFyZWEge1xuICAgIGhlaWdodDogNi43NXJlbTsgfVxuICAuY29udGFjdGJveC13cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlcjogMDsgfVxuICAuY29udGFjdGJveC13cmFwcGVyIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmNvbnRhY3Rib3gtd3JhcHBlciBwIHtcbiAgICBjb2xvcjogIzQ3NTI2NzsgfVxuICAuY29udGFjdGJveC13cmFwcGVyIGZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGFjdGJveC13cmFwcGVyIGZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuY29udGFjdGJveC13cmFwcGVyIGZvcm0gLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNvbnRhY3Rib3gtd3JhcHBlciBmb3JtIGxpLmdmaWVsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAuY29udGFjdGJveC13cmFwcGVyIGZvcm0gLmdmaWVsZF9yYWRpbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgZm9ybSAuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgZm9ybSAuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgZm9ybSAuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgLmNvbnRhY3Rib3gtd3JhcHBlciBmb3JtIC5nZmllbGRfcmFkaW8gbGFiZWwge1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBjb2xvcjogIzQ3NTI2NztcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgZm9ybSAuZ2ZpZWxkX3JhZGlvIGlucHV0IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgZm9ybSAuZ2ZpZWxkX3JhZGlvIGlucHV0ICsgbGFiZWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDJyZW07XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgZm9ybSAuZ2ZpZWxkX3JhZGlvIGlucHV0ICsgbGFiZWw6YmVmb3JlLCAuY29udGFjdGJveC13cmFwcGVyIGZvcm0gLmdmaWVsZF9yYWRpbyBpbnB1dCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycztcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3MSwgODIsIDEwMywgMC4yNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAgIC5jb250YWN0Ym94LXdyYXBwZXIgZm9ybSAuZ2ZpZWxkX3JhZGlvIGlucHV0OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMjA3MTQ7XG4gICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICB0b3A6IDAuNTYyNXJlbTtcbiAgICAgICAgICBsZWZ0OiAwLjI1cmVtO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG5cbi5ob21lIHAge1xuICBsaW5lLWhlaWdodDogMjsgfVxuXG4uaG9tZSBzZWN0aW9uID4gLmlubmVyLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIG1heC13aWR0aDogNDByZW07XG4gIG1hcmdpbjogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45OTg3NWVtKSB7XG4gICAgLmhvbWUgc2VjdGlvbiA+IC5pbm5lci13cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5ob21lIHNlY3Rpb24gPiAuaW5uZXItd3JhcHBlciB7XG4gICAgICBtYXgtd2lkdGg6IDY3LjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLmhvbWUgc2VjdGlvbiA+IC5pbm5lci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uZnJvbnQtaW50cm8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTIwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmZyb250LWludHJvLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEzcmVtOyB9IH1cbiAgLmZyb250LWludHJvLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTk4NzVlbSkge1xuICAgICAgLmZyb250LWludHJvLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODBweCk7IH0gfVxuICAuZnJvbnQtaW50cm8td3JhcHBlciAuaW1nLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDMzLjEyNXJlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZyb250LWludHJvLXdyYXBwZXIgLmltZy13cmFwcGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xODBweCk7IH0gfVxuICAuZnJvbnQtaW50cm8td3JhcHBlci5jdXJ2ZWQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY5RkM7IH1cblxuLmZyb250LXByb2R1Y3RzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEzMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjlGQztcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLmZyb250LXByb2R1Y3RzLXdyYXBwZXIgaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTk4NzVlbSkge1xuICAgIC5mcm9udC1wcm9kdWN0cy13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfSB9XG4gIC5mcm9udC1wcm9kdWN0cy13cmFwcGVyIC5yZWFkbW9yZS13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuZnJvbnQtcHJvZHVjdHMtd3JhcHBlciAucmVhZG1vcmUtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLnByb2R1Y3RzIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3RzIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnByb2R1Y3RzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07IH0gfVxuICAucHJvZHVjdHMgbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLnByb2R1Y3RzIGxpIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTsgfSB9XG4gICAgLnByb2R1Y3RzIGxpID4gKiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICBtYXJnaW46IDAuNXJlbSAwOyB9XG4gICAgICAucHJvZHVjdHMgbGkgPiAqOmhvdmVyIC5saW5lIHtcbiAgICAgICAgY29sb3I6ICMyQTMwM0Q7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLnByb2R1Y3RzIGxpID4gKiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICBoZWlnaHQ6IDEzLjE4NzVyZW07XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBtYXJnaW46IDAuNXJlbTsgfVxuICAgICAgICAgIC5wcm9kdWN0cyBsaSA+ICo6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAwIHJnYmEoNDIsIDQ4LCA2MSwgMC4yKTsgfSB9XG4gIC5wcm9kdWN0cyAudGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAucHJvZHVjdHMgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAucHJvZHVjdHMgLmxpbmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlByb3hpbWEgTm92YSBXMDUgUmVndWxhclwiO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogI0UyMDcxNDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5wcm9kdWN0cyAubGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLnByb2R1Y3RzIC5saW5lMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiUHJveGltYSBOb3ZhIFcwNSBCb2xkXCI7IH1cbiAgLnByb2R1Y3RzIGltZyB7XG4gICAgd2lkdGg6IDIuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAucHJvZHVjdHMgaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDVyZW07IH0gfVxuXG4uZnJvbnQtYnV0dG9ucy13cmFwcGVyIHtcbiAgcGFkZGluZzogMS41cmVtIDAgM3JlbSAwO1xuICBiYWNrZ3JvdW5kOiAjRjZGOUZDOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZyb250LWJ1dHRvbnMtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAycmVtIDAgNnJlbSAwOyB9IH1cblxuLmZyb250LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfVxuICAuZnJvbnQtYnV0dG9ucyBsaSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZyb250LWJ1dHRvbnMgbGkge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAuZnJvbnQtYnV0dG9ucyBsaS5ncm93IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mcm9udC1idXR0b25zIGEge1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAxMHJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1idXR0b25zIGEge1xuICAgICAgICBoZWlnaHQ6IDE1cmVtOyB9IH1cbiAgICAuZnJvbnQtYnV0dG9ucyBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICB6LWluZGV4OiAwOyB9XG4gICAgLmZyb250LWJ1dHRvbnMgYTpob3ZlcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZyb250LWJ1dHRvbnMgYTpob3ZlciAubWV0YS13cmFwcGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuICAuZnJvbnQtYnV0dG9ucyAubWV0YS13cmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5mcm9udC1idXR0b25zIGg1IHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICBmb250LXNpemU6IDEuNDM3NXJlbTsgfVxuICAgIC5mcm9udC1idXR0b25zIGg1OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZyb250LWJ1dHRvbnMgaDUge1xuICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45NTsgfSB9XG4gIC5mcm9udC1idXR0b25zIC5zdXB0aXRsZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLnBob3RvYmFyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5waG90b2Jhci13cmFwcGVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLnBob3RvYmFyLXdyYXBwZXIgYSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGhvdG9iYXItd3JhcHBlciBhOmFmdGVyLCAucGhvdG9iYXItd3JhcHBlciBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnBob3RvYmFyLXdyYXBwZXIgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAucGhvdG9iYXItd3JhcHBlciBhOmFmdGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgdG9wOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgLnBob3RvYmFyLXdyYXBwZXIgYTpob3ZlcjphZnRlciwgLnBob3RvYmFyLXdyYXBwZXIgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uZnJvbnQtdmFsdWVzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDRyZW0gMCA2cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mcm9udC12YWx1ZXMtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiA4cmVtIDAgMTJyZW0gMDsgfSB9XG4gIC5mcm9udC12YWx1ZXMtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5mcm9udC12YWx1ZXMtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgLmZyb250LXZhbHVlcy13cmFwcGVyIC5pbm5lci13cmFwcGVyIC5mcm9udC12YWx1ZXMtdGV4dCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZyb250LXZhbHVlcy13cmFwcGVyIC5pbm5lci13cmFwcGVyIC5zZWN0aW9udGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTsgfVxuICAgICAgLmZyb250LXZhbHVlcy13cmFwcGVyIC5pbm5lci13cmFwcGVyIC5mcm9udC12YWx1ZXMtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07IH0gfVxuICAuZnJvbnQtdmFsdWVzLXdyYXBwZXIgLmltZy13cmFwcGVyIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZyb250LXZhbHVlcy13cmFwcGVyIC5pbWctd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1heC13aWR0aDogMjUuNTYyNXJlbTsgfSB9XG4gIC5mcm9udC12YWx1ZXMtd3JhcHBlci5jdXJ2ZWQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY5RkM7XG4gICAgei1pbmRleDogMjsgfVxuXG4uZnJvbnQtc2VjdGlvbnMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNGNkY5RkM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDdyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgLnNlY3Rpb24taW5uZXIge1xuICAgICAgcGFkZGluZzogMnJlbSA0cmVtO1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuICAuZnJvbnQtc2VjdGlvbnMtd3JhcHBlciBoZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZnJvbnQtc2VjdGlvbnMtd3JhcHBlciBhIHtcbiAgICBjb2xvcjogIzQ3NTI2NztcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3NlbWlib2xkJztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5mcm9udC1zZWN0aW9ucy13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNFMjA3MTQ7IH1cbiAgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgdWwge1xuICAgIGNvbHVtbnM6IDI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuZnJvbnQtc2VjdGlvbnMtd3JhcHBlciB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgdWwge1xuICAgICAgICBjb2x1bW5zOiAzOyB9IH1cbiAgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgLnNlbGVjdC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgLnNlbGVjdC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgICAuZnJvbnQtc2VjdGlvbnMtd3JhcHBlciAuc2VsZWN0LXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTMnIGhlaWdodD0nNycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTEyLjM1NSAxLjk5N2MtLjQyLjQzLTQuODU2IDQuNjU3LTQuODU2IDQuNjU3YTEuMTM2IDEuMTM2IDAgMCAxLTEuNjMgMFMxLjQzMiAyLjQyNyAxLjAxIDEuOTk3Yy0uNDI0LS40MzMtLjQ1Mi0xLjIxIDAtMS42Ny40NS0uNDYxIDEuMDc4LS41MDEgMS42MyAwTDYuNjg0IDQuMiAxMC43MjguMzI3Yy41NS0uNTAxIDEuMTc5LS40NjEgMS42MjcgMCAuNDUuNDYuNDIzIDEuMjM3IDAgMS42N3onIGZpbGw9JyUyM0UyMDcxNCcgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMjsgfVxuICAuZnJvbnQtc2VjdGlvbnMtd3JhcHBlciBzZWxlY3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzEsIDgyLCAxMDMsIDAuMjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiByZ2JhKDcxLCA4MiwgMTAzLCAwLjcpO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwOyB9XG4gICAgLmZyb250LXNlY3Rpb25zLXdyYXBwZXIgc2VsZWN0OmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZnJvbnQtbmV3cy13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIGJhY2tncm91bmQ6ICNGNkY5RkM7IH1cbiAgLmZyb250LW5ld3Mtd3JhcHBlciBoZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZnJvbnQtbmV3cy13cmFwcGVyIC5yZWFkbW9yZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZnJvbnQtcmVmZXJlbmNlcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvbWUgLmZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLypbZGF0YS1hbmltYXRlXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KSwgb3BhY2l0eSAwLjhzIGVhc2U7XG4gICAgJltkYXRhLWZyb20tYm90dG9tXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsgfVxuICAgICZbZGF0YS1mcm9tLXRvcF0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG4gICAgJltkYXRhLWZyb20tcmlnaHRdIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gICAgJltkYXRhLWZyb20tbGVmdF0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gICAgJi5zaG93biB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufSovXG5bZGF0YS1hbmltYXRlXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSksIG9wYWNpdHkgMS41cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpOyB9XG5cbltkYXRhLXNwZWVkPVwiZmFzdFwiXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNzVzLCAwLjc1czsgfVxuXG5bZGF0YS1zcGVlZD1cIm5vcm1hbFwiXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEuNXMsIDEuNXM7IH1cblxuW2RhdGEtc3BlZWQ9XCJzbG93XCJdIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogM3MsIDNzOyB9XG5cbltkYXRhLWFuaW1hdGVdW2RhdGEtZnJvbS10b3BdIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTsgfVxuXG5bZGF0YS1hbmltYXRlXVtkYXRhLWZyb20tYm90dG9tXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuXG5bZGF0YS1hbmltYXRlXVtkYXRhLWZyb20tcmlnaHRdIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG5cbltkYXRhLWFuaW1hdGVdW2RhdGEtZnJvbS1sZWZ0XSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7IH1cblxuW2RhdGEtYW5pbWF0ZV1bZGF0YS1mYWRlLWluXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG5cbltkYXRhLWFuaW1hdGVdLnNob3duIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWigwKTtcbiAgb3BhY2l0eTogMTsgfVxuIiwiICAgIEBmb250LWZhY2V7XG4gICAgICAgIGZvbnQtZmFtaWx5OlwiUHJveGltYSBOb3ZhIFcwNSBSZWd1bGFyXCI7XG4gICAgICAgIHNyYzp1cmwoXCIuLi9mb250cy8zYmM0NTcwOC1iMTQ4LTQxNjEtOWQzOC1mYTEwZThjZDhlZDcuZW90PyNpZWZpeFwiKTtcbiAgICAgICAgc3JjOnVybChcIi4uL2ZvbnRzLzNiYzQ1NzA4LWIxNDgtNDE2MS05ZDM4LWZhMTBlOGNkOGVkNy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSx1cmwoXCIuLi9mb250cy8zM2NhMjAwMC1hZjdiLTQ0NDQtOTdjZC02MzkyYWIyZTI0YjIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvMWMwMDNjYzYtMGY4Zi00YzgyLWFkZGUtYTVhMDI2YjU2YjUwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSx1cmwoXCIuLi9mb250cy85NmRjNmQ5OC0wMTNkLTRhOTQtOWMwOS04NDc2YWJjMGFiYzYudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICAgIH1cbiAgICBAZm9udC1mYWNle1xuICAgICAgICBmb250LWZhbWlseTpcIlByb3hpbWEgTm92YSBXMDUgQm9sZFwiO1xuICAgICAgICBzcmM6dXJsKFwiLi4vZm9udHMvOWE0OGFlYTYtMTE3NS00NzVjLTljYTAtZTg4NDAyZThjM2UzLmVvdD8jaWVmaXhcIik7XG4gICAgICAgIHNyYzp1cmwoXCIuLi9mb250cy85YTQ4YWVhNi0xMTc1LTQ3NWMtOWNhMC1lODg0MDJlOGMzZTMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvM2MzNWRjNjAtOWZlMy00ODBmLTkwYWMtZTQ1M2RiMDI3MWUyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uL2ZvbnRzLzJiMmI3OTM5LTY5M2ItNDRjZC04NzNhLTFhYTA2NWE5MDZiOC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udHMvYjMyNjg2MzctN2I5Mi00ZjgxLTlkN2YtMWVlOGU4YTVkNTE3LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgICB9XG4gICAgQGZvbnQtZmFjZXtcbiAgICAgICAgZm9udC1mYW1pbHk6XCJQcm94aW1hIE5vdmEgVzA1IEV4dHJhYm9sZFwiO1xuICAgICAgICBzcmM6dXJsKFwiLi4vZm9udHMvZjQ3ODRmNDEtNzVkMS00ZTBhLWEyZTktYjQ0NDZhYzQ0YjZmLmVvdD8jaWVmaXhcIik7XG4gICAgICAgIHNyYzp1cmwoXCIuLi9mb250cy9mNDc4NGY0MS03NWQxLTRlMGEtYTJlOS1iNDQ0NmFjNDRiNmYuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksdXJsKFwiLi4vZm9udHMvMTE1NzQ5ZWYtMTEwNC00YzA5LWI2OTctOGE3ZDQyMGExMzNhLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uL2ZvbnRzL2IyOGM2ZjU2LTQ1NDMtNDlkMS1iMjY1LTU3MTU2MTUxOTllMS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksdXJsKFwiLi4vZm9udHMvNzBiNDc3OGItZWViMC00YmQ0LWExOTgtNDgxMmZjNzY4ZWQxLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgICB9XG4gICAgQGZvbnQtZmFjZXtcbiAgICAgICAgZm9udC1mYW1pbHk6XCJQcm94aW1hIE5vdmEgVzA1IEJsYWNrXCI7XG4gICAgICAgIHNyYzp1cmwoXCIuLi9mb250cy9iYWY3N2FhZS02OTA0LTQ0YjItYTRiYy0wMWJhOTk5OGNkNDEuZW90PyNpZWZpeFwiKTtcbiAgICAgICAgc3JjOnVybChcIi4uL2ZvbnRzL2JhZjc3YWFlLTY5MDQtNDRiMi1hNGJjLTAxYmE5OTk4Y2Q0MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVvdFwiKSx1cmwoXCIuLi9mb250cy9mZTdhMWI1MC1hODBmLTRjNzQtOWFhMS1kZDc1ODI3NzAzNmMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvMjMyMmExMmYtYmUwOC00ZTczLWI0NGYtMGY0MmViNTUxMjEzLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSx1cmwoXCIuLi9mb250cy9mM2UxNzdiMi1mZTZhLTQ0MDUtYmYwYi1iMDVlNGZhZGRjNGEudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICAgIH1cbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgIH1cbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgIH1cbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNzZW1pYm9sZCc7XG4gICAgICAgIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy1zZW1pYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgIH0iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uUHJlc3Mgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiBmb3IgU2l0ZXMgdjYuNC4zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuQGltcG9ydCAnZ2xvYmFsL2NvbG9ycyc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTA3Nik7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuODtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogI0UyMDcxNCxcbiAgc2Vjb25kYXJ5OiAjNDc1MjY3LFxuICBzdWNjZXNzOiAjNkVCNTMzLFxuICB3YXJuaW5nOiAjRjhEMzAwLFxuICBhbGVydDogI0VDMUQyNCxcbik7XG5cbiRwcmltYXJ5LWxpZ2h0OiAjM0E0MDQ3O1xuXG4kcHJpbWFyeS1kYXJrOiAjQzgwRDBGO1xuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxwcmltYXJ5KTtcbiRwcmltYXJ5LWFsdDogIzEwMzA1OTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxzZWNvbmRhcnkpO1xuJHNlY29uZGFyeS1saWdodDogIzc1N0U4RDtcbiRzZWNvbmRhcnktbGlnaHRlc3Q6ICNGNkY5RkM7XG4kc2Vjb25kYXJ5LWRhcms6ICMyQTMwM0Q7XG4kY3lhbjogJHNlY29uZGFyeS1jb2xvcjtcbiRncmVlbjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLHN1Y2Nlc3MpO1xuJHJlZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLGFsZXJ0KTtcbiRncmF5OiAjOEY5NTlCO1xuJGxpZ2h0ZXN0LWdyYXk6ICNlN2U3ZTc7XG4kbGlnaHQtZ3JheTogIzQ3NTI2NztcbiRtZWRpdW0tZ3JheTogIzJGMzYzRDtcbiRkYXJrLWdyYXk6ICRwcmltYXJ5LWNvbG9yOyAvLyBBbnRocmF6aXRcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI0ZGRkZGRjtcblxuXG5cbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRzZWNvbmRhcnktbGlnaHQ7XG4kYm9keS1mb250LWZhbWlseTogXCJvcGVuX3NhbnNyZWd1bGFyXCIsLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IHJlbS1jYWxjKDUpO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAwcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiA4MDBweCxcbiAgeGxhcmdlOiAxMDI0cHgsXG4gIHh4bGFyZ2U6IDEyNDBweCxcbiAgeHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbWVkaXVtO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSB4eHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiRoZWFkZXItZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiAkcHJpbWFyeS1saWdodDtcbiRoZWFkZXItbGluZWhlaWdodDogMS4xNjtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMHJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMSksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDUpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTkpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6ICRzZWNvbmRhcnktY29sb3I7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1wbHVzbWludXM6IGZhbHNlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMDtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMHJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogMzBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAncmlmdCc7XG4kYnV0dG9uLXBhZGRpbmc6IDEuNGVtIDIuNWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAwIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogMDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjgxMjVyZW0sXG4gIGRlZmF1bHQ6IDAuODVyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMDtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAwcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAwO1xuJGNhcmQtcGFkZGluZzogMDtcbiRjYXJkLW1hcmdpbi1ib3R0b206IDA7XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoNSAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAwcHggc29saWQgJHByaW1hcnktY29sb3I7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAwcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMHB4IDBweCByZ2JhKCRibGFjaywgMCk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgMHB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6IDA7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAwO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMDtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IHJlbS1jYWxjKDMyMHB4KSxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyODBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRvZmZjYW52YXMtc2hhZG93OiAwO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC45KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDE2MDtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDE3MDtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDE4MDtcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiBmYWxzZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC42KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDYgNik7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJHdoaXRlO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDByZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kdGl0bGViYXItaGVpZ2h0OiA2MHB4O1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDA7XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDI0O1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IHJlbS1jYWxjKDhweCksXG4gIG1lZGl1bTogcmVtLWNhbGMoMTZweCksXG4gIHhsYXJnZTogcmVtLWNhbGMoMzJweCksXG4pO1xuJGdyaWQtc21hbGw6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsc21hbGwpO1xuJGdyaWQtbWVkaXVtOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLG1lZGl1bSk7XG4kZ3JpZC14bGFyZ2U6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMseGxhcmdlKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgJ2dsb2JhbC9mb250cyc7XG5cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG4vL0BpbXBvcnQgJ21vdGlvbi11aSc7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3Nlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuLy9AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cblxuXG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImdsb2JhbC9hY2Nlc3NpYmlsaXR5XCI7XG4vL0BpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLW92ZXJyaWRlc1wiO1xuLy9AaW1wb3J0IFwiZ2xvYmFsL2d1dGVuYmVyZ1wiO1xuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9uYXZpZ2F0aW9uXCI7XG4vL0BpbXBvcnQgXCJtb2R1bGVzL2NvbnRlbnRcIjtcbi8vQGltcG9ydCBcIm1vZHVsZXMvZm9vdGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9lZGl0b3Itc3R5bGVcIjtcblxuLy8gQ29tcG9uZW50c1xuLy9AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG4vL0BpbXBvcnQgXCJjb21wb25lbnRzL2NhcmRzXCI7XG4vL0BpbXBvcnQgXCJjb21wb25lbnRzL2ZlYXR1cmVkLWltYWdlXCI7XG4vL0BpbXBvcnQgXCJjb21wb25lbnRzL2RpdmlkZXJzXCI7XG4vL0BpbXBvcnQgXCJjb21wb25lbnRzL2xpbmtzXCI7XG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdnbG9iYWwvZnJvbnRwYWdlJztcbkBpbXBvcnQgJ2dsb2JhbC9hbmltYXRpb25zJzsiLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgzKSB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmdhbGxlcnkge1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG4gICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoMiwgJy5nYWxsZXJ5LWl0ZW0nLCB0cnVlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCg0LCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG4gIC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYGdyb3dgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicC1pcy1mYWxsYmFjazogZmFsc2U7XG5cbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgICAgJGJwLWlzLWZhbGxiYWNrOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBmYWxsYmFjaywgdXNlIGEgZmFsbGJhY2sgZ3V0dGVyIGFzIHdlbGxcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XG4gICAgJGd1dHRlcjogMDtcbiAgfVxuXG4gIEBpZigkZ3V0dGVyICE9IG51bGwpIHtcbiAgICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAneHktY2VsbDogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCIsIGNlbGwgd2FzIG5vdCBnZW5lcmF0ZWRgJ1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gTmF2aWdhdGlvbiBicmVha3BvaW50c1xuLnRpdGxlLWJhcixcbi5tb2JpbGUtbWVudSAge1xuICBAaW5jbHVkZSBoaWRlLWZvcih4eGxhcmdlKTtcbn1cblxuLmRlc2t0b3AtbWVudSxcbi5zaXRlLWhlYWRlciB7XG4gIEBpbmNsdWRlIHNob3ctZm9yKHh4bGFyZ2UpO1xufVxuXG4vLyBUaXRsZSBCYXJcbi50aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogcmVtLWNhbGMoODApO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG4gIC5sb2dvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDE2MCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IHJlbS1jYWxjKDE0MCk7IH1cbiAgfVxuICAudGl0bGUtYmFyLWJ1dHRvbiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiByZW0tY2FsYygxNDApO1xuICAgIHBhZGRpbmc6IDAgMCAwIHJlbS1jYWxjKDUwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgLy93aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpIHRyYW5zbGF0ZVgoNDBweCk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1kYXJrO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAubWVudS1pY29uLWJ1dHRvbiB7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJ3JpZnQnO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgIHNwYW4geyAvLyBNZW51XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRvcGJhclxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL3dpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBzaG93LWZvcihsYXJnZSk7XG4gIG5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweCAwIDAgMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTApO1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWRhcms7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwMDAwKTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGhlaWdodDogcmVtLWNhbGMoOTApO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICoge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgZm9udC1mYW1pbHk6XCJvcGVuX3NhbnNib2xkXCI7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmW2NsYXNzKj1cImN1cnJlbnRcIl0gYSxcbiAgICAgIGE6aG92ZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBNb2JpbGUgbWVudVxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgLy8gcHJldmVudHMgcmVwYWludCBjYXVzZWQgYnkgSlMgaGlkaW5nIG1lbnUgb25sb2FkXG59XG5cbi5vZmYtY2FudmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICAucmVkLWhvbGRlciB7XG4gICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnNpZGViYXItY2FudmFzLW5hdiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLmxhbmdzd2l0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAkdGl0bGViYXItaGVpZ2h0O1xuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0Mik7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQyKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsMC43NSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmlzLW9wZW4ucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiAtNXB4IDBweCAxMHB4IDBweCByZ2JhKCRibGFjaywwLjI1KTtcbiAgfVxuICB1bC5tZW51IHtcbiAgICBtYXJnaW46IDAgMCAkZ3JpZC1tZWRpdW0qMiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAvL2hlaWdodDogMTAwdmg7XG4gICAgbGkge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNzZW1pYm9sZFwiO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwwLjc1KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgIGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gYSxcbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZGFyaztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuIiwiYm9keSN0aW55bWNle1xuICBoZWlnaHQ6IGF1dG87IC8vIEZpeCBlZGl0b3Igc3R5bGUgYnVnXG4gIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoOyAvLyBHaXZlIHRoZSBlZGl0b3IgYSBtYXgtd2lkdGhcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG59IiwiYm9keSB7b3ZlcmZsb3cteDogaGlkZGVuO31cbi8vIEdSSURcbi5tYWluLWdyaWQgeyAvLyBUaGUgd2hvbGUgdGhpbmdcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICA+ICoge1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgfVxufVxuLy8gUExBQ0VIT0xERVJcbiVnbG9iYWx3aWR0aCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbn1cbiVzbWFsbGVyd2lkdGgge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDcxMyk7XG59XG4lYXJyb3dsaXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vMS41OyB9XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBsaW5lLWhlaWdodDogMjsgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg4KTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTguNjE0IDZIMS4wMjdBMS4wMTEgMS4wMTEgMCAwIDEgMCA1YzAtLjU1Mi40Ni0xIDEuMDI3LTFoNy41ODhMNi4yOCAxLjYyOWMtLjQzLS40NTktLjM5NS0uOTgyIDAtMS4zNTYuMzk0LS4zNzUgMS4wNi0uMzUzIDEuNDMyIDAgLjM2OS4zNSAzLjk5MiA0LjA0NyAzLjk5MiA0LjA0N0EuOTM0LjkzNCAwIDAgMSAxMiA1YzAgLjI0NS0uMS40OS0uMjk2LjY3OSAwIDAtMy42MjMgMy42OTYtMy45OTIgNC4wNDctLjM3MS4zNTMtMS4wMzguMzc3LTEuNDMyIDAtLjM5NS0uMzc0LS40My0uODk4IDAtMS4zNThMOC42MTQgNnonIGZpbGw9JyUyM0UyMDcxNCcgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBERUZBVUxUU1xuKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbipbc3R5bGUqPVwidGV4dC1kZWNvcmF0aW9uXCJdLFxudSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuYSB7XG4gICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiAwO31cbn1cbmIsc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiBcIm9wZW5fc2Fuc2JvbGRcIjtcbn1cbnAge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzY7XG4gICAgJjpsYXN0LW9mLXR5cGU6bm90KC5pbnRybykgeyBtYXJnaW4tYm90dG9tOiAwO31cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICB9XG59XG5oMSB7XG4gICAgZm9udC1mYW1pbHk6XCJQcm94aW1hIE5vdmEgVzA1IEV4dHJhYm9sZFwiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAxOCAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMS41O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjQpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg5MCAwIDQwIDApO1xuICAgIH1cbn1cbmgyIHtcbiAgICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNzZW1pYm9sZFwiO1xufVxuc2VjdGlvbiB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICB9XG59XG5cbi5yZWFkbW9yZS13cmFwcGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDAuMSk7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE2KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6XCJvcGVuX3NhbnNib2xkXCI7XG4gICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogcmlnaHQ7fVxufVxuYS5yZWFkbW9yZSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBzdmcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTt9XG4gICAgfVxufVxuXG4uaW5uZXItd3JhcHBlciB7IEBleHRlbmQgJWdsb2JhbHdpZHRoOyB9XG5cbi5pbnRybyB7XG4gICAgZm9udC1mYW1pbHk6XCJvcGVuX3NhbnNzZW1pYm9sZFwiO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjgzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG5cblxufVxuLnN1cHRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtc21hbGwvMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxufVxuLnNlY3Rpb250aXRsZSB7XG4gICAgQGV4dGVuZCBoMTtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1kYXJrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzEuNSAwICRncmlkLW1lZGl1bSoxLjUgMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMiAwICRncmlkLW1lZGl1bSoxLjUgMDsgfVxuICAgICY6YWZ0ZXIgeyBkaXNwbGF5OiBub25lO31cbn1cbi5idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNib2xkXCI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjAgODApO1xuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuLmJhY2tsaW5rLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgdG9wOiAwOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygtMzApO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHRvcDogcmVtLWNhbGMoLTYwKTsgfVxufVxuLmJhY2tsaW5rIHtcbiAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3NlbWlib2xkJztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoJHNlY29uZGFyeS1jb2xvciwwLjEpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA0MCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMDBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWluLWhlaWdodDogcmVtLWNhbGMoNjUpO31cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBLT1BGQklMRFxuLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuXG4uY3VydmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAyMDAwMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogLTEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC02ZGVnKSB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgfVxufVxuXG4vKioqKioqKioqKiogSEVBREVSICoqKioqKioqKioqKioqL1xuLnN0aWNreS1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDE1MDtcbiAgICAuc3RpY2t5IHtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgJi5pcy1zdHVjayB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCAwcHggcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2l0ZS1oZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBleHRlbmQgJWdsb2JhbHdpZHRoO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTIzKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbn1cbi5sb2dvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAyMDAwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMyNCk7XG4gICAgfVxuICAgICYubW9iaWxlIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiByZW0tY2FsYygxMTkpO31cbiAgICB9XG59XG4ubGFuZ3N3aXRjaCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCAyNSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMTQwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC8vIERlZmF1bHRzIGZvciBMaW5rc1xuICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTpcIm9wZW5fc2Fuc2JvbGRcIjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgICAgICB9XG4gICAgfVxufVxuLy8gU0xJREVSXG4uY3ljbGUtc2xpZGUge1xuICAgIGhlaWdodDogcmVtLWNhbGMoNTE0KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgOHMgZWFzZS1pbi1vdXQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBoZWlnaHQ6IHJlbS1jYWxjKDc4MCk7ICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5zdXB0aXRsZSB7IGNvbG9yOiAkd2hpdGU7fVxuICAgICAgICBcbiAgICB9XG4gICAgLnNsb2dhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgICAgICBmb250LWZhbWlseTogXCJQcm94aW1hIE5vdmEgVzA1IEJsYWNrXCI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA5O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEycHggcmdiYSg3MSw4MiwxMDMsLjMpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjQ1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA5O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDcuNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAuMSk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC42NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3ljbGUtY2FwdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTcwcHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jeWNsZS1jYXB0aW9uLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdXB0aXRsZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTZyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjg4KTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDU0KTtcbiAgICAgICAgZm9udC1mYW1pbHk6XCJQcm94aW1hIE5vdmEgVzA1IEJsYWNrXCI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1Mi45cHg7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTJweCByZ2JhKCRzZWNvbmRhcnktY29sb3IsMC4zMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDBweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDcuNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDc1KTtcblxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLDAuMTApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDYwKTtcbiAgICAgICAgYm9yZGVyOjJweCBzb2xpZCByZ2JhKCR3aGl0ZSwwLjcpO1xuICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsMC43KTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgNzUpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5wcmV2bmV4dCB7XG4gICAgQGluY2x1ZGUgc2hvdy1mb3IobGFyZ2UpO1xuICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpO1xuICAgIGJvcmRlcjoycHggc29saWQgcmdiYSgkd2hpdGUsMC43KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQyKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQyKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTIwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMjBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yNDdweDtcbiAgICB9XG4gICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJi5wcmV2IHtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICB9XG4gICAgJi5uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqIENPTlRFTlQgKioqKioqKioqKioqKioqKiovXG5cbi8vIEhFQURFUlxuYm9keTpub3QoLmhvbWUpIC5lbnRyeS1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAvL3BhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIC8vcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtKjM7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgZm9vdGVyLFxuICAgIGhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmctdG9wOiByZW0tY2FsYygwKTsgfVxuICAgIH1cblxufVxuXG5cblxuLyoqKioqKioqKioqKioqKiogRkxFWElCTEUgQ09OVEVOVCAqKioqKioqKioqKioqKioqKi9cbi5mbGV4aWJsZS1jb250ZW50IHtcbiAgICBAZXh0ZW5kICVnbG9iYWx3aWR0aDtcblxuICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1zbWFsbCo0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLXNtYWxsKjY7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgIH1cbiAgICAmLmhhbGYge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtc21hbGwqMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYudGhpcmQge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtc21hbGw7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIEFCU1TDhE5ERSBBVVNOQUhNRU4gOihcbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgKyAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbn1cbi5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyLFxuLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciArIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIge1xuICAgIGgyIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtKjQ7IH1cbiAgICB9XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBwOmxhc3Qtb2YtdHlwZSArIHVsIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO31cbi5mbGV4aWJsZS1jb250YWluZXItd3JhcHBlciBkaXYuZmxleGlibGUtY29udGVudDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtKjEuNTtcbn1cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgKyAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSoxLjU7IH1cbn1cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgKyAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW07IH1cbn1cblxuLy8gRkxFWElCTEUgRURJVE9SXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6XCJvcGVuX3NhbnNzZW1pYm9sZFwiO1xuICAgICAgICAvL2NvbG9yOiAkY3lhbjtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO31cbiAgICB9XG4gICAgdWwge1xuICAgICAgICBAZXh0ZW5kICVhcnJvd2xpc3Q7XG4gICAgfVxuICAgIGxpLFxuXG4gICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgbGluZS1oZWlnaHQ6IDEuMzc1OyAgfVxuICAgIH1cbiAgICBoMyB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTt9XG4gICAgaDIge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSoyLjUgMCAkZ3JpZC1tZWRpdW0vMiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICBtYXJnaW46ICRncmlkLW1lZGl1bSo0IDAgJGdyaWQtbWVkaXVtLzIgMDsgfVxuICAgIH1cbiAgICBoNCB7IG1hcmdpbjogJGdyaWQtbWVkaXVtKjEuNSAwICRncmlkLW1lZGl1bS8yIDA7fVxufVxuLy8gRkxFWElCTEUgWldJU0NIRU5USVRFTFxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciB7XG4gICAgICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xufVxuLy8gVklERU8gLyBPRU1CRURcbi5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlciB7XG4gICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xufVxuLy8gRkxFWElCTEUgQlVUVE9OXG4uZmxleGlibGUtYnV0dG9uLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gRkxFWElCTEUgVEFCTEVcbi5mbGV4aWJsZS10YWJsZS13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG59XG4uZmxleGlibGUtdGFibGUge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg3IDE2KTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiByZ2JhKCRzZWNvbmRhcnktbGlnaHQsMC4wNSk7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkgeyBiYWNrZ3JvdW5kOiByZ2JhKCRzZWNvbmRhcnktbGlnaHQsMC4xKTsgfVxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO31cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIFNFQ1RJT05TXG4uZmxleGlibGUtc2VjdGlvbnMtd3JhcHBlciB7XG4gICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xuICAgIHVsIHtcbiAgICAgICAgQGV4dGVuZCAlYXJyb3dsaXN0O1xuICAgICAgICBmb250LWZhbWlseTogXCJvcGVuX3NhbnNzZW1pYm9sZFwiO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGNvbHVtbnM6IDI7IH1cbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIEZPUk1cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDAgNyAwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG4gICAgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSwgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkc2Vjb25kYXJ5LWxpZ2h0LDAuMSk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnktbGlnaHQsMC4xNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICB9XG4gICAgLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgICB9XG4gICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxufVxuXG4vLyBGTEVYSUJMRSBDT05UQUNUIC8gQU5TUFJFQ0hQQVJUTkVSXG4uZmxleGlibGUtY29udGFjdC13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVzbWFsbGVyd2lkdGg7XG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS8yO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB3aWR0aDogNTAlO31cbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIC5pbm5lcndyYXBwZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRzZWNvbmRhcnktY29sb3IsMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIHN2ZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZnVuY3Rpb24ge1xuICAgICAgICBjb2xvcjogcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDAuNSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAubWFpbHRvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRkxFWElCTEUgRE9XTkxPQURTXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO31cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNC44MzMgOC41NDFWMS4xNjVhMSAxIDAgMSAxIDIgMHY3LjM3OGwyLjM3Mi0yLjI3Yy40NTgtLjQxOC45ODItLjM4NSAxLjM1NSAwIC4zNzYuMzgyLjM1MyAxLjAzIDAgMS4zOTEtLjM1LjM1OS00LjA0NyAzLjg4MS00LjA0NyAzLjg4MWEuOTQ3Ljk0NyAwIDAgMS0xLjM1OCAwUzEuNDU4IDguMDIzIDEuMTA3IDcuNjY0Yy0uMzUzLS4zNi0uMzc3LTEuMDA5IDAtMS4zOTIuMzc0LS4zODQuODk4LS40MTcgMS4zNTkgMGwyLjM2NyAyLjI3eicgZmlsbD0nJTIzRkZGJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0UlMEFcIikgY2VudGVyIGNlbnRlciAgbm8tcmVwZWF0O1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZGFyazt9XG4gICAgICAgICAgICBoNiB7IGNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7fVxuICAgICAgICB9XG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRkxFWElCTEUgR0FMTEVSWSAvIElNQUdFIEJVVFRPTlNcbi5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXNtYWxsZXJ3aWR0aDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vNDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzQ7XG4gICAgfVxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtLzQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vNDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgJi5ncm93IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIC8vYm9yZGVyOiA1cHggc29saWQgJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vNDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLDAuNSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcjphZnRlcixcbiAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHsgb3BhY2l0eTogMTt9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8vIEZMRVhJQkxFIENUQSBCVVRUT05TXG4uZmxleGlibGUtY3RhYnV0dG9ucy13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSozICRncmlkLW1lZGl1bSoyO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdWwgeyBcbiAgICAgICAgbWFyZ2luOiAwIC0kZ3JpZC1tZWRpdW0vMS41O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMyB7IFxuICAgICAgICBjb2xvcjogJHdoaXRlOyBcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgMCAkZ3JpZC1tZWRpdW0qMS41IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAubGluay13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1NDQpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHdpZHRoOiA1MCU7IH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzEuNTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG5cbiAgICB9XG59XG5cbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciB7XG4gICAgQGV4dGVuZCAlc21hbGxlcndpZHRoO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS80O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vNDtcbiAgICB9XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS80O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIH1cbiAgICAgICAgLmFwLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjMgJGdyaWQtbWVkaXVtLzQgJGdyaWQtbWVkaXVtLzQgJGdyaWQtbWVkaXVtLzQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFwLW1ldGEge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtIDAgMCAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXAtZnVua3Rpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMik7IH1cbiAgICAgICAgfVxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBDQVJEIERFRkFVTFRTXG4gICAgdWwuY2FyZC13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB3aWR0aDogNTAlOyAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogMzMuMzMlOyB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDAuMik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggMCByZ2JhKCRzZWNvbmRhcnktZGFyaywwLjIwKTtcbiAgICAgICAgICAgICAgICBoMyB7IGNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4vKioqKioqKioqKioqKioqKioqKiogTkVXUyArIEFSQ0hJVkUgKioqKioqKioqKioqKiovXG4ubmV3cy1hcmNoaXZlIHtcbiAgICBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBQYWdpbmF0aW9uXG4ucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNzZW1pYm9sZCc7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ubmV3cy1vdXRlci13cmFwcGVyIHsgQGV4dGVuZCAlZ2xvYmFsd2lkdGg7IH1cbi5uZXdzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLm5ld3MtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bS8yO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IDMzLjMzJTt9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaDMgeyBjb2xvcjogJHNlY29uZGFyeS1kYXJrO31cbiAgICAgICAgICAgIC50aHVtYiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7IG9wYWNpdHk6IDE7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjphZnRlcixcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwwLjUpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywwLjE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40NDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bS8xLjU7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ubmV3cy1tZXRhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDAuNSk7XG4gICAgZm9udC1mYW1pbHk6XCJvcGVuX3NhbnNib2xkXCI7XG4gICAgbWFyZ2luOiAwcHggMCA1cHggMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDEzKTsgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKiBGT09URVIgKioqKioqKioqKioqKioqKioqKiovXG4uZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWRhcms7XG4gICAgJi5uby1jb250YWN0Ym94IHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjU7IH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICAgIEBleHRlbmQgJWdsb2JhbHdpZHRoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRsaWdodGVzdC1ncmF5O31cbiAgICB9XG4gICAgbGlbY2xhc3MqPVwiY3VycmVudFwiXSBhLFxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5mb290ZXItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyMCAwIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zb2NpYWxzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgaW1nIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7fVxuICAgIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKiogQ09OVEFDVCBGT09URVIgKioqKioqKioqKioqKioqKioqKiovXG4uY29udGFjdGJveC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0ZXN0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMTU7XG4gICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSo1O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgaGVpZ2h0OiAkZ3JpZC1tZWRpdW0qMTU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMDBweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1saWdodGVzdDtcbiAgICAgICAgdG9wOiAtJGdyaWQtbWVkaXVtKjU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC02ZGVnKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGhlaWdodDogJGdyaWQtbWVkaXVtKjcuNTsgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXG4gICAgICAgICAgICBoZWlnaHQ6ICRncmlkLW1lZGl1bSoxNTsgXG4gICAgICAgICAgICB0b3A6IC0kZ3JpZC1tZWRpdW0qMTA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3MDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDExMzgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2wxIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSozOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0qNzsgfVxuICAgIH1cbiAgICAuY29sMiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQxMik7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudmFsaWRhdGlvbl9tZXNzYWdlLFxuICAgIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIC5saW5rLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMS41O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uLXdyYXBwZXIgeyBcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0gMDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLC4xKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHsgXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBoNiB7IFxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bCB7IFxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHNlY29uZGFyeS1jb2xvciwuMjUpO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cbiAgICB0ZXh0YXJlYSB7IGhlaWdodDogcmVtLWNhbGMoMTA4KTt9XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7IFxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyAgIFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IG1hcmdpbi10b3A6IDA7fVxuICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHsgZGlzcGxheTogbm9uZTt9XG4gICAgICAgIGxpLmdmaWVsZCB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoxLjU7fVxuICAgICAgICAuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHsgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IDA7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwgeyBcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAgIFxuICAgICAgICAgICAgICAgICYgKyBsYWJlbCB7IFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLC4yNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ1NTIGlmIGNoZWNrZWRcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIH0gXG4gICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICBcbn1cbiIsIlxuLmhvbWUge1xuICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICB9XG4gICAgc2VjdGlvbiB7XG4gICAgICAgID4gLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDY0MCk7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1heC13aWR0aDogJGdsb2JhbC13aWR0aDt9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHsgcGFkZGluZzogMDsgfVxuICAgICAgICB9XG4gICAgfVxufVxuLy8gSU5UUk9cbi5mcm9udC1pbnRyby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTIwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSoxMzsgfVxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtODBweCk7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDUzMCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xODBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1cnZlZCB7XG4gICAgICAgICY6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWxpZ2h0ZXN0OyB9XG4gICAgfVxufVxuLy8gUFJPRFVDVFNcbi5mcm9udC1wcm9kdWN0cy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTMwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktbGlnaHRlc3Q7XG4gICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgIGhlYWRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIC5yZWFkbW9yZS13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBwYWRkaW5nLXRvcDogMDsgfVxuICAgIH1cbn1cbi5wcm9kdWN0cyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSozOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IDMzLjMzJTsgfVxuICAgICAgICA+ICoge1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS8yIDA7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAubGluZSB7IGNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMTEpO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IDAgcmdiYSgkc2Vjb25kYXJ5LWRhcmssMC4yMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIH1cbiAgICAubGluZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OlwiUHJveGltYSBOb3ZhIFcwNSBSZWd1bGFyXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZm9udC1zaXplOiByZW0tY2FsYygyNCk7IH1cbiAgICB9XG4gICAgLmxpbmUyIHsgZm9udC1mYW1pbHk6XCJQcm94aW1hIE5vdmEgVzA1IEJvbGRcIjsgfVxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0NCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg4MCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJVVFRPTlMgKyBSRUZFUkVOQ0VTXG4uZnJvbnQtYnV0dG9ucy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMS41IDAgJGdyaWQtbWVkaXVtKjMgMDtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0ZXN0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyIDAgJGdyaWQtbWVkaXVtKjYgMDtcbiAgICB9XG59XG4uZnJvbnQtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS8yO1xuICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS8yO1xuICAgIGxpIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MDApIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgICAmLmdyb3cge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2MCk7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgaGVpZ2h0OiByZW0tY2FsYygyNDApOyB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywwLjI1KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjphZnRlciB7IG9wYWNpdHk6IDE7fVxuICAgICAgICAgICAgLm1ldGEtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5tZXRhLXdyYXBwZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgICAgQGV4dGVuZCBoMTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAmOmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xuICAgICAgICB9XG4gICAgICAgXG5cbiAgICB9XG4gICAgLnN1cHRpdGxlIHsgY29sb3I6ICR3aGl0ZTsgfVxufVxuXG4vLyBQSE9UT0JBUlxuLnBob3RvYmFyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGZsZXgtd3JhcDogbm93cmFwO31cbiAgICBhIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgcmdiYSgkd2hpdGUsMC41KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywwLjE1KTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyOmFmdGVyLFxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7IG9wYWNpdHk6IDE7fVxuICAgIH1cbn1cblxuLy8gVkFMVUVTXG4uZnJvbnQtdmFsdWVzLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qNCAwICRncmlkLW1lZGl1bSo2IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgcGFkZGluZzogJGdyaWQtbWVkaXVtKjggMCAkZ3JpZC1tZWRpdW0qMTIgMDsgfVxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAuZnJvbnQtdmFsdWVzLXRleHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAuc2VjdGlvbnRpdGxlIHsgbWF4LXdpZHRoOiA2MCU7fVxuICAgICAgICAgICAgLmZyb250LXZhbHVlcy10ZXh0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0qNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDQwOSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jdXJ2ZWQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktbGlnaHRlc3Q7XG4gICAgICAgICAgICB6LWluZGV4OjI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNFQ1RJT05TXG4uZnJvbnQtc2VjdGlvbnMtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1saWdodGVzdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtKjM7XG4gICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3JpZC1tZWRpdW0qNztcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC5zZWN0aW9uLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bSo0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoZWFkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zc2VtaWJvbGQnO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBMSVNUXG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcihtZWRpdW0pO1xuICAgICAgICBAZXh0ZW5kICVhcnJvd2xpc3Q7XG4gICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGNvbHVtbnM6IDM7IH1cbiAgICB9XG4gICAgLy8gU0VMRUNUXG4gICAgLnNlbGVjdC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IobWVkaXVtKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEzJyBoZWlnaHQ9JzcnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMi4zNTUgMS45OTdjLS40Mi40My00Ljg1NiA0LjY1Ny00Ljg1NiA0LjY1N2ExLjEzNiAxLjEzNiAwIDAgMS0xLjYzIDBTMS40MzIgMi40MjcgMS4wMSAxLjk5N2MtLjQyNC0uNDMzLS40NTItMS4yMSAwLTEuNjcuNDUtLjQ2MSAxLjA3OC0uNTAxIDEuNjMgMEw2LjY4NCA0LjIgMTAuNzI4LjMyN2MuNTUtLjUwMSAxLjE3OS0uNDYxIDEuNjI3IDAgLjQ1LjQ2LjQyMyAxLjIzNyAwIDEuNjd6JyBmaWxsPSclMjNFMjA3MTQnIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLDAuMjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwwLjcpO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAmOmhvdmVyIHsgY3Vyc29yOiBwb2ludGVyO31cbiAgICB9XG5cbn1cbi8vIE5FV1Ncbi5mcm9udC1uZXdzLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ3JpZC1tZWRpdW0qNTtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWxpZ2h0ZXN0O1xuICAgIGhlYWRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5yZWFkbW9yZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmZyb250LXJlZmVyZW5jZXMge2Rpc3BsYXk6IG5vbmU7fVxuXG4uaG9tZSB7XG4gICAgLmZvb3RlciB7bWFyZ2luLXRvcDogMDt9XG59XG4iLCIvKltkYXRhLWFuaW1hdGVdIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpLCBvcGFjaXR5IDAuOHMgZWFzZTtcbiAgICAmW2RhdGEtZnJvbS1ib3R0b21dIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gICAgJltkYXRhLWZyb20tdG9wXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgICAmW2RhdGEtZnJvbS1yaWdodF0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgICAmW2RhdGEtZnJvbS1sZWZ0XSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgICAmLnNob3duIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59Ki9cblxuXG5bZGF0YS1hbmltYXRlXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS41cyBjdWJpYy1iZXppZXIoLjE2NSwgLjg0LCAuNDQsIDEpLCBvcGFjaXR5IDEuNXMgY3ViaWMtYmV6aWVyKC4xNjUsIC44NCwgLjQ0LCAxKTtcbiAgfVxuXG4gIFtkYXRhLXNwZWVkPVwiZmFzdFwiXSBcdFx0XHRcdHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC43NXMsIDAuNzVzOyAgICB9XG4gIFtkYXRhLXNwZWVkPVwibm9ybWFsXCJdIFx0XHRcdFx0eyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxLjVzLCAxLjVzOyAgICAgIH1cbiAgW2RhdGEtc3BlZWQ9XCJzbG93XCJdIFx0XHRcdFx0eyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzcywgM3M7ICAgICAgICAgIH1cblxuICBbZGF0YS1hbmltYXRlXVtkYXRhLWZyb20tdG9wXSBcdFx0eyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpOyBcdH1cbiAgW2RhdGEtYW5pbWF0ZV1bZGF0YS1mcm9tLWJvdHRvbV0gXHR7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcdFx0fVxuICBbZGF0YS1hbmltYXRlXVtkYXRhLWZyb20tcmlnaHRdIFx0eyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7XHRcdH1cbiAgW2RhdGEtYW5pbWF0ZV1bZGF0YS1mcm9tLWxlZnRdIFx0XHR7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XHRcdH1cbiAgW2RhdGEtYW5pbWF0ZV1bZGF0YS1mYWRlLWluXSBcdFx0eyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcdFx0fVxuXG4gIFtkYXRhLWFuaW1hdGVdLnNob3duIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVaKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiJdfQ== */
