@charset "UTF-8";
/***
    The new CSS reset - version 1.8.2 (last updated 23.12.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(
:not(html, iframe, canvas, img, svg, path, video, audio):not(
svg *,
symbol *
)
) {
  all: unset;
  display: revert; }

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Reapply the pointer cursor for anchor tags */
a,
button {
  cursor: revert; }

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu {
  list-style: none; }

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%; }

/* removes spacing between cells in tables */
table {
  border-collapse: collapse; }

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input,
textarea {
  -webkit-user-select: auto; }

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert; }

/* minimum style to allow to style meter element */
meter {
  -moz-appearance: revert;
       appearance: revert; }

/* preformatted text - use only for this feature */
pre {
  all: revert; }

/* reset default text opacity of input placeholder */
:-ms-input-placeholder {
  color: unset; }
::placeholder {
  color: unset; }

/* remove default dot (•) sign */
/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none; }

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto; }

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
  -webkit-user-drag: element; }

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none; }

/**
 * Path
 */
/**
 * Colors
 */
/**
 * Responsive
 */
/**
 * Susy
 */
/**
 * Easing
 */
/**
 * Text
 */
/*text style*/
@font-face {
  font-family: "noomia";
  src: url("../fonts/noomia/noomia.eot");
  src: url("../fonts/noomia/noomia.eot?#iefix") format("eot"), url("../fonts/noomia/noomia.woff2") format("woff2"), url("../fonts/noomia/noomia.woff") format("woff"), url("../fonts/noomia/noomia.ttf") format("truetype"), url("../fonts/noomia/noomia.svg#noomia") format("svg"); }

.icon:before {
  font-family: "noomia";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
  text-decoration: none;
  text-transform: none; }

.icon-facebook:before {
  content: "\E001"; }

.icon-googleplus:before {
  content: "\E002"; }

.icon-linkedin:before {
  content: "\E003"; }

.icon-twitter:before {
  content: "\E004"; }

@keyframes showUp {
  0% {
    transform: translate(0, 15%);
    opacity: 0; }
  100% {
    transform: translate(0, 0%);
    opacity: 1; } }

@keyframes showUpTitle {
  0% {
    transform: translate(0, 15%); }
  100% {
    transform: translate(0, 0%); } }

@keyframes showDown {
  0% {
    transform: translateY(-15%);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

@keyframes hideDown {
  0% {
    transform: translateY(0);
    opacity: 1; }
  100% {
    transform: translateY(15%);
    opacity: 0; } }

@keyframes hideUp {
  0% {
    transform: translateY(0);
    opacity: 1; }
  100% {
    transform: translateY(-15%);
    opacity: 0; } }

@keyframes showLeft {
  0% {
    transform: translateX(-15%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

@keyframes showRight {
  0% {
    transform: translateX(15%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

@keyframes backgroundPosition {
  0% {
    opacity: 0;
    background-position: -600px center; }
  100% {
    opacity: 1;
    background-position: 0 center; } }

@keyframes loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes float {
  0% {
    transform: translatey(0px); }
  50% {
    transform: translatey(-15px); }
  100% {
    transform: translatey(0px); } }

@keyframes animService {
  0% {
    transform: translate(0%, 0%);
    opacity: 1; }
  25% {
    transform: translate(-2%, 2.5%);
    opacity: 1; }
  60% {
    transform: translate(10%, -12.5%);
    opacity: 0; }
  61% {
    transform: translate(-10%, 12.5%);
    opacity: 0; }
  100% {
    transform: translate(0%, 0%);
    opacity: 1; } }

/* Media Queries */
.wysiwyg {
  max-width: 850px;
  /**
     * hr
     */
  /**
     * List
     */ }
  .wysiwyg h2,
  .wysiwyg h3,
  .wysiwyg h4,
  .wysiwyg h5,
  .wysiwyg h6 {
    margin-top: 1.5em; }
  .wysiwyg > h2:first-child,
  .wysiwyg > h3:first-child,
  .wysiwyg > h4:first-child,
  .wysiwyg > h5:first-child,
  .wysiwyg > h6:first-child {
    margin-top: 0; }
  .wysiwyg p {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-size: 1rem; }
    @media only screen and (max-width: 1000px) {
      .wysiwyg p {
        font-size: 1rem; } }
  .wysiwyg figure {
    display: block;
    max-width: 100%;
    margin-bottom: 2em; }
    .wysiwyg figure figcaption {
      font-size: 1.25rem;
      font-family: "elza-text";
      font-weight: 400;
      line-height: 150%;
      margin-bottom: 1em;
      font-size: 1rem;
      position: relative;
      display: block; }
      @media only screen and (max-width: 1000px) {
        .wysiwyg figure figcaption {
          font-size: 1rem; } }
    .wysiwyg figure img {
      display: block;
      max-width: 100%;
      height: auto; }
    .wysiwyg figure.align-left {
      float: left;
      margin-right: 30em; }
    .wysiwyg figure.align-right {
      float: right;
      margin-left: 30em; }
    .wysiwyg figure.align-center img {
      margin: 0 auto; }
  .wysiwyg hr {
    margin: calc-em(30);
    border: 1px solid #ffffff; }
  .wysiwyg ul li:before {
    width: 5px;
    height: 5px;
    border-radius: 100px;
    position: absolute;
    top: 0.7em;
    left: 0.4em;
    content: "";
    background-color: #c8a5fd; }
  .wysiwyg ol {
    counter-reset: list; }
    .wysiwyg ol li:before {
      position: absolute;
      top: 0;
      left: -0.5ch;
      content: counter(list) ". ";
      counter-increment: list;
      color: #c8a5fd;
      width: 3ch;
      text-align: center; }
  .wysiwyg ul,
  .wysiwyg ol {
    margin-bottom: 1.5em;
    margin-left: 0.7em; }
    .wysiwyg ul li,
    .wysiwyg ol li {
      font-size: 1.25rem;
      font-family: "elza-text";
      font-weight: 400;
      line-height: 150%;
      margin-bottom: 1em;
      font-size: 1rem;
      list-style: none;
      padding-left: 1.5em;
      position: relative;
      margin-bottom: 0.2em; }
      @media only screen and (max-width: 1000px) {
        .wysiwyg ul li,
        .wysiwyg ol li {
          font-size: 1rem; } }
  .wysiwyg a {
    color: #baaef9; }
    .wysiwyg a:is(:hover, :active) {
      color: #baaef9;
      text-decoration: underline; }
  .wysiwyg b,
  .wysiwyg strong {
    font-weight: 600; }
  .wysiwyg i,
  .wysiwyg em {
    font-style: italic; }

.cta {
  font-size: 1.625rem;
  font-family: "elza-text";
  font-weight: 700;
  letter-spacing: 120%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: end;
      justify-content: flex-end;
  padding: 0px 10px 0px 0px;
  gap: 25px;
  transition: all 0.15s ease-out;
  max-width: 40ch;
  text-align: right; }
  @media only screen and (max-width: 1000px) {
    .cta {
      font-size: 1.2rem; } }
  .cta__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    gap: 7em;
    padding: 25px 0; }
    .cta__container.align-right {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: end;
          justify-content: flex-end; }
    .cta__container.align-center {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center; }
    @media only screen and (max-width: 1000px) {
      .cta__container {
        gap: 40px; } }
    .cta__container.container {
      padding-inline: 20px; }
  .cta:after {
    content: "";
    width: 52px;
    height: 22px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: center url(../img/arrow.svg) no-repeat;
    background-size: contain;
    transition: all 0.15s ease-out; }
    @media only screen and (max-width: 1200px) {
      .cta:after {
        width: 40px;
        height: 25px; } }
  .cta:is(:hover, :active) {
    text-decoration: none;
    padding: 0px 0px 0px 5px;
    gap: 30px; }
  .cta.violet-light:after {
    background: center url(../img/arrow--violet-light.svg) no-repeat;
    background-size: contain; }
  .cta.violet-light:hover {
    color: #baaef9; }
  .cta.yellow-light:after {
    background: center url(../img/arrow--yellow-light.svg) no-repeat;
    background-size: contain; }
  .cta.yellow-light:hover {
    color: #ffcb66; }
  .cta.green-light:after {
    background: center url(../img/arrow--green-light.svg) no-repeat;
    background-size: contain; }
  .cta.green-light:hover {
    color: #6cead3; }
  .cta.violet-dark {
    color: #130329; }
    .cta.violet-dark:after {
      background: center url(../img/arrow--violet-dark.svg) no-repeat;
      background-size: contain; }
    .cta.violet-dark:hover {
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent; }
  .cta.yellow-dark {
    color: #130329; }
    .cta.yellow-dark:after {
      background: center url(../img/arrow--yellow-dark.svg) no-repeat;
      background-size: contain; }
    .cta.yellow-dark:hover {
      color: #c78500; }
  .cta.green-dark {
    color: #130329; }
    .cta.green-dark:after {
      background: center url(../img/arrow--green-dark.svg) no-repeat;
      background-size: contain; }
    .cta.green-dark:hover {
      color: #12826e; }
  .cta.cta__small {
    font-size: 1.2rem;
    gap: 10px; }
    .cta.cta__small:after {
      height: 14px; }
    .cta.cta__small:is(:hover, :active) {
      gap: 15px; }
  .cta.reverse {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    -ms-flex-pack: start;
        justify-content: flex-start;
    text-align: left;
    padding: 0px 0px 0px 10px; }
    .cta.reverse:after {
      transform: rotate(180deg); }
    .cta.reverse:is(:hover, :active) {
      padding: 0px 5px 0px 0; }

.back-button {
  font-size: 0.75rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  transition: color 0.15s ease-in-out;
  color: rgba(255, 255, 255, 0.5); }
  .back-button:is(:hover, :active) {
    color: #c8a5fd; }
  .back-button:before {
    content: "‹";
    padding-right: 16px;
    padding-bottom: 0.3em; }

input[type="text"],
input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="week"] {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  padding: 12px 20px;
  border: 1px solid #ffffff;
  border-radius: 10px 0px; }
  input[type="text"]:focus,
  input[type="date"]:focus,
  input[type="datetime-local"]:focus,
  input[type="email"]:focus,
  input[type="month"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="tel"]:focus,
  input[type="time"]:focus,
  input[type="url"]:focus,
  input[type="week"]:focus {
    border: 1px solid #4b2af4; }

input[type="search"] {
  background: center right 20px url(../img/search.svg) no-repeat;
  background-size: 24px; }
  input[type="search"]:-moz-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  input[type="search"]::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  input[type="search"]:-ms-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }
  input[type="search"]::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.5); }

label {
  display: block;
  font-size: 1.25rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 1em;
  font-weight: 600;
  margin-bottom: 0.75rem; }
  @media only screen and (max-width: 1000px) {
    label {
      font-size: 1rem; } }

.form:before, .form:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.form:after {
  clear: both; }

input::-ms-clear,
select::-ms-clear {
  display: none; }

.nf-form-content .list-select-wrap .nf-field-element > div,
.nf-form-content input:not([type="button"], [type="submit"]),
.nf-form-content textarea,
.nf-form-content select {
  border-radius: 8px 0 !important;
  border: 0 !important; }

/**
 * NF Styles
 */
.nf-before-form-content {
  display: none; }

.nf-form-title h1,
.nf-form-title h2,
.nf-form-title h3,
.nf-form-title h4,
.nf-form-title h5,
.nf-form-title h6 {
  margin-bottom: 20px;
  max-width: calc(100% - 70px); }

.field {
  margin-bottom: 2rem; }
  .field__checkbox {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    gap: 16px; }
    .field__checkbox input[type="checkbox"] {
      width: 20px;
      height: 20px;
      border-radius: 4px;
      border: 1px solid #130329;
      cursor: pointer;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      margin-top: 3px;
      position: relative; }
      .field__checkbox input[type="checkbox"]:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 20px;
        height: 20px;
        border-radius: 3px;
        display: block;
        background: #6703fc;
        opacity: 0;
        transition: all 0.2s ease-in; }
      .field__checkbox input[type="checkbox"]:focus {
        border: 1px solid #4b2af4; }
      .field__checkbox input[type="checkbox"]:checked:after {
        opacity: 1;
        width: 12px;
        height: 12px; }
    .field__checkbox label {
      font-size: 1.25rem;
      font-family: "elza-text";
      font-weight: 400;
      line-height: 150%;
      margin-bottom: 1em;
      font-size: 1rem;
      margin-bottom: 0;
      cursor: pointer; }
      @media only screen and (max-width: 1000px) {
        .field__checkbox label {
          font-size: 1rem; } }

@media only screen and (max-width: 1000px) {
  .nf-form-cont .nf-form-content label {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-size: 1rem;
    margin-bottom: 0;
    font-weight: 600; } }
  @media only screen and (max-width: 1000px) and (max-width: 1000px) {
    .nf-form-cont .nf-form-content label {
      font-size: 1rem; } }

.nf-response-msg {
  color: #6cead3; }

.nf-form-wrap
.nf-form-layout
.nf-form-content
.nf-field-container:not(.submit-container)
.nf-field
.nf-field-element input:not(
[type="radio"],
[type="checkbox"],
[type="button"],
[type="submit"]
),
.nf-form-wrap
.nf-form-layout
.nf-form-content
.nf-field-container:not(.submit-container)
.nf-field
.nf-field-element select,
.nf-form-wrap
.nf-form-layout
.nf-form-content
.nf-field-container:not(.submit-container)
.nf-field
.nf-field-element textarea {
  border-radius: 8px 0;
  border-color: white; }

.nf-error.field-wrap .nf-field-element:after {
  border-bottom-right-radius: 5px; }

.nf-form-cont {
  padding-block: 50px 0; }
  .nf-form-cont .nf-form-content input[type="submit"] {
    font-size: 1.625rem;
    font-family: "elza-text";
    font-weight: 700;
    letter-spacing: 120%;
    padding: 0px 87px 0px 0px;
    background: center right 10px url(../img/arrow--violet-light.svg) no-repeat, transparent;
    background-size: 52px 22px;
    transition: all 0.15s ease-out;
    cursor: pointer; }
    @media only screen and (max-width: 1000px) {
      .nf-form-cont .nf-form-content input[type="submit"] {
        font-size: 1.2rem; } }
    .nf-form-cont .nf-form-content input[type="submit"]:is(:hover, :active) {
      text-decoration: none;
      background: center right url(../img/arrow--violet-light.svg) no-repeat, transparent;
      padding: 0px 82px 0px 5px;
      background-size: 52px 22px;
      color: #baaef9; }

.submit-wrap .nf-field-element {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center; }

.loading {
  display: none; }

.is-loading .js-sign-submit {
  display: none; }

.is-loading .loading {
  display: inline-block;
  width: 80px;
  height: 80px; }
  .is-loading .loading:after {
    content: " ";
    display: block;
    width: 64px;
    height: 64px;
    margin: 8px;
    border-radius: 50%;
    border: 6px solid #4b2af4;
    border-color: #4b2af4 transparent #4b2af4 transparent;
    animation: loading 1.2s linear infinite; }

.pt-checkout-form {
  border: 0;
  padding: 0;
  width: auto; }
  .pt-checkout-form .pt-form-group-field-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid #130329;
    cursor: pointer;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 3px;
    position: relative; }
    .pt-checkout-form .pt-form-group-field-checkbox input[type="checkbox"]:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 20px;
      height: 20px;
      border-radius: 3px;
      display: block;
      background: #6703fc;
      opacity: 0;
      transition: all 0.2s ease-in; }
    .pt-checkout-form .pt-form-group-field-checkbox input[type="checkbox"]:focus {
      border: 1px solid #4b2af4; }
    .pt-checkout-form .pt-form-group-field-checkbox input[type="checkbox"]:checked:after {
      opacity: 1;
      width: 12px;
      height: 12px; }
  .pt-checkout-form .pt-form-group-field-checkbox label {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-size: 1rem;
    margin-bottom: 0;
    cursor: pointer; }
    @media only screen and (max-width: 1000px) {
      .pt-checkout-form .pt-form-group-field-checkbox label {
        font-size: 1rem; } }
  .pt-checkout-form .cta__container button.pt-payment-btn {
    background-color: transparent;
    color: #130329;
    text-transform: none; }

.card a {
  position: relative;
  height: 420px;
  border-radius: 15px 0px;
  overflow: hidden;
  display: block;
  padding: 30px;
  color: #130329;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -ms-flex-direction: column;
      flex-direction: column;
  background: bottom 26px right 26px url("/wp-content/themes/datacompliance/library/img/plus.svg") no-repeat, linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%);
  margin: 0 0 10px 0;
  transition: 0.2s margin ease-in; }
  @media only screen and (max-width: 1200px) {
    .card a {
      height: 340px;
      padding: 25px;
      background: #ffffff;
      margin: 0; } }
  .card a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #ffffff;
    top: 0;
    left: 0;
    transition: 0.2s background ease-in;
    pointer-events: none; }
  @media only screen and (max-width: 1200px) {
    .card a:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, transparent 50%, white 100%);
      top: 0;
      left: 0;
      z-index: 2;
      pointer-events: none; } }
  .card a > * {
    position: relative;
    z-index: 1; }
  .card a:is(:hover, :active) {
    text-decoration: none;
    color: #ffffff;
    text-decoration: none;
    margin: 10px 0 0 0; }
    .card a:is(:hover, :active) .card__title {
      -webkit-text-fill-color: #ffffff; }
      @media only screen and (max-width: 1200px) {
        .card a:is(:hover, :active) .card__title {
          -webkit-text-fill-color: #4b2af4; } }
    .card a:is(:hover, :active):after {
      background: transparent; }
    @media only screen and (max-width: 1200px) {
      .card a:is(:hover, :active) {
        margin: 0;
        color: #130329; } }

.card__title {
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 100%;
  margin-bottom: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  transition: 0.2s all ease-in; }
  @media only screen and (max-width: 1200px) {
    .card__title {
      font-size: 1.5rem; } }

.card__postdate, .card__excerpt {
  margin-bottom: 0; }

.card__postdate {
  font-weight: 600; }

.block-image-text {
  background: #2f2f2f;
  padding-block: 80px 120px; }
  @media only screen and (max-width: 1200px) {
    .block-image-text {
      padding-block: 0 50px; } }
  .block-image-text .container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 500px 1fr 1fr;
        grid-template-columns: 500px 1fr 1fr;
    width: 100%; }
    @media only screen and (max-width: 1200px) {
      .block-image-text .container {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        padding: 0; } }
  .block-image-text__content {
    margin-right: 20px; }
    @media only screen and (max-width: 1200px) {
      .block-image-text__content {
        padding: 40px 20px;
        margin-right: 0; } }
  .block-image-text__title {
    font-size: 2.25rem;
    font-family: "elza-text";
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 1em;
    font-weight: 500; }
    @media only screen and (max-width: 1000px) {
      .block-image-text__title {
        font-size: 1.75rem; } }
  .block-image-text__paragraph {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    margin-bottom: 0; }
    @media only screen and (max-width: 1000px) {
      .block-image-text__paragraph {
        font-size: 1rem; } }
  .block-image-text__link {
    -ms-flex-item-align: end;
        align-self: flex-end; }
    @media only screen and (max-width: 1200px) {
      .block-image-text__link {
        margin-inline: 20px; } }
  .block-image-text__image {
    aspect-ratio: 1/1;
    overflow: hidden;
    margin: 0;
    width: 500px;
    height: calc(100% + 120px);
    position: relative;
    top: -120px;
    left: -4vw;
    margin-bottom: -160px; }
    .block-image-text__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    @media only screen and (max-width: 1200px) {
      .block-image-text__image {
        width: 100%;
        height: 300px;
        position: static;
        margin-bottom: 0; } }
  .block-image-text.align-right {
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92)), linear-gradient(0deg, rgba(98, 64, 244, 0.7), rgba(98, 64, 244, 0.7)), top url(../img/abstract-bg.jpg) no-repeat;
    background-size: cover;
    color: #130329; }
    .block-image-text.align-right .container {
      -ms-grid-columns: 1fr 1fr;
          grid-template-columns: 1fr 1fr;
      grid-gap: 50px 70px; }
      @media only screen and (max-width: 1200px) {
        .block-image-text.align-right .container {
          grid-gap: 0; } }
    .block-image-text.align-right .block-image-text__content {
      grid-row: 1 / 2; }
    .block-image-text.align-right .block-image-text__link {
      -ms-flex-pack: start;
          justify-content: flex-start;
      grid-row: 2 / 3; }
    .block-image-text.align-right .block-image-text__image {
      left: auto;
      grid-row: 1 / 3;
      grid-column: 2 / 3;
      width: 100%;
      aspect-ratio: unset; }

.block-contact {
  position: relative;
  padding-block: 50px; }
  .block-contact__image {
    overflow: hidden;
    margin: 0;
    width: 100vw;
    height: 600px;
    position: absolute;
    top: 0; }
    .block-contact__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    @media only screen and (max-width: 1000px) {
      .block-contact__image {
        width: 100vw;
        height: 300px; } }
    .block-contact__image img {
      object-position: right; }
      @media only screen and (max-width: 1000px) {
        .block-contact__image img {
          object-position: center; } }
  .block-contact .container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    z-index: 1;
    position: relative; }
  .block-contact__content {
    width: clamp(300px, 100%, 1080px);
    border: 2px solid #ffffff;
    border-radius: 20px 0px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: end;
        align-items: flex-end;
    padding: 600px 70px 40px;
    z-index: 1; }
    @media only screen and (max-width: 1000px) {
      .block-contact__content {
        padding: 280px 20px 40px; } }
  .block-contact__paragraph {
    font-size: 2.25rem;
    font-family: "elza-text";
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 1em;
    font-weight: 500;
    margin-bottom: 1.5em; }
    @media only screen and (max-width: 1000px) {
      .block-contact__paragraph {
        font-size: 1.75rem; } }
  .block-contact .rotating-logo {
    width: 405px;
    height: 405px;
    opacity: 0.25;
    position: absolute;
    left: -30px;
    bottom: 20px; }
    @media only screen and (max-width: 1000px) {
      .block-contact .rotating-logo {
        width: 150px;
        height: 150px;
        right: -30px;
        bottom: 10px; } }

.service-link {
  position: relative;
  width: 250px;
  height: 180px;
  overflow: hidden;
  transition: 0.2s all ease-out; }
  @media only screen and (max-width: 450px) {
    .service-link {
      justify-self: center; } }
  .service-link__image {
    width: 501px;
    height: 425px;
    pointer-events: none;
    position: absolute;
    bottom: -270px;
    left: -322px;
    object-fit: cover;
    transition: 0.2s all ease-out; }
  .service-link:is(:hover, :active) {
    text-shadow: 0px 0px 10px #000000; }
    .service-link:is(:hover, :active) a {
      text-decoration: none; }
  .service-link a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end;
    width: 100%;
    height: 100%; }
  .service-link__title {
    position: relative;
    z-index: 2;
    font-size: 1.75rem;
    font-family: "elza-text";
    font-weight: 400;
    letter-spacing: 120%;
    padding-left: 20px; }
    @media only screen and (max-width: 1000px) {
      .service-link__title {
        font-size: 1.4rem; } }
  .service-link svg {
    width: 250px;
    height: 180px;
    position: absolute;
    top: 0;
    left: 0; }
    .service-link svg mask {
      fill-opacity: 0.4;
      transition: 0.3s;
      transition-delay: 0.4s; }
  .service-link:hover svg .img-1 g {
    animation: animService 0.6s cubic-bezier(0.68, 0, 0.265, 1); }
  .service-link:hover svg .img-2 g {
    animation: animService 0.5s cubic-bezier(0.68, 0, 0.265, 1) 0.15s; }
  .service-link:hover svg .img-3 g {
    animation: animService 0.45s cubic-bezier(0.68, 0, 0.265, 1) 0.3s; }
  .service-link:hover svg mask {
    fill-opacity: 0.8; }

.boxed-link {
  width: 100%;
  z-index: 1; }
  .boxed-link__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 15px;
    position: relative; }
    .boxed-link__list:after {
      content: "Aucun article de loi trouvé";
      text-align: center;
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
    @media only screen and (max-width: 1200px) {
      .boxed-link__list {
        padding-bottom: 80px; } }
  .boxed-link__title {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-weight: 600;
    margin-bottom: 0; }
    @media only screen and (max-width: 1000px) {
      .boxed-link__title {
        font-size: 1rem; } }
  .boxed-link__category {
    font-size: 0.75rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    transition: color 0.15s ease-in-out;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 5px; }
    .boxed-link__category:is(:hover, :active) {
      color: #c8a5fd; }
    .boxed-link__category:hover {
      color: inherit; }
  .boxed-link > a {
    display: block;
    width: 100%;
    height: 100%;
    background: #2f2f2f;
    border-radius: 15px 0 15px 0;
    padding: 20px 90px 20px 25px;
    margin: 0 0 3px 0;
    transition: 0.16s all ease-in;
    position: relative; }
    .boxed-link > a:after {
      content: "";
      display: block;
      width: 24px;
      height: 24px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 25px;
      background: center url(../img/plus-blue.svg) no-repeat;
      background-size: contain;
      opacity: 0;
      transition: 0.2s all ease-in; }
    .boxed-link > a:hover {
      text-decoration: none;
      margin: 3px 0 0 0;
      background: #464646; }
      .boxed-link > a:hover:after {
        opacity: 1; }
  .boxed-link.small > a {
    padding-block: 10px; }
    .boxed-link.small > a:after {
      width: 14px;
      height: 14px; }
  .boxed-link.small .boxed-link__title {
    font-size: 1rem; }

.rotating-logo {
  width: 100%;
  height: 100%;
  position: absolute;
  width: 300px;
  height: 300px; }
  .rotating-logo + .container {
    position: relative;
    z-index: 1; }

.rotating-logo--arch__large {
  animation: rotate 60s linear infinite reverse;
  transform-origin: center; }

.rotating-logo--arch__mid {
  animation: rotate 50s linear infinite;
  transform-origin: center; }

.rotating-logo--arch__small {
  animation: rotate 20s linear infinite;
  transform-origin: center; }

@keyframes rotate {
  to {
    transform: rotate(360deg); } }

.white-box {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92)), linear-gradient(0deg, rgba(98, 64, 244, 0.7), rgba(98, 64, 244, 0.7)), top url(../img/abstract-bg.jpg) no-repeat;
  background-size: cover;
  color: #130329;
  border-radius: 20px 0px;
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: relative;
  transition: 0.3s all; }
  .white-box__image {
    margin-bottom: 0;
    height: 300px;
    width: 100%;
    overflow: hidden;
    margin: 0; }
    .white-box__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
  .white-box__default-image {
    height: 300px;
    background: center bottom -30px url(../img/user.svg) no-repeat, #2f2f2f;
    background-size: 200px 200px; }
  .white-box__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 30px;
    padding: 30px; }
  .white-box__title {
    font-size: 1.75rem;
    font-family: "elza-text";
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 1em;
    font-weight: 500;
    font-weight: 600;
    margin-bottom: 0; }
    @media only screen and (max-width: 1000px) {
      .white-box__title {
        font-size: 1.25rem; } }
  .white-box__subtitle {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-size: 1rem;
    color: #130329;
    opacity: 0.7;
    margin-block: -0.2em 0.5em; }
    @media only screen and (max-width: 1000px) {
      .white-box__subtitle {
        font-size: 1rem; } }
  .white-box__text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    /* number of lines to show */
    line-clamp: 5;
    word-break: break-word;
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-size: 1rem;
    margin-bottom: 0; }
    @media only screen and (max-width: 1000px) {
      .white-box__text {
        font-size: 1rem; } }
    .white-box__text * {
      margin-bottom: 1em;
      font-size: 1.25rem;
      font-family: "elza-text";
      font-weight: 400;
      line-height: 150%;
      margin-bottom: 1em;
      font-size: 1rem; }
      @media only screen and (max-width: 1000px) {
        .white-box__text * {
          font-size: 1rem; } }
  .white-box a {
    color: #4b2af4; }
  .white-box .cta__container {
    padding: 0; }
  .white-box .social-links {
    position: absolute;
    bottom: 30px;
    right: 30px; }
  .white-box .facebook {
    background: center url(../img/facebook--black.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .white-box .facebook:is(:hover, :active) {
      background: center url(../img/facebook--violet.svg) no-repeat;
      background-size: contain; }
  .white-box .twitter {
    background: center url(../img/twitter--black.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .white-box .twitter:is(:hover, :active) {
      background: center url(../img/twitter--violet.svg) no-repeat;
      background-size: contain; }
  .white-box .linkedin {
    background: center url(../img/linkedin--black.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .white-box .linkedin:is(:hover, :active) {
      background: center url(../img/linkedin--violet.svg) no-repeat;
      background-size: contain; }
  .white-box .instagram {
    background: center url(../img/instagram--black.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .white-box .instagram:is(:hover, :active) {
      background: center url(../img/instagram--violet.svg) no-repeat;
      background-size: contain; }

.social-links {
  gap: 30px; }
  .social-links__item {
    cursor: pointer; }
    .social-links__item a {
      display: block;
      width: 100%;
      height: 100%; }

.facebook {
  background: center url(../img/facebook--white.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  font-size: 0;
  display: block;
  transition: background 0.16s ease-in; }
  .facebook:is(:hover, :active) {
    background: center url(../img/facebook--violet.svg) no-repeat;
    background-size: contain; }

.twitter {
  background: center url(../img/twitter--white.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  font-size: 0;
  display: block;
  transition: background 0.16s ease-in; }
  .twitter:is(:hover, :active) {
    background: center url(../img/twitter--violet.svg) no-repeat;
    background-size: contain; }

.linkedin {
  background: center url(../img/linkedin--white.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  font-size: 0;
  display: block;
  transition: background 0.16s ease-in; }
  .linkedin:is(:hover, :active) {
    background: center url(../img/linkedin--violet.svg) no-repeat;
    background-size: contain; }

.instagram {
  background: center url(../img/instagram--white.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  font-size: 0;
  display: block;
  transition: background 0.16s ease-in; }
  .instagram:is(:hover, :active) {
    background: center url(../img/instagram--violet.svg) no-repeat;
    background-size: contain; }

.lightbox {
  display: none;
  position: fixed;
  z-index: 100000; }
  .lightbox__overlay {
    background-color: #181818;
    opacity: 0.9;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: none; }
    .lightbox__overlay__inside {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: -1; }
  .lightbox .btn--close {
    position: absolute;
    z-index: 100;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    border-radius: 6px 0;
    transform: translate(50%, -50%);
    background: center url(../img/close.svg) no-repeat, #4b2af4;
    background-size: 18px;
    cursor: pointer; }

.lightbox {
  width: 700px;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 30px 0;
  padding: 50px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  @media only screen and (max-width: 1000px) {
    .lightbox {
      width: 90%;
      height: -moz-fit-content;
      height: fit-content;
      padding: 20px; } }
  .lightbox__scroll {
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    max-height: 90vh; }
    @media only screen and (max-width: 1200px) {
      .lightbox__scroll {
        max-height: 80vh; } }
  .lightbox--collaborateur {
    width: 1000px;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92)), linear-gradient(0deg, rgba(98, 64, 244, 0.7), rgba(98, 64, 244, 0.7)), top url(../img/abstract-bg.jpg) no-repeat;
    background-size: cover;
    color: #130329; }
    @media only screen and (max-width: 1000px) {
      .lightbox--collaborateur {
        width: 90%;
        height: -moz-fit-content;
        height: fit-content;
        padding: 20px; } }
    .lightbox--collaborateur .lightbox__content {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 300px 1fr;
          grid-template-columns: 300px 1fr;
      gap: 50px; }
      @media only screen and (max-width: 1000px) {
        .lightbox--collaborateur .lightbox__content {
          -ms-grid-columns: 1fr;
              grid-template-columns: 1fr;
          gap: 0; } }
    .lightbox--collaborateur a {
      color: #4b2af4; }
    .lightbox--collaborateur__image {
      margin-bottom: 0;
      height: 300px;
      width: 100%;
      overflow: hidden;
      margin: 0;
      border-radius: 20px 0; }
      .lightbox--collaborateur__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block; }
      @media only screen and (max-width: 1000px) {
        .lightbox--collaborateur__image {
          height: 200px; } }
    .lightbox--collaborateur__default-image {
      height: 300px;
      background: center bottom -30px url(../img/user.svg) no-repeat, #2f2f2f;
      background-size: 200px 200px;
      border-radius: 20px 0; }
    .lightbox--collaborateur__content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      gap: 10px; }
    .lightbox--collaborateur__title {
      font-size: 1.75rem;
      font-family: "elza-text";
      font-weight: 600;
      line-height: 120%;
      margin-bottom: 1em;
      font-weight: 500;
      font-weight: 600;
      margin-bottom: 0; }
      @media only screen and (max-width: 1000px) {
        .lightbox--collaborateur__title {
          font-size: 1.25rem; } }
    .lightbox--collaborateur__subtitle {
      font-size: 1.25rem;
      font-family: "elza-text";
      font-weight: 400;
      line-height: 150%;
      margin-bottom: 1em;
      font-size: 1rem;
      color: #130329;
      opacity: 0.7;
      margin-block: -0.2em 0.5em; }
      @media only screen and (max-width: 1000px) {
        .lightbox--collaborateur__subtitle {
          font-size: 1rem; } }
    .lightbox--collaborateur__text {
      font-size: 1.25rem;
      font-family: "elza-text";
      font-weight: 400;
      line-height: 150%;
      margin-bottom: 1em;
      font-size: 1rem;
      margin-bottom: 0; }
      @media only screen and (max-width: 1000px) {
        .lightbox--collaborateur__text {
          font-size: 1rem; } }
      .lightbox--collaborateur__text * {
        margin-bottom: 1em;
        font-size: 1.25rem;
        font-family: "elza-text";
        font-weight: 400;
        line-height: 150%;
        margin-bottom: 1em;
        font-size: 1rem; }
        @media only screen and (max-width: 1000px) {
          .lightbox--collaborateur__text * {
            font-size: 1rem; } }
      .lightbox--collaborateur__text b,
      .lightbox--collaborateur__text strong {
        font-weight: 600 !important; }
        .lightbox--collaborateur__text b *,
        .lightbox--collaborateur__text strong * {
          font-weight: 600 !important; }
      .lightbox--collaborateur__text i,
      .lightbox--collaborateur__text em {
        font-style: italic !important; }
        .lightbox--collaborateur__text i *,
        .lightbox--collaborateur__text em * {
          font-style: italic !important; }
    .lightbox--collaborateur__languages {
      font-size: 1.25rem;
      font-family: "elza-text";
      font-weight: 400;
      line-height: 150%;
      margin-bottom: 1em;
      font-size: 1rem;
      font-weight: 600; }
      @media only screen and (max-width: 1000px) {
        .lightbox--collaborateur__languages {
          font-size: 1rem; } }
    .lightbox--collaborateur .social-links {
      -ms-flex-pack: end;
          justify-content: flex-end; }
    .lightbox--collaborateur .facebook {
      background: center url(../img/facebook--black.svg) no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
      font-size: 0;
      display: block;
      transition: background 0.16s ease-in; }
      .lightbox--collaborateur .facebook:is(:hover, :active) {
        background: center url(../img/facebook--violet.svg) no-repeat;
        background-size: contain; }
    .lightbox--collaborateur .twitter {
      background: center url(../img/twitter--black.svg) no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
      font-size: 0;
      display: block;
      transition: background 0.16s ease-in; }
      .lightbox--collaborateur .twitter:is(:hover, :active) {
        background: center url(../img/twitter--violet.svg) no-repeat;
        background-size: contain; }
    .lightbox--collaborateur .linkedin {
      background: center url(../img/linkedin--black.svg) no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
      font-size: 0;
      display: block;
      transition: background 0.16s ease-in; }
      .lightbox--collaborateur .linkedin:is(:hover, :active) {
        background: center url(../img/linkedin--violet.svg) no-repeat;
        background-size: contain; }
    .lightbox--collaborateur .instagram {
      background: center url(../img/instagram--black.svg) no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
      font-size: 0;
      display: block;
      transition: background 0.16s ease-in; }
      .lightbox--collaborateur .instagram:is(:hover, :active) {
        background: center url(../img/instagram--violet.svg) no-repeat;
        background-size: contain; }
  .lightbox--login {
    background: #ffffff;
    color: #130329;
    padding: 0; }
    .lightbox--login .lightbox__content {
      padding: 70px 70px 100px; }
      @media only screen and (max-width: 1000px) {
        .lightbox--login .lightbox__content {
          padding: 40px 20px; } }
    .lightbox--login input[type="text"],
    .lightbox--login input[type="password"],
    .lightbox--login input[type="email"] {
      border-color: #130329; }
      .lightbox--login input[type="text"]:focus,
      .lightbox--login input[type="password"]:focus,
      .lightbox--login input[type="email"]:focus {
        border-color: #4b2af4; }

.js-open-lightbox {
  cursor: pointer; }

.block-packages {
  background: 40% 100px url(../img/lines-bg.svg) no-repeat;
  background-size: 220%;
  padding-top: 120px;
  padding-bottom: 100px; }
  @media only screen and (max-width: 1200px) {
    .block-packages {
      padding-top: 70px;
      padding-bottom: 70px; } }
  .block-packages__title {
    text-align: center; }
  .block-packages .cta__container {
    -ms-flex-pack: center;
        justify-content: center; }

.packages {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  grid-gap: 30px;
  padding-block: 40px 60px; }
  @media only screen and (max-width: 1000px) {
    .packages {
      -ms-grid-columns: (1fr)[calc];
          grid-template-columns: repeat(calc(3 - 1), 1fr); } }
  @media only screen and (max-width: 650px) {
    .packages {
      -ms-grid-columns: (1fr)[calc];
          grid-template-columns: repeat(calc(3 - 2), 1fr); } }
  @media only screen and (max-width: 450px) {
    .packages {
      -ms-grid-columns: (1fr)[1];
          grid-template-columns: repeat(1, 1fr); } }
  @media only screen and (max-width: 1200px) {
    .packages {
      padding-block: 30px 0; } }
  .packages__item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    background: #181818;
    transition: 0.25s transform ease-out;
    min-height: 500px; }
    @media only screen and (max-width: 1200px) {
      .packages__item {
        min-height: 0; } }
    .packages__item--title {
      font-size: 3rem;
      font-family: "elza-text";
      font-weight: 600;
      line-height: 120%;
      margin-bottom: 1em;
      padding-left: 10px;
      margin-bottom: 8px; }
      @media only screen and (max-width: 1000px) {
        .packages__item--title {
          font-size: 2rem; } }
    .packages__item--points {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-positive: 1;
          flex-grow: 1;
      padding: 40px;
      border: 2px solid #ffffff;
      border-radius: 20px 0px; }
      .packages__item--points--item {
        font-size: 1.25rem;
        font-family: "elza-text";
        font-weight: 400;
        line-height: 150%;
        margin-bottom: 1em;
        font-size: 1rem;
        display: -ms-flexbox;
        display: flex;
        gap: 14px; }
        @media only screen and (max-width: 1000px) {
          .packages__item--points--item {
            font-size: 1rem; } }
        .packages__item--points--item:before {
          content: "";
          -ms-flex-negative: 0;
              flex-shrink: 0;
          display: block;
          width: 15px;
          height: 15px;
          background: center url(../img/check--white.svg) no-repeat;
          background-size: contain;
          margin-block: 4px; }
        .packages__item--points--item.strong {
          font-size: 1.25rem;
          font-family: "elza-text";
          font-weight: 400;
          line-height: 150%;
          margin-bottom: 1em;
          line-height: 1.2;
          font-weight: 600; }
          @media only screen and (max-width: 1000px) {
            .packages__item--points--item.strong {
              font-size: 1rem; } }
          .packages__item--points--item.strong:before {
            background: center url(../img/check--white-bold.svg) no-repeat;
            background-size: contain;
            margin-block: 6px; }
    .packages__item:not(:first-child, :last-child) .packages__item--points {
      color: #6cead3;
      border-color: #6cead3; }
      .packages__item:not(:first-child, :last-child) .packages__item--points--item:before {
        background: center url(../img/check--green.svg) no-repeat;
        background-size: contain; }
      .packages__item:not(:first-child, :last-child) .packages__item--points--item.strong:before {
        background: center url(../img/check--green-bold.svg) no-repeat;
        background-size: contain; }
    .packages__item:last-child .packages__item--title {
      color: #6cead3; }
    .packages__item:last-child .packages__item--points {
      color: white;
      background: #12826e;
      border-color: #6cead3; }
    .packages__item:hover {
      transform: scale(1.02); }

.block-comparaison {
  margin-block: 80px; }
  @media only screen and (max-width: 1200px) {
    .block-comparaison {
      margin-block: 40px; } }
  .block-comparaison__paragraph {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    max-width: 1100px; }
    @media only screen and (max-width: 1000px) {
      .block-comparaison__paragraph {
        font-size: 1rem; } }
  .block-comparaison__table {
    margin-block: 60px; }
    @media only screen and (max-width: 1200px) {
      .block-comparaison__table {
        font-size: 14px; } }
    .block-comparaison__table tr {
      border-top: 1px solid rgba(255, 255, 255, 0.2); }
      .block-comparaison__table tr th {
        font-weight: 600; }
      .block-comparaison__table tr :is(th, td) {
        padding-block: 20px;
        padding-right: 20px; }
        @media only screen and (max-width: 1200px) {
          .block-comparaison__table tr :is(th, td) {
            padding-right: 10px; } }
        .block-comparaison__table tr :is(th, td):first-child {
          width: 200px;
          font-weight: 600; }
          @media only screen and (max-width: 1200px) {
            .block-comparaison__table tr :is(th, td):first-child {
              width: 100px; } }
          @media only screen and (max-width: 650px) {
            .block-comparaison__table tr :is(th, td):first-child {
              width: 70px; } }
        .block-comparaison__table tr :is(th, td):nth-child(3) {
          color: #6cead3; }
          @media only screen and (max-width: 1200px) {
            .block-comparaison__table tr :is(th, td):nth-child(3) {
              padding-right: 0;
              padding-left: 10px; } }

.signin {
  font-size: 0.75rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  transition: color 0.15s ease-in-out;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-align: center;
      align-items: center;
  opacity: 0;
  transition: all 0.3s ease; }
  .signin:is(:hover, :active) {
    color: #c8a5fd; }
  .signin:before {
    content: "";
    width: 11px;
    height: 11px;
    display: block;
    background: center url(../img/user.svg) no-repeat;
    background-size: contain; }

.topMenu .signin {
  opacity: 1; }

.lightbox--login .cta {
  cursor: pointer; }

.sign__infobox {
  color: #ffffff;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%);
  border-radius: 20px 0px;
  padding: 25px 50px;
  margin-block: 30px 60px; }
  .sign__infobox--title {
    font-weight: 400;
    font-size: 20px; }

.sign .field__checkbox {
  margin-bottom: 0;
  position: relative;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 0; }

.sign .form__errors {
  text-align: center;
  color: red;
  margin-top: 30px; }

.sign a {
  color: #4b2af4; }
  .sign a.sign__forgot_link {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-size: 1rem;
    display: block;
    text-align: right;
    margin-bottom: 20px;
    text-decoration: underline;
    color: #130329;
    position: relative;
    top: -1.5em;
    color: #130329; }
    @media only screen and (max-width: 1000px) {
      .sign a.sign__forgot_link {
        font-size: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .sign a.sign__forgot_link {
        position: static;
        margin-top: 30px;
        text-align: center;
        font-size: 14px; } }

.tabs {
  position: relative; }
  .tabs__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    margin-bottom: 40px; }
    .tabs__list button {
      font-size: 1.625rem;
      font-family: "elza-text";
      font-weight: 700;
      letter-spacing: 120%;
      cursor: pointer;
      padding-bottom: 10px; }
      @media only screen and (max-width: 1000px) {
        .tabs__list button {
          font-size: 1.2rem; } }
      .tabs__list button.active {
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent; }
  .tabs #tabsListLine {
    position: absolute;
    display: block;
    height: 2px;
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%);
    transition: all 0.3s ease; }
  .tabs__part {
    display: none; }
    .tabs__part.active {
      display: block; }

#forgot_password .wysiwyg {
  margin-bottom: 20px; }

#paytium-success {
  position: fixed;
  z-index: 1000;
  top: 120px;
  max-width: 1400px;
  width: 70%;
  left: 50%;
  transform: translateX(-50%);
  padding: 30px; }
  @media only screen and (max-width: 1000px) {
    #paytium-success {
      width: 100%;
      left: 20px;
      transform: none; } }

.paytium-success-close {
  width: 25px;
  height: 25px;
  font-size: 0;
  display: block;
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer; }
  .paytium-success-close svg {
    width: 100%;
    height: 100%;
    display: block; }

/**
 * Html
 */
html {
  font-size: 100%; }

/**
 * Body
 */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  line-height: 1.5;
  font-family: "elza-text", Helvetica, Arial, sans-serif;
  font-weight: normal;
  color: #ffffff;
  margin-bottom: 0em;
  word-wrap: break-word;
  overflow-x: hidden;
  background: #181818;
  position: relative; }
  body .center {
    max-width: 1440pxpx;
    padding-inline: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    min-height: 100%;
    margin: 0 auto;
    padding: 0 20px; }
    @media only screen and (max-width: 600) {
      body .center {
        width: 90%; } }
  body.no-scroll {
    overflow: hidden; }

/**
 * Link
 */
a {
  text-decoration: none;
  color: #ffffff; }
  a:hover {
    text-decoration: underline; }

/**
 * Images
 */
img,
video {
  display: block;
  max-width: 100%; }

/**
 * Title
 */
h1 {
  font-size: 3rem;
  font-family: "elza-text";
  font-weight: 600;
  line-height: 120%;
  margin-bottom: 1em; }
  @media only screen and (max-width: 1000px) {
    h1 {
      font-size: 2rem; } }

h2 {
  font-size: 2.25rem;
  font-family: "elza-text";
  font-weight: 600;
  line-height: 120%;
  margin-bottom: 1em; }
  @media only screen and (max-width: 1000px) {
    h2 {
      font-size: 1.75rem; } }

h3 {
  font-size: 1.75rem;
  font-family: "elza-text";
  font-weight: 600;
  line-height: 120%;
  margin-bottom: 1em; }
  @media only screen and (max-width: 1000px) {
    h3 {
      font-size: 1.25rem; } }

video {
  display: block; }

::-moz-selection {
  background: #6703fc;
  color: #ffffff; }

::selection {
  background: #6703fc;
  color: #ffffff; }

::-moz-selection {
  background: #6703fc;
  color: #ffffff; }

b,
strong {
  font-weight: 600; }

hr {
  width: 100%;
  height: 1px;
  margin-block: 70px;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%); }
  @media only screen and (max-width: 1200px) {
    hr {
      margin-block: 40px; } }

.container {
  max-width: 1440px;
  padding-inline: 20px;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .container__small {
    max-width: 900px;
    padding-inline: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  @media only screen and (max-width: 1000px) {
    .container .container__small {
      padding: 0; } }

.flex {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  gap: 20px; }

.grid-4-cols {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
      grid-template-columns: repeat(4, 1fr);
  gap: 20px; }
  @media only screen and (max-width: 1000px) {
    .grid-4-cols {
      -ms-grid-columns: (1fr)[calc];
          grid-template-columns: repeat(calc(4 - 1), 1fr); } }
  @media only screen and (max-width: 650px) {
    .grid-4-cols {
      -ms-grid-columns: (1fr)[calc];
          grid-template-columns: repeat(calc(4 - 2), 1fr); } }
  @media only screen and (max-width: 450px) {
    .grid-4-cols {
      -ms-grid-columns: (1fr)[1];
          grid-template-columns: repeat(1, 1fr); } }

.grid-3-cols {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
  gap: 20px; }
  @media only screen and (max-width: 1000px) {
    .grid-3-cols {
      -ms-grid-columns: (1fr)[calc];
          grid-template-columns: repeat(calc(3 - 1), 1fr); } }
  @media only screen and (max-width: 650px) {
    .grid-3-cols {
      -ms-grid-columns: (1fr)[calc];
          grid-template-columns: repeat(calc(3 - 2), 1fr); } }
  @media only screen and (max-width: 450px) {
    .grid-3-cols {
      -ms-grid-columns: (1fr)[1];
          grid-template-columns: repeat(1, 1fr); } }

.hidden-text,
.hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.slider__container {
  padding-left: calc(50vw - 700px);
  margin-bottom: 100px; }
  @media only screen and (max-width: 1440px) {
    .slider__container {
      padding-left: 20px;
      margin-bottom: 40px; } }

.menu {
  margin: 0;
  padding: 0;
  list-style: none; }
  .menu ul,
  .menu ol {
    margin: 0;
    padding: 0;
    list-style: none; }
  .menu a {
    text-decoration: none; }

.content:not(#home) {
  background: 40% 500px url(../img/lines-bg.svg) no-repeat;
  background-size: 220%;
  padding-bottom: 170px;
  min-height: 80vh; }
  @media only screen and (max-width: 1200px) {
    .content:not(#home) {
      padding-bottom: 70px; } }

.boxed-content {
  padding: 70px;
  border-radius: 30px 0px;
  background: #2f2f2f; }
  @media only screen and (max-width: 1200px) {
    .boxed-content {
      padding: 0;
      background: none; } }
  .boxed-content .cta__container {
    -ms-flex-pack: end;
        justify-content: flex-end; }

#contact,
#news,
#formation {
  background: 40% -50px url(../img/lines-bg.svg) no-repeat;
  background-size: 220%; }

#services h1 {
  color: #6cead3; }

#formations {
  background: 40% 900px url(../img/lines-bg.svg) no-repeat;
  background-size: 220%; }
  #formations h1 {
    color: #ffcb66; }

.services-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
      grid-template-columns: repeat(4, 1fr);
  grid-gap: 60px 0;
  padding-right: 200px; }
  @media only screen and (max-width: 1000px) {
    .services-list {
      -ms-grid-columns: (1fr)[3];
          grid-template-columns: repeat(3, 1fr);
      padding-right: 0; } }
  @media only screen and (max-width: 650px) {
    .services-list {
      -ms-grid-columns: (1fr)[2];
          grid-template-columns: repeat(2, 1fr); } }
  @media only screen and (max-width: 450px) {
    .services-list {
      -ms-grid-columns: (1fr)[1];
          grid-template-columns: repeat(1, 1fr); } }

.formations-list .boxed-link > a:after {
  background: center url(../img/plus-yellow.svg) no-repeat; }

.formations-list .boxed-link__category {
  color: #ffcb66; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: top 100px right 40px url(../img/close.svg) no-repeat, rgba(0, 0, 0, 0.9);
  background-size: 30px;
  z-index: 100;
  cursor: pointer; }

.post-date {
  font-size: 1.25rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 1em;
  font-size: 1rem;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 0; }
  @media only screen and (max-width: 1000px) {
    .post-date {
      font-size: 1rem; } }
  .post-date + .page-header__title {
    margin-top: 0.3em; }

.header {
  max-width: 1440px;
  padding-inline: 20px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  grid-template-areas: "topnav topnav" "logo mainnav";
  -ms-grid-columns: 300px 1fr;
      grid-template-columns: 300px 1fr;
  grid-gap: 13px;
  padding: 1rem 20px;
  -ms-flex-align: center;
      align-items: center; }
  @media only screen and (max-width: 1000px) {
    .header {
      -ms-grid-columns: 215px 1fr;
          grid-template-columns: 215px 1fr;
      grid-gap: 0;
      padding-block: 1.4rem; } }
  .header .menu__contact a {
    display: -ms-flexbox;
    display: flex;
    padding: 10px 24px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), linear-gradient(226.52deg, #6240f4 5.73%, #b17ffd 375.72%);
    box-shadow: 0px 14.2952px 23.0064px rgba(0, 0, 0, 0.178832), 0px 4.25607px 6.84961px rgba(0, 0, 0, 0.121168);
    border-radius: 100px;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; }
    .header .menu__contact a:is(:hover, :active) {
      box-shadow: 0px 8.2952px 23.0064px rgba(0, 0, 0, 0.178832), 0px 2.25607px 6.84961px rgba(0, 0, 0, 0.121168);
      border-radius: 100px;
      color: white;
      transform: translateY(2px); }
  .header .menu__contact.current-menu-item a {
    color: #ffffff; }

.header__logo__link {
  grid-area: logo;
  margin-top: -13px; }
  @media only screen and (max-width: 1000px) {
    .header__logo__link {
      margin-top: 0; } }

.topMenu__container {
  grid-area: topnav; }
  @media only screen and (max-width: 1200px) {
    .topMenu__container {
      display: none; } }

.mainMenu__container {
  grid-area: mainnav; }
  @media only screen and (max-width: 1200px) {
    .mainMenu__container {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: #181818;
      z-index: 100;
      padding: 20px;
      overflow-y: auto;
      overflow-x: hidden;
      -webkit-overflow-scrolling: touch;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      .mainMenu__container .menu {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
        gap: 20px;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        padding: 0;
        margin: 0;
        list-style: none; }
      .mainMenu__container .menu__contact {
        padding-top: 10px; }
      .mainMenu__container .topMenu__container {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
        gap: 20px;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center;
        padding-top: 30px; } }

.mainMenu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  gap: 50px;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: center;
      align-items: center; }
  .mainMenu a {
    font-size: 1rem;
    font-family: "elza-text";
    font-weight: 600;
    letter-spacing: 120%;
    transition: color 0.1s ease-in-out; }
    .mainMenu a:is(:hover, :active) {
      color: #c8a5fd; }

.topMenu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  gap: 30px;
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: center;
      align-items: center; }
  @media only screen and (max-width: 1200px) {
    .topMenu {
      display: none; } }
  .topMenu a {
    font-size: 0.75rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    transition: color 0.15s ease-in-out;
    display: -ms-flexbox;
    display: flex; }
    .topMenu a:is(:hover, :active) {
      color: #c8a5fd; }

.menu-item a:is(:hover, :active) {
  color: #baaef9; }

.menu-item.current-menu-item a {
  color: #baaef9; }

.menu-item.yellow a:is(:hover, :active),
.menu-item.yellow.current-menu-item a {
  color: #ffcb66; }

.menu-item.green a:is(:hover, :active),
.menu-item.green.current-menu-item a {
  color: #6cead3; }

#openMenu {
  display: none; }
  @media only screen and (max-width: 1200px) {
    #openMenu {
      position: absolute;
      top: 1.7rem;
      right: 20px;
      width: 20px;
      height: 20px;
      z-index: 101;
      cursor: pointer;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      gap: 4px; }
      #openMenu .openMenu__line {
        width: 20px;
        height: 2px;
        display: block;
        background: #ffffff;
        border-radius: 5px;
        transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out; }
      #openMenu.open .openMenu__line:nth-child(1) {
        transform: translateY(4px) rotate(45deg); }
      #openMenu.open .openMenu__line:nth-child(2) {
        opacity: 0; }
      #openMenu.open .openMenu__line:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg); } }

.footer {
  background: #0b0b0b;
  padding-block: 50px 30px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: 70px; }
  .footer .noomia {
    position: relative;
    display: inline-block;
    width: 81px;
    height: 15px;
    text-indent: -9999px;
    vertical-align: middle; }
    .footer .noomia:before {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      content: "";
      opacity: 0.7;
      background-position: left center;
      background-size: 81px 15px;
      background-repeat: no-repeat;
      background-image: url(../img/logo-noomia--light.svg); }
    .footer .noomia:after {
      transition: width 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 0;
      height: 100%;
      content: "";
      background-position: left center;
      background-size: 81px 15px;
      background-repeat: no-repeat;
      background-image: url(../img/logo-noomia--light.svg); }
    .footer .noomia:hover:after {
      width: 100%; }
  .footer .grid-4-cols {
    gap: 60px; }
    @media only screen and (max-width: 1200px) {
      .footer .grid-4-cols {
        -ms-grid-columns: 1fr 1fr 1fr 1fr;
            grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 20px; } }
    @media only screen and (max-width: 650px) {
      .footer .grid-4-cols {
        -ms-grid-columns: 2fr;
            grid-template-columns: 2fr;
        width: 100%;
        gap: 30px; } }
  .footer-col-1 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 30px;
    max-width: 310px; }
    @media only screen and (max-width: 650px) {
      .footer-col-1 {
        -ms-grid-column: span 2;
            grid-column: span 2; } }
  .footer-col-2 {
    padding-left: 90px; }
    @media only screen and (max-width: 1200px) {
      .footer-col-2 {
        padding-left: 20px; } }
    @media only screen and (max-width: 650px) {
      .footer-col-2 {
        padding: 0;
        max-width: 120px; } }
  @media only screen and (max-width: 650px) {
    .footer-col-3 {
      max-width: 120px;
      text-align: right; } }
  .footer-col-4 {
    text-align: right; }
    @media only screen and (max-width: 1200px) {
      .footer-col-4 {
        font-size: 0.75rem; } }
    @media only screen and (max-width: 650px) {
      .footer-col-4 {
        text-align: left;
        -ms-grid-column: span 2;
            grid-column: span 2; } }
  .footer-menu ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 1rem; }
    @media only screen and (max-width: 1200px) {
      .footer-menu ul {
        font-size: 0.75rem;
        font-family: "elza-text";
        font-weight: 400;
        line-height: 150%;
        transition: color 0.15s ease-in-out; }
        .footer-menu ul:is(:hover, :active) {
          color: #c8a5fd; } }
  .footer__contact-links {
    margin-top: 1rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .footer address {
    color: #f1faeeb3; }
  .footer__bottom {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    color: #f1faeeb3;
    font-size: 12px;
    width: 100%; }
    @media only screen and (max-width: 650px) {
      .footer__bottom {
        -ms-flex-direction: column;
            flex-direction: column;
        gap: 1em;
        text-align: center; } }
    .footer__bottom ul {
      display: -ms-flexbox;
      display: flex;
      gap: 24px; }
      @media only screen and (max-width: 650px) {
        .footer__bottom ul {
          -ms-flex-direction: column;
              flex-direction: column;
          gap: 1em; } }
    .footer__bottom a {
      font-size: 12px;
      color: #f1faeeb3; }

.copyright {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  gap: 10px; }
  @media only screen and (max-width: 650px) {
    .copyright {
      -ms-flex-pack: center;
          justify-content: center; } }
  .copyright img {
    width: 72px;
    height: 13px; }

.hero {
  height: 80vh;
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 1200px) {
    .hero {
      height: 85vh; } }
  .hero__title {
    font-weight: 400;
    margin-bottom: 30px;
    max-width: 915px; }
    .hero__title b {
      color: #c8a5fd; }
  .hero .container {
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    padding-bottom: 30px;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 1200px) {
      .hero .container {
        padding-bottom: 0; } }
  .hero .dots {
    position: absolute;
    bottom: 0;
    pointer-events: none;
    height: 550px;
    left: 50%;
    transform: translateX(-50%); }
    @media only screen and (max-width: 1200px) {
      .hero .dots {
        width: 110vw;
        min-width: 800px;
        left: 0;
        top: 28vh;
        transform: none; } }
    .hero .dots .dots__container g {
      transform: translatey(0px);
      animation: float 6s ease-in-out infinite; }
      .hero .dots .dots__container g:nth-child(3) {
        animation-delay: 1.5s; }
      .hero .dots .dots__container g:nth-child(4) {
        animation-delay: 2s; }
      .hero .dots .dots__container g:nth-child(5) {
        animation-delay: 2.5s; }
      .hero .dots .dots__container g:nth-child(6) {
        animation-delay: 3s; }
      .hero .dots .dots__container g:nth-child(7) {
        animation-delay: 3.5s; }
      .hero .dots .dots__container g:nth-child(8) {
        animation-delay: 4s; }
      .hero .dots .dots__container g:nth-child(9) {
        animation-delay: 4.5s; }
      .hero .dots .dots__container g:nth-child(10) {
        animation-delay: 5s; }
      .hero .dots .dots__container g:nth-child(11) {
        animation-delay: 5.5s; }
      .hero .dots .dots__container g:nth-child(12) {
        animation-delay: 6s; }
      .hero .dots .dots__container g:nth-child(13) {
        animation-delay: 6.5s; }
      .hero .dots .dots__container g:nth-child(14) {
        animation-delay: 7s; }
      .hero .dots .dots__container g:nth-child(15) {
        animation-delay: 7.5s; }
  .hero .rotating-logo {
    width: 470px;
    height: 470px;
    right: calc(50vw - 720px);
    top: 50%;
    transform: translateY(-50%); }
    @media only screen and (max-width: 1200px) {
      .hero .rotating-logo {
        right: -20px;
        top: 20px;
        transform: none;
        opacity: 0.4; } }
    @media only screen and (max-width: 650px) {
      .hero .rotating-logo {
        width: 200px;
        height: 200px;
        right: -20px;
        top: 20px;
        transform: none;
        opacity: 0.4; } }

.has-sidebar {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 500px;
      grid-template-columns: 1fr 500px;
  grid-gap: 60px; }
  @media only screen and (max-width: 1200px) {
    .has-sidebar {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      gap: 20px; } }

.sidebar .white-box {
  width: 500px;
  height: -moz-fit-content;
  height: fit-content;
  position: sticky;
  top: 50px; }
  @media only screen and (max-width: 1200px) {
    .sidebar .white-box {
      width: 100%;
      border-radius: 15px 0; } }

.page-header {
  padding-block: 50px 30px; }
  @media only screen and (max-width: 1000px) {
    .page-header {
      padding-block: 50px 20px; } }
  .page-header__title {
    margin-top: 30px; }
  .page-header__title, .page-header__paragraph {
    max-width: 850px; }
  .page-header__paragraph {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    margin-bottom: 50px; }
    @media only screen and (max-width: 1000px) {
      .page-header__paragraph {
        font-size: 1rem; } }
  .page-header__image {
    overflow: hidden;
    margin: 0;
    width: 100%;
    height: 600px;
    overflow: hidden;
    border-radius: 30px 0;
    margin-bottom: 2em; }
    .page-header__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    @media only screen and (max-width: 1200px) {
      .page-header__image {
        height: 400px; } }
    @media only screen and (max-width: 1000px) {
      .page-header__image {
        height: 300px; } }
    @media only screen and (max-width: 650px) {
      .page-header__image {
        height: 200px; } }

.page-hero {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  padding-block: 130px;
  margin-bottom: 20px;
  height: 650px; }
  @media only screen and (max-width: 1200px) {
    .page-hero {
      height: auto;
      padding-block: 0; } }
  .page-hero__back {
    position: absolute;
    top: 40px;
    left: 20px; }
    @media only screen and (max-width: 1200px) {
      .page-hero__back {
        position: static;
        margin-top: 20px; } }
  .page-hero__image {
    overflow: hidden;
    margin: 0;
    position: absolute;
    width: 780px;
    height: 575px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 20px 0px;
    overflow: hidden; }
    .page-hero__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    @media only screen and (max-width: 1200px) {
      .page-hero__image {
        position: static;
        transform: none;
        width: 100%;
        height: 250px; } }
    .page-hero__image:after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: rgba(28, 20, 40, 0.5); }
      @media only screen and (max-width: 1200px) {
        .page-hero__image:after {
          display: none; } }
  .page-hero__subtitle {
    font-size: 1.75rem;
    font-family: "elza-text";
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 1em;
    font-weight: 500; }
    @media only screen and (max-width: 1000px) {
      .page-hero__subtitle {
        font-size: 1.25rem; } }
  .page-hero__content {
    position: relative;
    z-index: 1;
    max-width: 870px; }
    @media only screen and (max-width: 1200px) {
      .page-hero__content {
        margin-block: 40px 20px; } }
  .page-hero__category {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-weight: 600;
    margin-bottom: 0.5em; }
    @media only screen and (max-width: 1000px) {
      .page-hero__category {
        font-size: 1rem; } }

#homeNews {
  padding-bottom: 150px; }
  @media only screen and (max-width: 1200px) {
    #homeNews {
      padding-bottom: 50px; } }

#homeServices {
  background: center url(../img/lines-bg.svg) no-repeat;
  background-size: cover;
  padding-block: 120px 170px; }
  @media only screen and (max-width: 1200px) {
    #homeServices {
      padding-bottom: 100px; } }
  #homeServices h2 {
    font-size: 3rem; }
    @media only screen and (max-width: 1000px) {
      #homeServices h2 {
        font-size: 2.25rem; } }

.tns-controls {
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  margin-top: 40px; }
  .tns-controls button {
    opacity: 0.3;
    font-size: 0;
    display: -ms-flexbox;
    display: flex;
    width: 40px;
    height: 20px;
    background: center url(../img/arrow.svg) no-repeat;
    background-size: contain;
    transition: transform 0.2s ease-in-out; }
    .tns-controls button:is(:hover, :active) {
      transform: translateX(10px); }
    .tns-controls button[data-controls="prev"] {
      transform: rotate(180deg); }
      .tns-controls button[data-controls="prev"]:is(:hover, :active) {
        transform: translateX(-10px) rotate(180deg); }
    .tns-controls button[disabled] {
      opacity: 0.1; }

.error404 .footer,
.error404 .header {
  display: none; }

.error404 .error404__group {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center; }

.error404 .mainTitle__first {
  font-family: "elza-text", Helvetica, Arial, sans-serif;
  color: #6703fc;
  position: absolute;
  top: -1em;
  left: 1.5em;
  font-size: 1.5em; }

.error404 .mainTitle__second {
  font-family: "elza-text", Helvetica, Arial, sans-serif;
  font-size: 12em;
  font-weight: bold;
  color: #6703fc;
  line-height: 1;
  overflow: hidden;
  display: block; }
  .error404 .mainTitle__second span {
    display: inline-block; }

.error404 .error404__link {
  font-size: 1.2em; }

.formation .page-hero__title {
  color: #ffcb66; }

.formation .white-box {
  padding: 40px; }
  @media only screen and (max-width: 1200px) {
    .formation .white-box {
      padding: 0; } }
  .formation .white-box__content {
    gap: 0; }
  .formation .white-box h3 {
    font-size: 1.75rem;
    font-family: "elza-text";
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 1em;
    font-weight: 500;
    color: #c78500; }
    @media only screen and (max-width: 1000px) {
      .formation .white-box h3 {
        font-size: 1.25rem; } }

.formation__price {
  font-size: 1.25rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 1em;
  font-weight: 600;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  gap: 20px; }
  @media only screen and (max-width: 1000px) {
    .formation__price {
      font-size: 1rem; } }
  .formation__price span {
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em;
    font-size: 1rem;
    margin-bottom: 0; }
    @media only screen and (max-width: 1000px) {
      .formation__price span {
        font-size: 1rem; } }

.formateurs {
  margin-bottom: 3em;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  gap: 16px; }
  .formateurs__item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding-left: 52px;
    min-height: 36px;
    transition: 0.15s color ease-out; }
    .formateurs__item--social {
      opacity: 0;
      font-size: 0;
      display: -ms-flexbox;
      display: flex;
      gap: 20px;
      transition: 0.15s all ease-out; }
      @media only screen and (max-width: 1200px) {
        .formateurs__item--social {
          opacity: 1; } }
      .formateurs__item--social a {
        display: block;
        width: 21px;
        height: 21px; }
    .formateurs__item:hover {
      color: #c78500;
      cursor: default; }
      .formateurs__item:hover .formateurs__item--social {
        opacity: 1; }
  .formateurs .facebook {
    background: center url(../img/facebook--yellow.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .formateurs .facebook:is(:hover, :active) {
      background: center url(../img/facebook--violet.svg) no-repeat;
      background-size: contain; }
  .formateurs .twitter {
    background: center url(../img/twitter--yellow.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .formateurs .twitter:is(:hover, :active) {
      background: center url(../img/twitter--violet.svg) no-repeat;
      background-size: contain; }
  .formateurs .linkedin {
    background: center url(../img/linkedin--yellow.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .formateurs .linkedin:is(:hover, :active) {
      background: center url(../img/linkedin--violet.svg) no-repeat;
      background-size: contain; }
  .formateurs .instagram {
    background: center url(../img/instagram--yellow.svg) no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    font-size: 0;
    display: block;
    transition: background 0.16s ease-in; }
    .formateurs .instagram:is(:hover, :active) {
      background: center url(../img/instagram--violet.svg) no-repeat;
      background-size: contain; }

.article_de_loi__content {
  padding: 70px 200px 70px 70px;
  background: #2f2f2f;
  border-radius: 30px 0px;
  margin-bottom: 60px; }
  @media only screen and (max-width: 1200px) {
    .article_de_loi__content {
      margin-bottom: 30px;
      padding: 40px 30px; } }

@media only screen and (max-width: 1200px) {
  .article_de_loi__title {
    font-size: 1.75rem;
    font-family: "elza-text";
    font-weight: 600;
    line-height: 120%;
    margin-bottom: 1em; } }
  @media only screen and (max-width: 1200px) and (max-width: 1000px) {
    .article_de_loi__title {
      font-size: 1.25rem; } }

.article_de_loi__paragraph {
  font-size: 1.25rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 1em; }
  @media only screen and (max-width: 1000px) {
    .article_de_loi__paragraph {
      font-size: 1rem; } }

.article_de_loi__message--title {
  font-size: 1.75rem;
  font-family: "elza-text";
  font-weight: 600;
  line-height: 120%;
  margin-bottom: 1em; }
  @media only screen and (max-width: 1000px) {
    .article_de_loi__message--title {
      font-size: 1.25rem; } }

.article_de_loi__message--content a {
  color: #baaef9; }

.article_de_loi__message--content i {
  transform: skewX(-15deg);
  display: inline-block;
  letter-spacing: -0.5px; }

.article_de_loi__generalites {
  padding: 70px 200px 70px 70px;
  border-radius: 30px 0px;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92)), linear-gradient(0deg, rgba(98, 64, 244, 0.7), rgba(98, 64, 244, 0.7)), top url(../img/abstract-bg.jpg) no-repeat;
  background-size: cover;
  color: #130329;
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 1200px) {
    .article_de_loi__generalites {
      margin-bottom: 30px;
      padding: 40px 30px; } }
  .article_de_loi__generalites--title {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), linear-gradient(232.6deg, #6240f4 5.1%, #b17ffd 94.9%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    margin-bottom: 2em; }
  .article_de_loi__generalites--list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 28px; }
  .article_de_loi__generalites--item {
    padding-left: 52px;
    display: block;
    font-size: 1.25rem;
    font-family: "elza-text";
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 1em; }
    @media only screen and (max-width: 1000px) {
      .article_de_loi__generalites--item {
        font-size: 1rem; } }
    .article_de_loi__generalites--item a {
      color: #4b2af4; }
    .article_de_loi__generalites--item i {
      transform: skewX(-15deg);
      display: inline-block;
      letter-spacing: -0.5px; }
  .article_de_loi__generalites .restricted {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-direction: column;
        flex-direction: column; }
    @media only screen and (max-width: 1200px) {
      .article_de_loi__generalites .restricted {
        padding: 160px 20px;
        text-align: center;
        border-radius: 30px 0;
        -ms-flex-pack: start;
            justify-content: flex-start; } }
    .article_de_loi__generalites .restricted h2 {
      font-size: 2.25rem;
      font-family: "elza-text";
      font-weight: 600;
      line-height: 120%;
      margin-bottom: 1em;
      font-weight: 500; }
      @media only screen and (max-width: 1000px) {
        .article_de_loi__generalites .restricted h2 {
          font-size: 1.75rem; } }
    .article_de_loi__generalites .restricted h2,
    .article_de_loi__generalites .restricted .cta__container {
      position: relative;
      z-index: 1;
      margin-bottom: 0; }
    .article_de_loi__generalites .restricted .rotating-logo {
      width: 405px;
      height: 405px;
      opacity: 0.1; }
      @media only screen and (max-width: 1200px) {
        .article_de_loi__generalites .restricted .rotating-logo {
          width: 300px;
          height: 300px;
          top: 100px; } }

.article_de_loi .cta__container {
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-block: 30px; }

#about {
  position: relative; }
  #about > .rotating-logo {
    position: absolute;
    right: calc(50vw - 590px);
    top: 100px;
    width: 405px;
    height: 405px;
    opacity: 0.3; }
    @media only screen and (max-width: 1200px) {
      #about > .rotating-logo {
        right: 10px;
        top: 0;
        width: 200px;
        height: 200px; } }
  #about #aboutTeam {
    padding-block: 30px 170px; }
    #about #aboutTeam .white-box__image {
      height: 300px; }
  #about .grid-3-cols {
    gap: 30px; }
  #about .white-box {
    transition: 0.25s transform ease-out; }
    #about .white-box__image img {
      transition: 0.25s transform ease-out; }
    #about .white-box:is(:hover, :active) {
      transform: translateY(-5px); }
      #about .white-box:is(:hover, :active) .white-box__image img {
        transform: scale(1.01); }
    #about .white-box .cta__container {
      position: absolute;
      bottom: 30px;
      right: 30px; }
    #about .white-box__content {
      padding-bottom: 70px;
      gap: 10px;
      padding-bottom: 5em; }
    #about .white-box .cta {
      cursor: pointer; }

.service {
  padding-bottom: 170px; }
  .service .page-hero__title {
    color: #6cead3; }
  .service .has-sidebar {
    margin-bottom: 150px; }
  .service .white-box {
    padding: 40px; }
    @media only screen and (max-width: 1200px) {
      .service .white-box {
        padding: 0; } }
    .service .white-box__content {
      gap: 0; }
    .service .white-box h3 {
      font-size: 1.75rem;
      font-family: "elza-text";
      font-weight: 600;
      line-height: 120%;
      margin-bottom: 1em;
      font-weight: 500;
      color: #12826e; }
      @media only screen and (max-width: 1000px) {
        .service .white-box h3 {
          font-size: 1.25rem; } }

#expertise {
  margin-top: 50px;
  position: relative; }
  @media only screen and (max-width: 1200px) {
    #expertise {
      margin-top: 0; } }
  #expertise > .rotating-logo {
    position: absolute;
    right: calc(50vw - 720px);
    top: 0;
    width: 405px;
    height: 405px;
    opacity: 0.3; }
    @media only screen and (max-width: 1200px) {
      #expertise > .rotating-logo {
        right: 10px;
        width: 200px;
        height: 200px; } }

.timeline {
  width: 100%;
  max-width: 800px;
  margin: 60px auto 120px auto;
  position: relative; }
  @media only screen and (max-width: 1200px) {
    .timeline {
      padding-inline: 20px; } }
  .timeline__current {
    display: block;
    width: 2px;
    height: calc(100% - 100px);
    background: transparent;
    position: absolute;
    left: 50%;
    top: 50px;
    transform: translate3d(-50%, 0, 0);
    z-index: 10; }
    .timeline__current__grow {
      position: absolute;
      width: 100%;
      height: 0px;
      background: #ffffff;
      top: 0px;
      left: 0px;
      display: block; }
      @media only screen and (max-width: 650px) {
        .timeline__current__grow {
          display: none; } }
  .timeline__list {
    margin: 0px;
    padding: 0px;
    list-style: none;
    text-align: center;
    position: relative; }
    .timeline__list__item {
      padding: 70px 0px;
      position: relative;
      font-size: 0px; }
      .timeline__list__item:before, .timeline__list__item:after {
        content: " ";
        /* 1 */
        display: table;
        /* 2 */ }
      .timeline__list__item:after {
        clear: both; }
      @media only screen and (max-width: 650px) {
        .timeline__list__item {
          padding: 40px 0 0 0;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; } }
      .timeline__list__item.current:after {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: #baaef9;
        position: absolute;
        top: 81px;
        left: 50%;
        transform: translate3d(-50%, -50%, 0) scale(1.2); }
      .timeline__list__item--line:before {
        content: "";
        display: block;
        width: 2px;
        height: 100%;
        background: rgba(255, 255, 255, 0.3);
        position: absolute;
        left: 50%;
        top: 0px;
        transform: translate3d(-50%, 0, 0); }
        @media only screen and (max-width: 650px) {
          .timeline__list__item--line:before {
            display: none; } }
      .timeline__list__item--line:after {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: #ffffff;
        position: absolute;
        top: 81px;
        left: 50%;
        transform: translate3d(-50%, -50%, 0);
        transition: all 0.3s ease; }
        @media only screen and (max-width: 650px) {
          .timeline__list__item--line:after {
            display: none; } }
      .timeline__list__item__text {
        display: inline-block;
        vertical-align: top;
        background: transparent;
        width: 50%;
        padding-right: 50px;
        padding-left: 0px;
        font-size: 16px;
        text-align: right; }
        @media only screen and (max-width: 650px) {
          .timeline__list__item__text {
            display: block;
            width: 100%;
            padding: 0px;
            margin-top: 15px;
            text-align: left; } }
        .timeline__list__item__text h3 {
          font-size: 1.75rem;
          font-family: "elza-text";
          font-weight: 600;
          line-height: 120%;
          margin-bottom: 1em;
          font-weight: 500;
          margin-bottom: 10px; }
          @media only screen and (max-width: 1000px) {
            .timeline__list__item__text h3 {
              font-size: 1.25rem; } }
      .timeline__list__item__image {
        display: inline-block;
        vertical-align: top;
        background: transparent;
        width: 50%;
        padding-left: 50px;
        padding-right: 0px;
        font-size: 16px;
        text-align: left; }
        @media only screen and (max-width: 650px) {
          .timeline__list__item__image {
            display: block;
            width: 100%;
            padding: 0px;
            margin: 0px; } }
        .timeline__list__item__image img {
          display: inline-block;
          margin: 0px;
          border-radius: 20px 0;
          max-width: 100%;
          height: auto; }
      @media only screen and (max-width: 650px) {
        .timeline__list__item:nth-of-type(2n) {
          -ms-flex-direction: column;
              flex-direction: column; } }
      .timeline__list__item:nth-of-type(2n) .timeline__list__item__text {
        padding-right: 0px;
        padding-left: 50px;
        text-align: left; }
        @media only screen and (max-width: 650px) {
          .timeline__list__item:nth-of-type(2n) .timeline__list__item__text {
            display: block;
            width: 100%;
            padding: 0px; } }
      .timeline__list__item:nth-of-type(2n) .timeline__list__item__image {
        padding-right: 50px;
        padding-left: 0px;
        text-align: right; }
        @media only screen and (max-width: 650px) {
          .timeline__list__item:nth-of-type(2n) .timeline__list__item__image {
            display: block;
            width: 100%;
            padding: 0px;
            margin: 0px; } }
      .timeline__list__item--start, .timeline__list__item--end {
        position: relative;
        min-width: 180px;
        margin: 0 auto;
        padding: 15px 30px;
        display: inline-block;
        text-align: center;
        margin: 0 auto;
        z-index: 10;
        transition: color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .timeline__list__item--start:after, .timeline__list__item--end:after {
          content: "";
          display: none !important; }
      .timeline__list__item--start {
        background-color: #2f2f2f;
        border-radius: 8px 0;
        font-size: 1.75rem;
        font-family: "elza-text";
        font-weight: 600;
        line-height: 120%;
        margin-bottom: 1em;
        margin-bottom: 0; }
        @media only screen and (max-width: 1000px) {
          .timeline__list__item--start {
            font-size: 1.25rem; } }
      .timeline__list__item--end {
        margin-top: 20px;
        font-size: 1.75rem;
        font-family: "elza-text";
        font-weight: 600;
        line-height: 120%;
        margin-bottom: 1em;
        font-weight: 500;
        background-color: #181818; }
        @media only screen and (max-width: 1000px) {
          .timeline__list__item--end {
            font-size: 1.25rem; } }
        @media only screen and (max-width: 650px) {
          .timeline__list__item--end {
            margin-top: 50px; } }
        .timeline__list__item--end.current {
          background: #ffffff;
          color: #ffffff; }

#contact .page-hero__subtitle {
  font-size: 1.25rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 1em;
  max-width: 550px; }
  @media only screen and (max-width: 1000px) {
    #contact .page-hero__subtitle {
      font-size: 1rem; } }
  @media only screen and (max-width: 1200px) {
    #contact .page-hero__subtitle {
      max-width: 100%; } }

#contact .white-box {
  padding: 40px; }
  @media only screen and (max-width: 1200px) {
    #contact .white-box {
      padding: 0; } }

#contact .bureau strong {
  font-size: 1.25rem;
  font-family: "elza-text";
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 1em;
  font-weight: 600;
  color: #6703fc; }
  @media only screen and (max-width: 1000px) {
    #contact .bureau strong {
      font-size: 1rem; } }

#contact .page-hero__image:after {
  background: #3e0297;
  opacity: 0.1;
  pointer-events: none; }

.gmaps {
  height: 575px; }
  @media only screen and (max-width: 1200px) {
    .gmaps {
      height: 100%; } }

@media only screen and (max-width: 1200px) {
  .boxed-content {
    padding-block: 50px; }
    .boxed-content .nf-form-cont {
      padding: 0; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJzaGFyZWQvX3Jlc2V0LnNjc3MiLCJzaGFyZWQvX3ZhcmlhYmxlcy5zY3NzIiwic2hhcmVkL19mb250cy5zY3NzIiwic2hhcmVkL19pY29ucy5zY3NzIiwic2hhcmVkL19hbmltYXRpb25zLnNjc3MiLCJzaGFyZWQvX21peGlucy5zY3NzIiwic2hhcmVkL19tZWRpYXF1ZXJpZXMuc2NzcyIsIm1vZHVsZXMvX3d5c3l3aWcuc2NzcyIsIm1vZHVsZXMvX2J1dHRvbnMuc2NzcyIsIm1vZHVsZXMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19jYXJkLnNjc3MiLCJtb2R1bGVzL19ibG9jay1pbWFnZS10ZXh0LnNjc3MiLCJtb2R1bGVzL19ibG9jay1jb250YWN0LnNjc3MiLCJtb2R1bGVzL19zZXJ2aWNlLWxpbmsuc2NzcyIsIm1vZHVsZXMvX2JveGVkLWxpbmsuc2NzcyIsIm1vZHVsZXMvX3JvdGF0aW5nLWxvZ28uc2NzcyIsIm1vZHVsZXMvX3doaXRlLWJveC5zY3NzIiwibW9kdWxlcy9fc29jaWFsLWxpbmtzLnNjc3MiLCJtb2R1bGVzL19saWdodGJveC5zY3NzIiwibW9kdWxlcy9fYmxvY2stcGFja2FnZXMuc2NzcyIsIm1vZHVsZXMvX2Jsb2NrLWNvbXBhcmFpc29uLnNjc3MiLCJtb2R1bGVzL19zaWduLnNjc3MiLCJnbG9iYWwuc2NzcyIsInBhcnRpYWxzL2hlYWRlci5zY3NzIiwicGFydGlhbHMvZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9oZXJvLnNjc3MiLCJwYXJ0aWFscy9zaWRlYmFyLnNjc3MiLCJwYXJ0aWFscy9wYWdlLWhlYWRlci5zY3NzIiwicGFydGlhbHMvcGFnZS1oZXJvLnNjc3MiLCJwYXJ0cy9ob21lLnNjc3MiLCJwYXJ0cy9lcnJvcjQwNC5zY3NzIiwicGFydHMvZm9ybWF0aW9uLnNjc3MiLCJwYXJ0cy9hcnRpY2xlX2RlX2xvaS5zY3NzIiwicGFydHMvYWJvdXQuc2NzcyIsInBhcnRzL3NlcnZpY2Uuc2NzcyIsInBh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QWMsRUFLZjtFOUJuQkM7SThCYUY7TUFJSSxhQUFhLEVBRWhCLEVBQUE7O0E5Qm5CQztFOEJxQkY7SUFFSSxvQkFBb0IsRUFNdkI7SUFSRDtNQUtNLFdBQVcsRUFDWixFQUFBIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKioqXG4gICAgVGhlIG5ldyBDU1MgcmVzZXQgLSB2ZXJzaW9uIDEuOC4yIChsYXN0IHVwZGF0ZWQgMjMuMTIuMjAyMilcbiAgICBHaXRIdWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2VsYWQyNDEyL3RoZS1uZXctY3NzLXJlc2V0XG4qKiovXG4vKlxuICAgIFJlbW92ZSBhbGwgdGhlIHN0eWxlcyBvZiB0aGUgXCJVc2VyLUFnZW50LVN0eWxlc2hlZXRcIiwgZXhjZXB0IGZvciB0aGUgJ2Rpc3BsYXknIHByb3BlcnR5XG4gICAgLSBUaGUgXCJzeW1ib2wgKlwiIHBhcnQgaXMgdG8gc29sdmUgRmlyZWZveCBTVkcgc3ByaXRlIGJ1Z1xuICovXG4qOndoZXJlKFxuOm5vdChodG1sLCBpZnJhbWUsIGNhbnZhcywgaW1nLCBzdmcsIHBhdGgsIHZpZGVvLCBhdWRpbyk6bm90KFxuc3ZnICosXG5zeW1ib2wgKlxuKVxuKSB7XG4gIGFsbDogdW5zZXQ7XG4gIGRpc3BsYXk6IHJldmVydDsgfVxuXG4vKiBQcmVmZXJyZWQgYm94LXNpemluZyB2YWx1ZSAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKiBSZWFwcGx5IHRoZSBwb2ludGVyIGN1cnNvciBmb3IgYW5jaG9yIHRhZ3MgKi9cbmEsXG5idXR0b24ge1xuICBjdXJzb3I6IHJldmVydDsgfVxuXG4vKiBSZW1vdmUgbGlzdCBzdHlsZXMgKGJ1bGxldHMvbnVtYmVycykgKi9cbm9sLFxudWwsXG5tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3IgaW1hZ2VzIHRvIG5vdCBiZSBhYmxlIHRvIGV4Y2VlZCB0aGVpciBjb250YWluZXIgKi9cbmltZyB7XG4gIG1heC1pbmxpbmUtc2l6ZTogMTAwJTtcbiAgbWF4LWJsb2NrLXNpemU6IDEwMCU7IH1cblxuLyogcmVtb3ZlcyBzcGFjaW5nIGJldHdlZW4gY2VsbHMgaW4gdGFibGVzICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLyogU2FmYXJpIC0gc29sdmluZyBpc3N1ZSB3aGVuIHVzaW5nIHVzZXItc2VsZWN0Om5vbmUgb24gdGhlIDxib2R5PiB0ZXh0IGlucHV0IGRvZXNuJ3Qgd29ya2luZyAqL1xuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG87IH1cblxuLyogcmV2ZXJ0IHRoZSAnd2hpdGUtc3BhY2UnIHByb3BlcnR5IGZvciB0ZXh0YXJlYSBlbGVtZW50cyBvbiBTYWZhcmkgKi9cbnRleHRhcmVhIHtcbiAgd2hpdGUtc3BhY2U6IHJldmVydDsgfVxuXG4vKiBtaW5pbXVtIHN0eWxlIHRvIGFsbG93IHRvIHN0eWxlIG1ldGVyIGVsZW1lbnQgKi9cbm1ldGVyIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiByZXZlcnQ7XG4gIGFwcGVhcmFuY2U6IHJldmVydDsgfVxuXG4vKiBwcmVmb3JtYXR0ZWQgdGV4dCAtIHVzZSBvbmx5IGZvciB0aGlzIGZlYXR1cmUgKi9cbnByZSB7XG4gIGFsbDogcmV2ZXJ0OyB9XG5cbi8qIHJlc2V0IGRlZmF1bHQgdGV4dCBvcGFjaXR5IG9mIGlucHV0IHBsYWNlaG9sZGVyICovXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHVuc2V0OyB9XG5cbi8qIHJlbW92ZSBkZWZhdWx0IGRvdCAo4oCiKSBzaWduICovXG4vKiBmaXggdGhlIGZlYXR1cmUgb2YgJ2hpZGRlbicgYXR0cmlidXRlLlxuICAgZGlzcGxheTpyZXZlcnQ7IHJldmVydCB0byBlbGVtZW50IGluc3RlYWQgb2YgYXR0cmlidXRlICovXG46d2hlcmUoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiByZXZlcnQgZm9yIGJ1ZyBpbiBDaHJvbWl1bSBicm93c2Vyc1xuICAgLSBmaXggZm9yIHRoZSBjb250ZW50IGVkaXRhYmxlIGF0dHJpYnV0ZSB3aWxsIHdvcmsgcHJvcGVybHkuXG4gICAtIHdlYmtpdC11c2VyLXNlbGVjdDogYXV0bzsgYWRkZWQgZm9yIFNhZmFyaSBpbiBjYXNlIG9mIHVzaW5nIHVzZXItc2VsZWN0Om5vbmUgb24gd3JhcHBlciBlbGVtZW50Ki9cbjp3aGVyZShbY29udGVudGVkaXRhYmxlXTpub3QoW2NvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCJdKSkge1xuICAtbW96LXVzZXItbW9kaWZ5OiByZWFkLXdyaXRlO1xuICAtd2Via2l0LXVzZXItbW9kaWZ5OiByZWFkLXdyaXRlO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBhdXRvOyB9XG5cbi8qIGFwcGx5IGJhY2sgdGhlIGRyYWdnYWJsZSBmZWF0dXJlIC0gZXhpc3Qgb25seSBpbiBDaHJvbWl1bSBhbmQgU2FmYXJpICovXG46d2hlcmUoW2RyYWdnYWJsZT1cInRydWVcIl0pIHtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IGVsZW1lbnQ7IH1cblxuLyogUmV2ZXJ0IE1vZGFsIG5hdGl2ZSBiZWhhdmlvciAqL1xuOndoZXJlKGRpYWxvZzptb2RhbCkge1xuICBhbGw6IHJldmVydDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIFBhdGhcbiAqL1xuLyoqXG4gKiBDb2xvcnNcbiAqL1xuLyoqXG4gKiBSZXNwb25zaXZlXG4gKi9cbi8qKlxuICogU3VzeVxuICovXG4vKipcbiAqIEVhc2luZ1xuICovXG4vKipcbiAqIFRleHRcbiAqL1xuLyp0ZXh0IHN0eWxlKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJub29taWFcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ub29taWEvbm9vbWlhLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ub29taWEvbm9vbWlhLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW90XCIpLCB1cmwoXCIuLi9mb250cy9ub29taWEvbm9vbWlhLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9ub29taWEvbm9vbWlhLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvbm9vbWlhL25vb21pYS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL25vb21pYS9ub29taWEuc3ZnI25vb21pYVwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwibm9vbWlhXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvKiBzcGVhazogbm9uZTsgb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAxXCI7IH1cblxuLmljb24tZ29vZ2xlcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwMlwiOyB9XG5cbi5pY29uLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAzXCI7IH1cblxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwNFwiOyB9XG5cbkBrZXlmcmFtZXMgc2hvd1VwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hvd1VwVGl0bGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNob3dEb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgaGlkZURvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBoaWRlVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBzaG93TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNob3dSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tncm91bmRQb3NpdGlvbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MDBweCBjZW50ZXI7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNlbnRlcjsgfSB9XG5cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBmbG9hdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoMHB4KTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgtMTVweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1TZXJ2aWNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yJSwgMi41JSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwJSwgLTEyLjUlKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYxJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwJSwgMTIuNSUpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogTWVkaWEgUXVlcmllcyAqL1xuLnd5c2l3eWcge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICAvKipcbiAgICAgKiBoclxuICAgICAqL1xuICAvKipcbiAgICAgKiBMaXN0XG4gICAgICovIH1cbiAgLnd5c2l3eWcgaDIsXG4gIC53eXNpd3lnIGgzLFxuICAud3lzaXd5ZyBoNCxcbiAgLnd5c2l3eWcgaDUsXG4gIC53eXNpd3lnIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuICAud3lzaXd5ZyA+IGgyOmZpcnN0LWNoaWxkLFxuICAud3lzaXd5ZyA+IGgzOmZpcnN0LWNoaWxkLFxuICAud3lzaXd5ZyA+IGg0OmZpcnN0LWNoaWxkLFxuICAud3lzaXd5ZyA+IGg1OmZpcnN0LWNoaWxkLFxuICAud3lzaXd5ZyA+IGg2OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC53eXNpd3lnIHAge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLnd5c2l3eWcgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC53eXNpd3lnIGZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIC53eXNpd3lnIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIC53eXNpd3lnIGZpZ3VyZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAud3lzaXd5ZyBmaWd1cmUuYWxpZ24tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBlbTsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZS5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogMzBlbTsgfVxuICAgIC53eXNpd3lnIGZpZ3VyZS5hbGlnbi1jZW50ZXIgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC53eXNpd3lnIGhyIHtcbiAgICBtYXJnaW46IGNhbGMtZW0oMzApO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLnd5c2l3eWcgdWwgbGk6YmVmb3JlIHtcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuN2VtO1xuICAgIGxlZnQ6IDAuNGVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4YTVmZDsgfVxuICAud3lzaXd5ZyBvbCB7XG4gICAgY291bnRlci1yZXNldDogbGlzdDsgfVxuICAgIC53eXNpd3lnIG9sIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMC41Y2g7XG4gICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QpIFwiLiBcIjtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuICAgICAgY29sb3I6ICNjOGE1ZmQ7XG4gICAgICB3aWR0aDogM2NoO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC53eXNpd3lnIHVsLFxuICAud3lzaXd5ZyBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuN2VtOyB9XG4gICAgLnd5c2l3eWcgdWwgbGksXG4gICAgLnd5c2l3eWcgb2wgbGkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMmVtOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAud3lzaXd5ZyB1bCBsaSxcbiAgICAgICAgLnd5c2l3eWcgb2wgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC53eXNpd3lnIGEge1xuICAgIGNvbG9yOiAjYmFhZWY5OyB9XG4gICAgLnd5c2l3eWcgYTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGNvbG9yOiAjYmFhZWY5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnd5c2l3eWcgYixcbiAgLnd5c2l3eWcgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC53eXNpd3lnIGksXG4gIC53eXNpd3lnIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmN0YSB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMTIwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogMHB4IDEwcHggMHB4IDBweDtcbiAgZ2FwOiAyNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIG1heC13aWR0aDogNDBjaDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuY3RhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgLmN0YV9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZ2FwOiA3ZW07XG4gICAgcGFkZGluZzogMjVweCAwOyB9XG4gICAgLmN0YV9fY29udGFpbmVyLmFsaWduLXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmN0YV9fY29udGFpbmVyLmFsaWduLWNlbnRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmN0YV9fY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiA0MHB4OyB9IH1cbiAgICAuY3RhX19jb250YWluZXIuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAyMHB4OyB9XG4gIC5jdGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2Fycm93LnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmN0YTphZnRlciB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7IH0gfVxuICAuY3RhOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAwcHggMHB4IDBweCA1cHg7XG4gICAgZ2FwOiAzMHB4OyB9XG4gIC5jdGEudmlvbGV0LWxpZ2h0OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9hcnJvdy0tdmlvbGV0LWxpZ2h0LnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAuY3RhLnZpb2xldC1saWdodDpob3ZlciB7XG4gICAgY29sb3I6ICNiYWFlZjk7IH1cbiAgLmN0YS55ZWxsb3ctbGlnaHQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2Fycm93LS15ZWxsb3ctbGlnaHQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5jdGEueWVsbG93LWxpZ2h0OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmY2I2NjsgfVxuICAuY3RhLmdyZWVuLWxpZ2h0OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9hcnJvdy0tZ3JlZW4tbGlnaHQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5jdGEuZ3JlZW4tbGlnaHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjNmNlYWQzOyB9XG4gIC5jdGEudmlvbGV0LWRhcmsge1xuICAgIGNvbG9yOiAjMTMwMzI5OyB9XG4gICAgLmN0YS52aW9sZXQtZGFyazphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9hcnJvdy0tdmlvbGV0LWRhcmsuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAuY3RhLnZpb2xldC1kYXJrOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgbGluZWFyLWdyYWRpZW50KDIzMi42ZGVnLCAjNjI0MGY0IDUuMSUsICNiMTdmZmQgOTQuOSUpO1xuICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICB0ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jdGEueWVsbG93LWRhcmsge1xuICAgIGNvbG9yOiAjMTMwMzI5OyB9XG4gICAgLmN0YS55ZWxsb3ctZGFyazphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9hcnJvdy0teWVsbG93LWRhcmsuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAuY3RhLnllbGxvdy1kYXJrOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYzc4NTAwOyB9XG4gIC5jdGEuZ3JlZW4tZGFyayB7XG4gICAgY29sb3I6ICMxMzAzMjk7IH1cbiAgICAuY3RhLmdyZWVuLWRhcms6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvYXJyb3ctLWdyZWVuLWRhcmsuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAuY3RhLmdyZWVuLWRhcms6aG92ZXIge1xuICAgICAgY29sb3I6ICMxMjgyNmU7IH1cbiAgLmN0YS5jdGFfX3NtYWxsIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBnYXA6IDEwcHg7IH1cbiAgICAuY3RhLmN0YV9fc21hbGw6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxNHB4OyB9XG4gICAgLmN0YS5jdGFfX3NtYWxsOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgZ2FwOiAxNXB4OyB9XG4gIC5jdGEucmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDEwcHg7IH1cbiAgICAuY3RhLnJldmVyc2U6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5jdGEucmV2ZXJzZTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIHBhZGRpbmc6IDBweCA1cHggMHB4IDA7IH1cblxuLmJhY2stYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIC5iYWNrLWJ1dHRvbjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogI2M4YTVmZDsgfVxuICAuYmFjay1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAuVwiO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDAuM2VtOyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAwcHg7IH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzRiMmFmNDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYmFja2dyb3VuZDogY2VudGVyIHJpZ2h0IDIwcHggdXJsKC4uL2ltZy9zZWFyY2guc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDsgfVxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uZm9ybTpiZWZvcmUsIC5mb3JtOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDIgKi8gfVxuXG4uZm9ybTphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbmlucHV0OjotbXMtY2xlYXIsXG5zZWxlY3Q6Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5mLWZvcm0tY29udGVudCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCA+IGRpdixcbi5uZi1mb3JtLWNvbnRlbnQgaW5wdXQ6bm90KFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInN1Ym1pdFwiXSksXG4ubmYtZm9ybS1jb250ZW50IHRleHRhcmVhLFxuLm5mLWZvcm0tY29udGVudCBzZWxlY3Qge1xuICBib3JkZXItcmFkaXVzOiA4cHggMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4vKipcbiAqIE5GIFN0eWxlc1xuICovXG4ubmYtYmVmb3JlLWZvcm0tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5mLWZvcm0tdGl0bGUgaDEsXG4ubmYtZm9ybS10aXRsZSBoMixcbi5uZi1mb3JtLXRpdGxlIGgzLFxuLm5mLWZvcm0tdGl0bGUgaDQsXG4ubmYtZm9ybS10aXRsZSBoNSxcbi5uZi1mb3JtLXRpdGxlIGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTsgfVxuXG4uZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5maWVsZF9fY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNnB4OyB9XG4gICAgLmZpZWxkX19jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTMwMzI5O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5maWVsZF9fY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogIzY3MDNmYztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjsgfVxuICAgICAgLmZpZWxkX19jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGIyYWY0OyB9XG4gICAgICAuZmllbGRfX2NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDsgfVxuICAgIC5maWVsZF9fY2hlY2tib3ggbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAuZmllbGRfX2NoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAubmYtZm9ybS1jb250IC5uZi1mb3JtLWNvbnRlbnQgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAubmYtZm9ybS1jb250IC5uZi1mb3JtLWNvbnRlbnQgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLm5mLXJlc3BvbnNlLW1zZyB7XG4gIGNvbG9yOiAjNmNlYWQzOyB9XG5cbi5uZi1mb3JtLXdyYXBcbi5uZi1mb3JtLWxheW91dFxuLm5mLWZvcm0tY29udGVudFxuLm5mLWZpZWxkLWNvbnRhaW5lcjpub3QoLnN1Ym1pdC1jb250YWluZXIpXG4ubmYtZmllbGRcbi5uZi1maWVsZC1lbGVtZW50IGlucHV0Om5vdChcblt0eXBlPVwicmFkaW9cIl0sXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInN1Ym1pdFwiXVxuKSxcbi5uZi1mb3JtLXdyYXBcbi5uZi1mb3JtLWxheW91dFxuLm5mLWZvcm0tY29udGVudFxuLm5mLWZpZWxkLWNvbnRhaW5lcjpub3QoLnN1Ym1pdC1jb250YWluZXIpXG4ubmYtZmllbGRcbi5uZi1maWVsZC1lbGVtZW50IHNlbGVjdCxcbi5uZi1mb3JtLXdyYXBcbi5uZi1mb3JtLWxheW91dFxuLm5mLWZvcm0tY29udGVudFxuLm5mLWZpZWxkLWNvbnRhaW5lcjpub3QoLnN1Ym1pdC1jb250YWluZXIpXG4ubmYtZmllbGRcbi5uZi1maWVsZC1lbGVtZW50IHRleHRhcmVhIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDA7XG4gIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLm5mLWVycm9yLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQ6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4OyB9XG5cbi5uZi1mb3JtLWNvbnQge1xuICBwYWRkaW5nLWJsb2NrOiA1MHB4IDA7IH1cbiAgLm5mLWZvcm0tY29udCAubmYtZm9ybS1jb250ZW50IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMTIwJTtcbiAgICBwYWRkaW5nOiAwcHggODdweCAwcHggMHB4O1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciByaWdodCAxMHB4IHVybCguLi9pbWcvYXJyb3ctLXZpb2xldC1saWdodC5zdmcpIG5vLXJlcGVhdCwgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MnB4IDIycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAubmYtZm9ybS1jb250IC5uZi1mb3JtLWNvbnRlbnQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgICAubmYtZm9ybS1jb250IC5uZi1mb3JtLWNvbnRlbnQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciByaWdodCB1cmwoLi4vaW1nL2Fycm93LS12aW9sZXQtbGlnaHQuc3ZnKSBuby1yZXBlYXQsIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMHB4IDgycHggMHB4IDVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNTJweCAyMnB4O1xuICAgICAgY29sb3I6ICNiYWFlZjk7IH1cblxuLnN1Ym1pdC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmxvYWRpbmcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1sb2FkaW5nIC5qcy1zaWduLXN1Ym1pdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlzLWxvYWRpbmcgLmxvYWRpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7IH1cbiAgLmlzLWxvYWRpbmcgLmxvYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW46IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA2cHggc29saWQgIzRiMmFmNDtcbiAgICBib3JkZXItY29sb3I6ICM0YjJhZjQgdHJhbnNwYXJlbnQgIzRiMmFmNCB0cmFuc3BhcmVudDtcbiAgICBhbmltYXRpb246IGxvYWRpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7IH1cblxuLnB0LWNoZWNrb3V0LWZvcm0ge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIC5wdC1jaGVja291dC1mb3JtIC5wdC1mb3JtLWdyb3VwLWZpZWxkLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTMwMzI5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnB0LWNoZWNrb3V0LWZvcm0gLnB0LWZvcm0tZ3JvdXAtZmllbGQtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICM2NzAzZmM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjsgfVxuICAgIC5wdC1jaGVja291dC1mb3JtIC5wdC1mb3JtLWdyb3VwLWZpZWxkLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGIyYWY0OyB9XG4gICAgLnB0LWNoZWNrb3V0LWZvcm0gLnB0LWZvcm0tZ3JvdXAtZmllbGQtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4OyB9XG4gIC5wdC1jaGVja291dC1mb3JtIC5wdC1mb3JtLWdyb3VwLWZpZWxkLWNoZWNrYm94IGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5wdC1jaGVja291dC1mb3JtIC5wdC1mb3JtLWdyb3VwLWZpZWxkLWNoZWNrYm94IGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnB0LWNoZWNrb3V0LWZvcm0gLmN0YV9fY29udGFpbmVyIGJ1dHRvbi5wdC1wYXltZW50LWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMxMzAzMjk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmNhcmQgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0MjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweCAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzMHB4O1xuICBjb2xvcjogIzEzMDMyOTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAyMHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kOiBib3R0b20gMjZweCByaWdodCAyNnB4IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9kYXRhY29tcGxpYW5jZS9saWJyYXJ5L2ltZy9wbHVzLnN2Z1wiKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgbGluZWFyLWdyYWRpZW50KDIzMi42ZGVnLCAjNjI0MGY0IDUuMSUsICNiMTdmZmQgOTQuOSUpO1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIHRyYW5zaXRpb246IDAuMnMgbWFyZ2luIGVhc2UtaW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY2FyZCBhIHtcbiAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5jYXJkIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNhcmQgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuICAuY2FyZCBhID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLmNhcmQgYTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1hcmdpbjogMTBweCAwIDAgMDsgfVxuICAgIC5jYXJkIGE6aXMoOmhvdmVyLCA6YWN0aXZlKSAuY2FyZF9fdGl0bGUge1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5jYXJkIGE6aXMoOmhvdmVyLCA6YWN0aXZlKSAuY2FyZF9fdGl0bGUge1xuICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjNGIyYWY0OyB9IH1cbiAgICAuY2FyZCBhOmlzKDpob3ZlciwgOmFjdGl2ZSk6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmNhcmQgYTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogIzEzMDMyOTsgfSB9XG5cbi5jYXJkX190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgbGluZWFyLWdyYWRpZW50KDIzMi42ZGVnLCAjNjI0MGY0IDUuMSUsICNiMTdmZmQgOTQuOSUpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIHRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2UtaW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY2FyZF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4uY2FyZF9fcG9zdGRhdGUsIC5jYXJkX19leGNlcnB0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZF9fcG9zdGRhdGUge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5ibG9jay1pbWFnZS10ZXh0IHtcbiAgYmFja2dyb3VuZDogIzJmMmYyZjtcbiAgcGFkZGluZy1ibG9jazogODBweCAxMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5ibG9jay1pbWFnZS10ZXh0IHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IDAgNTBweDsgfSB9XG4gIC5ibG9jay1pbWFnZS10ZXh0IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MDBweCAxZnIgMWZyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5ibG9jay1pbWFnZS10ZXh0IC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmJsb2NrLWltYWdlLXRleHRfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuYmxvY2staW1hZ2UtdGV4dF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmJsb2NrLWltYWdlLXRleHRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuYmxvY2staW1hZ2UtdGV4dF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07IH0gfVxuICAuYmxvY2staW1hZ2UtdGV4dF9fcGFyYWdyYXBoIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuYmxvY2staW1hZ2UtdGV4dF9fcGFyYWdyYXBoIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmJsb2NrLWltYWdlLXRleHRfX2xpbmsge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5ibG9jay1pbWFnZS10ZXh0X19saW5rIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogMjBweDsgfSB9XG4gIC5ibG9jay1pbWFnZS10ZXh0X19pbWFnZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMTIwcHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xMjBweDtcbiAgICBsZWZ0OiAtNHZ3O1xuICAgIG1hcmdpbi1ib3R0b206IC0xNjBweDsgfVxuICAgIC5ibG9jay1pbWFnZS10ZXh0X19pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5ibG9jay1pbWFnZS10ZXh0X19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmJsb2NrLWltYWdlLXRleHQuYWxpZ24tcmlnaHQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoOTgsIDY0LCAyNDQsIDAuNyksIHJnYmEoOTgsIDY0LCAyNDQsIDAuNykpLCB0b3AgdXJsKC4uL2ltZy9hYnN0cmFjdC1iZy5qcGcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiAjMTMwMzI5OyB9XG4gICAgLmJsb2NrLWltYWdlLXRleHQuYWxpZ24tcmlnaHQgLmNvbnRhaW5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLWdhcDogNTBweCA3MHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAuYmxvY2staW1hZ2UtdGV4dC5hbGlnbi1yaWdodCAuY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWdhcDogMDsgfSB9XG4gICAgLmJsb2NrLWltYWdlLXRleHQuYWxpZ24tcmlnaHQgLmJsb2NrLWltYWdlLXRleHRfX2NvbnRlbnQge1xuICAgICAgZ3JpZC1yb3c6IDEgLyAyOyB9XG4gICAgLmJsb2NrLWltYWdlLXRleHQuYWxpZ24tcmlnaHQgLmJsb2NrLWltYWdlLXRleHRfX2xpbmsge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZ3JpZC1yb3c6IDIgLyAzOyB9XG4gICAgLmJsb2NrLWltYWdlLXRleHQuYWxpZ24tcmlnaHQgLmJsb2NrLWltYWdlLXRleHRfX2ltYWdlIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBncmlkLXJvdzogMSAvIDM7XG4gICAgICBncmlkLWNvbHVtbjogMiAvIDM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogdW5zZXQ7IH1cblxuLmJsb2NrLWNvbnRhY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYmxvY2s6IDUwcHg7IH1cbiAgLmJsb2NrLWNvbnRhY3RfX2ltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG4gICAgLmJsb2NrLWNvbnRhY3RfX2ltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmJsb2NrLWNvbnRhY3RfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cbiAgICAuYmxvY2stY29udGFjdF9faW1hZ2UgaW1nIHtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIC5ibG9jay1jb250YWN0X19pbWFnZSBpbWcge1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgLmJsb2NrLWNvbnRhY3QgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ibG9jay1jb250YWN0X19jb250ZW50IHtcbiAgICB3aWR0aDogY2xhbXAoMzAwcHgsIDEwMCUsIDEwODBweCk7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogNjAwcHggNzBweCA0MHB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmJsb2NrLWNvbnRhY3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyODBweCAyMHB4IDQwcHg7IH0gfVxuICAuYmxvY2stY29udGFjdF9fcGFyYWdyYXBoIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuYmxvY2stY29udGFjdF9fcGFyYWdyYXBoIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9IH1cbiAgLmJsb2NrLWNvbnRhY3QgLnJvdGF0aW5nLWxvZ28ge1xuICAgIHdpZHRoOiA0MDVweDtcbiAgICBoZWlnaHQ6IDQwNXB4O1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0zMHB4O1xuICAgIGJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuYmxvY2stY29udGFjdCAucm90YXRpbmctbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgICBib3R0b206IDEwcHg7IH0gfVxuXG4uc2VydmljZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMTgwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgICAuc2VydmljZS1saW5rIHtcbiAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyOyB9IH1cbiAgLnNlcnZpY2UtbGlua19faW1hZ2Uge1xuICAgIHdpZHRoOiA1MDFweDtcbiAgICBoZWlnaHQ6IDQyNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNzBweDtcbiAgICBsZWZ0OiAtMzIycHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZS1vdXQ7IH1cbiAgLnNlcnZpY2UtbGluazppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMHB4ICMwMDAwMDA7IH1cbiAgICAuc2VydmljZS1saW5rOmlzKDpob3ZlciwgOmFjdGl2ZSkgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNlcnZpY2UtbGluayBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNlcnZpY2UtbGlua19fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxMjAlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuc2VydmljZS1saW5rX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgLnNlcnZpY2UtbGluayBzdmcge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAgIC5zZXJ2aWNlLWxpbmsgc3ZnIG1hc2sge1xuICAgICAgZmlsbC1vcGFjaXR5OiAwLjQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxuICAuc2VydmljZS1saW5rOmhvdmVyIHN2ZyAuaW1nLTEgZyB7XG4gICAgYW5pbWF0aW9uOiBhbmltU2VydmljZSAwLjZzIGN1YmljLWJlemllcigwLjY4LCAwLCAwLjI2NSwgMSk7IH1cbiAgLnNlcnZpY2UtbGluazpob3ZlciBzdmcgLmltZy0yIGcge1xuICAgIGFuaW1hdGlvbjogYW5pbVNlcnZpY2UgMC41cyBjdWJpYy1iZXppZXIoMC42OCwgMCwgMC4yNjUsIDEpIDAuMTVzOyB9XG4gIC5zZXJ2aWNlLWxpbms6aG92ZXIgc3ZnIC5pbWctMyBnIHtcbiAgICBhbmltYXRpb246IGFuaW1TZXJ2aWNlIDAuNDVzIGN1YmljLWJlemllcigwLjY4LCAwLCAwLjI2NSwgMSkgMC4zczsgfVxuICAuc2VydmljZS1saW5rOmhvdmVyIHN2ZyBtYXNrIHtcbiAgICBmaWxsLW9wYWNpdHk6IDAuODsgfVxuXG4uYm94ZWQtbGluayB7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5ib3hlZC1saW5rX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5ib3hlZC1saW5rX19saXN0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiQXVjdW4gYXJ0aWNsZSBkZSBsb2kgdHJvdXbDqVwiO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5ib3hlZC1saW5rX19saXN0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH0gfVxuICAuYm94ZWQtbGlua19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmJveGVkLWxpbmtfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmJveGVkLWxpbmtfX2NhdGVnb3J5IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLmJveGVkLWxpbmtfX2NhdGVnb3J5OmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgY29sb3I6ICNjOGE1ZmQ7IH1cbiAgICAuYm94ZWQtbGlua19fY2F0ZWdvcnk6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJveGVkLWxpbmsgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzJmMmYyZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4IDAgMTVweCAwO1xuICAgIHBhZGRpbmc6IDIwcHggOTBweCAyMHB4IDI1cHg7XG4gICAgbWFyZ2luOiAwIDAgM3B4IDA7XG4gICAgdHJhbnNpdGlvbjogMC4xNnMgYWxsIGVhc2UtaW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJveGVkLWxpbmsgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICByaWdodDogMjVweDtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL3BsdXMtYmx1ZS5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLWluOyB9XG4gICAgLmJveGVkLWxpbmsgPiBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbjogM3B4IDAgMCAwO1xuICAgICAgYmFja2dyb3VuZDogIzQ2NDY0NjsgfVxuICAgICAgLmJveGVkLWxpbmsgPiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAuYm94ZWQtbGluay5zbWFsbCA+IGEge1xuICAgIHBhZGRpbmctYmxvY2s6IDEwcHg7IH1cbiAgICAuYm94ZWQtbGluay5zbWFsbCA+IGE6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7IH1cbiAgLmJveGVkLWxpbmsuc21hbGwgLmJveGVkLWxpbmtfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLnJvdGF0aW5nLWxvZ28ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAzMDBweDsgfVxuICAucm90YXRpbmctbG9nbyArIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5yb3RhdGluZy1sb2dvLS1hcmNoX19sYXJnZSB7XG4gIGFuaW1hdGlvbjogcm90YXRlIDYwcyBsaW5lYXIgaW5maW5pdGUgcmV2ZXJzZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbi5yb3RhdGluZy1sb2dvLS1hcmNoX19taWQge1xuICBhbmltYXRpb246IHJvdGF0ZSA1MHMgbGluZWFyIGluZmluaXRlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuLnJvdGF0aW5nLWxvZ28tLWFyY2hfX3NtYWxsIHtcbiAgYW5pbWF0aW9uOiByb3RhdGUgMjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4ud2hpdGUtYm94IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MiksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MikpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg5OCwgNjQsIDI0NCwgMC43KSwgcmdiYSg5OCwgNjQsIDI0NCwgMC43KSksIHRvcCB1cmwoLi4vaW1nL2Fic3RyYWN0LWJnLmpwZykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogIzEzMDMyOTtcbiAgYm9yZGVyLXJhZGl1czogMjBweCAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGw7IH1cbiAgLndoaXRlLWJveF9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC53aGl0ZS1ib3hfX2ltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLndoaXRlLWJveF9fZGVmYXVsdC1pbWFnZSB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgYm90dG9tIC0zMHB4IHVybCguLi9pbWcvdXNlci5zdmcpIG5vLXJlcGVhdCwgIzJmMmYyZjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDIwMHB4OyB9XG4gIC53aGl0ZS1ib3hfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDMwcHg7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAud2hpdGUtYm94X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC53aGl0ZS1ib3hfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLndoaXRlLWJveF9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMxMzAzMjk7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIG1hcmdpbi1ibG9jazogLTAuMmVtIDAuNWVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC53aGl0ZS1ib3hfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLndoaXRlLWJveF9fdGV4dCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7XG4gICAgLyogbnVtYmVyIG9mIGxpbmVzIHRvIHNob3cgKi9cbiAgICBsaW5lLWNsYW1wOiA1O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLndoaXRlLWJveF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLndoaXRlLWJveF9fdGV4dCAqIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAud2hpdGUtYm94X190ZXh0ICoge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC53aGl0ZS1ib3ggYSB7XG4gICAgY29sb3I6ICM0YjJhZjQ7IH1cbiAgLndoaXRlLWJveCAuY3RhX19jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLndoaXRlLWJveCAuc29jaWFsLWxpbmtzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIHJpZ2h0OiAzMHB4OyB9XG4gIC53aGl0ZS1ib3ggLmZhY2Vib29rIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9mYWNlYm9vay0tYmxhY2suc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLWluOyB9XG4gICAgLndoaXRlLWJveCAuZmFjZWJvb2s6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9mYWNlYm9vay0tdmlvbGV0LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC53aGl0ZS1ib3ggLnR3aXR0ZXIge1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL3R3aXR0ZXItLWJsYWNrLnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNnMgZWFzZS1pbjsgfVxuICAgIC53aGl0ZS1ib3ggLnR3aXR0ZXI6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy90d2l0dGVyLS12aW9sZXQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLndoaXRlLWJveCAubGlua2VkaW4ge1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2xpbmtlZGluLS1ibGFjay5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTZzIGVhc2UtaW47IH1cbiAgICAud2hpdGUtYm94IC5saW5rZWRpbjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2xpbmtlZGluLS12aW9sZXQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLndoaXRlLWJveCAuaW5zdGFncmFtIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9pbnN0YWdyYW0tLWJsYWNrLnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNnMgZWFzZS1pbjsgfVxuICAgIC53aGl0ZS1ib3ggLmluc3RhZ3JhbTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2luc3RhZ3JhbS0tdmlvbGV0LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbi5zb2NpYWwtbGlua3Mge1xuICBnYXA6IDMwcHg7IH1cbiAgLnNvY2lhbC1saW5rc19faXRlbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNvY2lhbC1saW5rc19faXRlbSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZhY2Vib29rIHtcbiAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvZmFjZWJvb2stLXdoaXRlLnN2Zykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNnMgZWFzZS1pbjsgfVxuICAuZmFjZWJvb2s6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvZmFjZWJvb2stLXZpb2xldC5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLnR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy90d2l0dGVyLS13aGl0ZS5zdmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTZzIGVhc2UtaW47IH1cbiAgLnR3aXR0ZXI6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvdHdpdHRlci0tdmlvbGV0LnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG4ubGlua2VkaW4ge1xuICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9saW5rZWRpbi0td2hpdGUuc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgZm9udC1zaXplOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLWluOyB9XG4gIC5saW5rZWRpbjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9saW5rZWRpbi0tdmlvbGV0LnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG4uaW5zdGFncmFtIHtcbiAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvaW5zdGFncmFtLS13aGl0ZS5zdmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTZzIGVhc2UtaW47IH1cbiAgLmluc3RhZ3JhbTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9pbnN0YWdyYW0tLXZpb2xldC5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLmxpZ2h0Ym94IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwMDA7IH1cbiAgLmxpZ2h0Ym94X19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgxODE4O1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveF9fb3ZlcmxheV9faW5zaWRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gIC5saWdodGJveCAuYnRuLS1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweCAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvY2xvc2Uuc3ZnKSBuby1yZXBlYXQsICM0YjJhZjQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubGlnaHRib3gge1xuICB3aWR0aDogNzAwcHg7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHggMDtcbiAgcGFkZGluZzogNTBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAubGlnaHRib3gge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgLmxpZ2h0Ym94X19zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5saWdodGJveF9fc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDsgfSB9XG4gIC5saWdodGJveC0tY29sbGFib3JhdGV1ciB7XG4gICAgd2lkdGg6IDEwMDBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSksIGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDk4LCA2NCwgMjQ0LCAwLjcpLCByZ2JhKDk4LCA2NCwgMjQ0LCAwLjcpKSwgdG9wIHVybCguLi9pbWcvYWJzdHJhY3QtYmcuanBnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogIzEzMDMyOTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgLmxpZ2h0Ym94X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgICAgIGdhcDogNTBweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyIC5saWdodGJveF9fY29udGVudCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgZ2FwOiAwOyB9IH1cbiAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgYSB7XG4gICAgICBjb2xvcjogIzRiMmFmNDsgfVxuICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9faW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDA7IH1cbiAgICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXJfX2ltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4OyB9IH1cbiAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXJfX2RlZmF1bHQtaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciBib3R0b20gLTMwcHggdXJsKC4uL2ltZy91c2VyLnN2Zykgbm8tcmVwZWF0LCAjMmYyZjJmO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAyMDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMDsgfVxuICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMTBweDsgfVxuICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX19zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjMTMwMzI5O1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgbWFyZ2luLWJsb2NrOiAtMC4yZW0gMC41ZW07IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9fc3VidGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0ICoge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9fdGV4dCAqIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXJfX3RleHQgYixcbiAgICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9fdGV4dCBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0IGIgKixcbiAgICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0IHN0cm9uZyAqIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5saWdodGJveC0tY29sbGFib3JhdGV1cl9fdGV4dCBpLFxuICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0IGVtIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0IGkgKixcbiAgICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX190ZXh0IGVtICoge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG4gICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyX19sYW5ndWFnZXMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXJfX2xhbmd1YWdlcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgLnNvY2lhbC1saW5rcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyIC5mYWNlYm9vayB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9mYWNlYm9vay0tYmxhY2suc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLWluOyB9XG4gICAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgLmZhY2Vib29rOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9mYWNlYm9vay0tdmlvbGV0LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgLnR3aXR0ZXIge1xuICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvdHdpdHRlci0tYmxhY2suc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLWluOyB9XG4gICAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgLnR3aXR0ZXI6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL3R3aXR0ZXItLXZpb2xldC5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyIC5saW5rZWRpbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9saW5rZWRpbi0tYmxhY2suc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLWluOyB9XG4gICAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgLmxpbmtlZGluOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9saW5rZWRpbi0tdmlvbGV0LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgICAubGlnaHRib3gtLWNvbGxhYm9yYXRldXIgLmluc3RhZ3JhbSB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9pbnN0YWdyYW0tLWJsYWNrLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNnMgZWFzZS1pbjsgfVxuICAgICAgLmxpZ2h0Ym94LS1jb2xsYWJvcmF0ZXVyIC5pbnN0YWdyYW06aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2luc3RhZ3JhbS0tdmlvbGV0LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLmxpZ2h0Ym94LS1sb2dpbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzEzMDMyOTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmxpZ2h0Ym94LS1sb2dpbiAubGlnaHRib3hfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogNzBweCA3MHB4IDEwMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAubGlnaHRib3gtLWxvZ2luIC5saWdodGJveF9fY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogNDBweCAyMHB4OyB9IH1cbiAgICAubGlnaHRib3gtLWxvZ2luIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5saWdodGJveC0tbG9naW4gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIC5saWdodGJveC0tbG9naW4gaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzEzMDMyOTsgfVxuICAgICAgLmxpZ2h0Ym94LS1sb2dpbiBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgICAgIC5saWdodGJveC0tbG9naW4gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuICAgICAgLmxpZ2h0Ym94LS1sb2dpbiBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0YjJhZjQ7IH1cblxuLmpzLW9wZW4tbGlnaHRib3gge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmJsb2NrLXBhY2thZ2VzIHtcbiAgYmFja2dyb3VuZDogNDAlIDEwMHB4IHVybCguLi9pbWcvbGluZXMtYmcuc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjIwJTtcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYmxvY2stcGFja2FnZXMge1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG4gIC5ibG9jay1wYWNrYWdlc19fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYmxvY2stcGFja2FnZXMgLmN0YV9fY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucGFja2FnZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDIwcHg7XG4gIGdyaWQtZ2FwOiAzMHB4O1xuICBwYWRkaW5nLWJsb2NrOiA0MHB4IDYwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAucGFja2FnZXMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoY2FsYygzIC0gMSksIDFmcik7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgLnBhY2thZ2VzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGNhbGMoMyAtIDIpLCAxZnIpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgIC5wYWNrYWdlcyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAucGFja2FnZXMge1xuICAgICAgcGFkZGluZy1ibG9jazogMzBweCAwOyB9IH1cbiAgLnBhY2thZ2VzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogIzE4MTgxODtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyB0cmFuc2Zvcm0gZWFzZS1vdXQ7XG4gICAgbWluLWhlaWdodDogNTAwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnBhY2thZ2VzX19pdGVtIHtcbiAgICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gICAgLnBhY2thZ2VzX19pdGVtLS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgLnBhY2thZ2VzX19pdGVtLS10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgICAucGFja2FnZXNfX2l0ZW0tLXBvaW50cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAwcHg7IH1cbiAgICAgIC5wYWNrYWdlc19faXRlbS0tcG9pbnRzLS1pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDE0cHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAucGFja2FnZXNfX2l0ZW0tLXBvaW50cy0taXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgICAucGFja2FnZXNfX2l0ZW0tLXBvaW50cy0taXRlbTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2NoZWNrLS13aGl0ZS5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgbWFyZ2luLWJsb2NrOiA0cHg7IH1cbiAgICAgICAgLnBhY2thZ2VzX19pdGVtLS1wb2ludHMtLWl0ZW0uc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgIC5wYWNrYWdlc19faXRlbS0tcG9pbnRzLS1pdGVtLnN0cm9uZyB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICAgICAgLnBhY2thZ2VzX19pdGVtLS1wb2ludHMtLWl0ZW0uc3Ryb25nOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9jaGVjay0td2hpdGUtYm9sZC5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogNnB4OyB9XG4gICAgLnBhY2thZ2VzX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkKSAucGFja2FnZXNfX2l0ZW0tLXBvaW50cyB7XG4gICAgICBjb2xvcjogIzZjZWFkMztcbiAgICAgIGJvcmRlci1jb2xvcjogIzZjZWFkMzsgfVxuICAgICAgLnBhY2thZ2VzX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkKSAucGFja2FnZXNfX2l0ZW0tLXBvaW50cy0taXRlbTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9jaGVjay0tZ3JlZW4uc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgICAgLnBhY2thZ2VzX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkKSAucGFja2FnZXNfX2l0ZW0tLXBvaW50cy0taXRlbS5zdHJvbmc6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvY2hlY2stLWdyZWVuLWJvbGQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIC5wYWNrYWdlc19faXRlbTpsYXN0LWNoaWxkIC5wYWNrYWdlc19faXRlbS0tdGl0bGUge1xuICAgICAgY29sb3I6ICM2Y2VhZDM7IH1cbiAgICAucGFja2FnZXNfX2l0ZW06bGFzdC1jaGlsZCAucGFja2FnZXNfX2l0ZW0tLXBvaW50cyB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTI4MjZlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmNlYWQzOyB9XG4gICAgLnBhY2thZ2VzX19pdGVtOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7IH1cblxuLmJsb2NrLWNvbXBhcmFpc29uIHtcbiAgbWFyZ2luLWJsb2NrOiA4MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmJsb2NrLWNvbXBhcmFpc29uIHtcbiAgICAgIG1hcmdpbi1ibG9jazogNDBweDsgfSB9XG4gIC5ibG9jay1jb21wYXJhaXNvbl9fcGFyYWdyYXBoIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmJsb2NrLWNvbXBhcmFpc29uX19wYXJhZ3JhcGgge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuYmxvY2stY29tcGFyYWlzb25fX3RhYmxlIHtcbiAgICBtYXJnaW4tYmxvY2s6IDYwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmJsb2NrLWNvbXBhcmFpc29uX190YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgLmJsb2NrLWNvbXBhcmFpc29uX190YWJsZSB0ciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gICAgICAuYmxvY2stY29tcGFyYWlzb25fX3RhYmxlIHRyIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLmJsb2NrLWNvbXBhcmFpc29uX190YWJsZSB0ciA6aXModGgsIHRkKSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAuYmxvY2stY29tcGFyYWlzb25fX3RhYmxlIHRyIDppcyh0aCwgdGQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0gfVxuICAgICAgICAuYmxvY2stY29tcGFyYWlzb25fX3RhYmxlIHRyIDppcyh0aCwgdGQpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAuYmxvY2stY29tcGFyYWlzb25fX3RhYmxlIHRyIDppcyh0aCwgdGQpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgICAuYmxvY2stY29tcGFyYWlzb25fX3RhYmxlIHRyIDppcyh0aCwgdGQpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7IH0gfVxuICAgICAgICAuYmxvY2stY29tcGFyYWlzb25fX3RhYmxlIHRyIDppcyh0aCwgdGQpOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgY29sb3I6ICM2Y2VhZDM7IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgLmJsb2NrLWNvbXBhcmFpc29uX190YWJsZSB0ciA6aXModGgsIHRkKTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH0gfVxuXG4uc2lnbmluIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgLnNpZ25pbjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogI2M4YTVmZDsgfVxuICAuc2lnbmluOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvdXNlci5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLnRvcE1lbnUgLnNpZ25pbiB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmxpZ2h0Ym94LS1sb2dpbiAuY3RhIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zaWduX19pbmZvYm94IHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgbGluZWFyLWdyYWRpZW50KDIzMi42ZGVnLCAjNjI0MGY0IDUuMSUsICNiMTdmZmQgOTQuOSUpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4IDBweDtcbiAgcGFkZGluZzogMjVweCA1MHB4O1xuICBtYXJnaW4tYmxvY2s6IDMwcHggNjBweDsgfVxuICAuc2lnbl9faW5mb2JveC0tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi5zaWduIC5maWVsZF9fY2hlY2tib3gge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2lnbiAuZm9ybV9fZXJyb3JzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmVkO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5zaWduIGEge1xuICBjb2xvcjogIzRiMmFmNDsgfVxuICAuc2lnbiBhLnNpZ25fX2ZvcmdvdF9saW5rIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICMxMzAzMjk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEuNWVtO1xuICAgIGNvbG9yOiAjMTMwMzI5OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5zaWduIGEuc2lnbl9fZm9yZ290X2xpbmsge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuc2lnbiBhLnNpZ25fX2ZvcmdvdF9saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4udGFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGFic19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgLnRhYnNfX2xpc3QgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMTIwJTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAudGFic19fbGlzdCBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgICAgIC50YWJzX19saXN0IGJ1dHRvbi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwLjE1KSwgcmdiYSgwLCAwLCAwLCAwLjE1KSksIGxpbmVhci1ncmFkaWVudCgyMzIuNmRlZywgIzYyNDBmNCA1LjElLCAjYjE3ZmZkIDk0LjklKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICB0ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC50YWJzICN0YWJzTGlzdExpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwLjE1KSwgcmdiYSgwLCAwLCAwLCAwLjE1KSksIGxpbmVhci1ncmFkaWVudCgyMzIuNmRlZywgIzYyNDBmNCA1LjElLCAjYjE3ZmZkIDk0LjklKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gIC50YWJzX19wYXJ0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRhYnNfX3BhcnQuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNmb3Jnb3RfcGFzc3dvcmQgLnd5c2l3eWcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbiNwYXl0aXVtLXN1Y2Nlc3Mge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMTIwcHg7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICB3aWR0aDogNzAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgcGFkZGluZzogMzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICNwYXl0aXVtLXN1Y2Nlc3Mge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLnBheXRpdW0tc3VjY2Vzcy1jbG9zZSB7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5wYXl0aXVtLXN1Y2Nlc3MtY2xvc2Ugc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBIdG1sXG4gKi9cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuLyoqXG4gKiBCb2R5XG4gKi9cbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzE4MTgxODtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGJvZHkgLmNlbnRlciB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHhweDtcbiAgICBwYWRkaW5nLWlubGluZTogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDApIHtcbiAgICAgIGJvZHkgLmNlbnRlciB7XG4gICAgICAgIHdpZHRoOiA5MCU7IH0gfVxuICBib2R5Lm5vLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKipcbiAqIExpbmtcbiAqL1xuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyoqXG4gKiBJbWFnZXNcbiAqL1xuaW1nLFxudmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogVGl0bGVcbiAqL1xuaDEge1xuICBmb250LXNpemU6IDNyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cblxuaDIge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxudmlkZW8ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICM2NzAzZmM7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjNjcwM2ZjO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5ociB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luLWJsb2NrOiA3MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSksIGxpbmVhci1ncmFkaWVudCgyMzIuNmRlZywgIzYyNDBmNCA1LjElLCAjYjE3ZmZkIDk0LjklKTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGhyIHtcbiAgICAgIG1hcmdpbi1ibG9jazogNDBweDsgfSB9XG5cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgcGFkZGluZy1pbmxpbmU6IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5jb250YWluZXJfX3NtYWxsIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIHBhZGRpbmctaW5saW5lOiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgIC5jb250YWluZXIgLmNvbnRhaW5lcl9fc21hbGwge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZ2FwOiAyMHB4OyB9XG5cbi5ncmlkLTQtY29scyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdhcDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgIC5ncmlkLTQtY29scyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChjYWxjKDQgLSAxKSwgMWZyKTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAuZ3JpZC00LWNvbHMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoY2FsYyg0IC0gMiksIDFmcik7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gICAgLmdyaWQtNC1jb2xzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7IH0gfVxuXG4uZ3JpZC0zLWNvbHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICBnYXA6IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuZ3JpZC0zLWNvbHMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoY2FsYygzIC0gMSksIDFmcik7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgLmdyaWQtMy1jb2xzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGNhbGMoMyAtIDIpLCAxZnIpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgIC5ncmlkLTMtY29scyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOyB9IH1cblxuLmhpZGRlbi10ZXh0LFxuLmhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zbGlkZXJfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gNzAwcHgpO1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgIC5zbGlkZXJfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1lbnUgdWwsXG4gIC5tZW51IG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZW51IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY29udGVudDpub3QoI2hvbWUpIHtcbiAgYmFja2dyb3VuZDogNDAlIDUwMHB4IHVybCguLi9pbWcvbGluZXMtYmcuc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjIwJTtcbiAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xuICBtaW4taGVpZ2h0OiA4MHZoOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbnRlbnQ6bm90KCNob21lKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfSB9XG5cbi5ib3hlZC1jb250ZW50IHtcbiAgcGFkZGluZzogNzBweDtcbiAgYm9yZGVyLXJhZGl1czogMzBweCAwcHg7XG4gIGJhY2tncm91bmQ6ICMyZjJmMmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYm94ZWQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gIC5ib3hlZC1jb250ZW50IC5jdGFfX2NvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4jY29udGFjdCxcbiNuZXdzLFxuI2Zvcm1hdGlvbiB7XG4gIGJhY2tncm91bmQ6IDQwJSAtNTBweCB1cmwoLi4vaW1nL2xpbmVzLWJnLnN2Zykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIyMCU7IH1cblxuI3NlcnZpY2VzIGgxIHtcbiAgY29sb3I6ICM2Y2VhZDM7IH1cblxuI2Zvcm1hdGlvbnMge1xuICBiYWNrZ3JvdW5kOiA0MCUgOTAwcHggdXJsKC4uL2ltZy9saW5lcy1iZy5zdmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyMjAlOyB9XG4gICNmb3JtYXRpb25zIGgxIHtcbiAgICBjb2xvcjogI2ZmY2I2NjsgfVxuXG4uc2VydmljZXMtbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdyaWQtZ2FwOiA2MHB4IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLnNlcnZpY2VzLWxpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgLnNlcnZpY2VzLWxpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgICAuc2VydmljZXMtbGlzdCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOyB9IH1cblxuLmZvcm1hdGlvbnMtbGlzdCAuYm94ZWQtbGluayA+IGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9wbHVzLXllbGxvdy5zdmcpIG5vLXJlcGVhdDsgfVxuXG4uZm9ybWF0aW9ucy1saXN0IC5ib3hlZC1saW5rX19jYXRlZ29yeSB7XG4gIGNvbG9yOiAjZmZjYjY2OyB9XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRvcCAxMDBweCByaWdodCA0MHB4IHVybCguLi9pbWcvY2xvc2Uuc3ZnKSBuby1yZXBlYXQsIHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuICB6LWluZGV4OiAxMDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucG9zdC1kYXRlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAucG9zdC1kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5wb3N0LWRhdGUgKyAucGFnZS1oZWFkZXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjNlbTsgfVxuXG4uaGVhZGVyIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIHBhZGRpbmctaW5saW5lOiAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJ0b3BuYXYgdG9wbmF2XCIgXCJsb2dvIG1haW5uYXZcIjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMDBweCAxZnI7XG4gIGdyaWQtZ2FwOiAxM3B4O1xuICBwYWRkaW5nOiAxcmVtIDIwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjE1cHggMWZyO1xuICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICBwYWRkaW5nLWJsb2NrOiAxLjRyZW07IH0gfVxuICAuaGVhZGVyIC5tZW51X19jb250YWN0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMTBweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMSksIHJnYmEoMCwgMCwgMCwgMC4xKSksIGxpbmVhci1ncmFkaWVudCgyMjYuNTJkZWcsICM2MjQwZjQgNS43MyUsICNiMTdmZmQgMzc1LjcyJSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDE0LjI5NTJweCAyMy4wMDY0cHggcmdiYSgwLCAwLCAwLCAwLjE3ODgzMiksIDBweCA0LjI1NjA3cHggNi44NDk2MXB4IHJnYmEoMCwgMCwgMCwgMC4xMjExNjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAuaGVhZGVyIC5tZW51X19jb250YWN0IGE6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICBib3gtc2hhZG93OiAwcHggOC4yOTUycHggMjMuMDA2NHB4IHJnYmEoMCwgMCwgMCwgMC4xNzg4MzIpLCAwcHggMi4yNTYwN3B4IDYuODQ5NjFweCByZ2JhKDAsIDAsIDAsIDAuMTIxMTY4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7IH1cbiAgLmhlYWRlciAubWVudV9fY29udGFjdC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZGVyX19sb2dvX19saW5rIHtcbiAgZ3JpZC1hcmVhOiBsb2dvO1xuICBtYXJnaW4tdG9wOiAtMTNweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgIC5oZWFkZXJfX2xvZ29fX2xpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi50b3BNZW51X19jb250YWluZXIge1xuICBncmlkLWFyZWE6IHRvcG5hdjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC50b3BNZW51X19jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tYWluTWVudV9fY29udGFpbmVyIHtcbiAgZ3JpZC1hcmVhOiBtYWlubmF2OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLm1haW5NZW51X19jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICMxODE4MTg7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLm1haW5NZW51X19jb250YWluZXIgLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLm1haW5NZW51X19jb250YWluZXIgLm1lbnVfX2NvbnRhY3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgICAgLm1haW5NZW51X19jb250YWluZXIgLnRvcE1lbnVfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7IH0gfVxuXG4ubWFpbk1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBnYXA6IDUwcHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLm1haW5NZW51IGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxMjAlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAubWFpbk1lbnUgYTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGNvbG9yOiAjYzhhNWZkOyB9XG5cbi50b3BNZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZ2FwOiAzMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLnRvcE1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC50b3BNZW51IGEge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAudG9wTWVudSBhOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgY29sb3I6ICNjOGE1ZmQ7IH1cblxuLm1lbnUtaXRlbSBhOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICBjb2xvcjogI2JhYWVmOTsgfVxuXG4ubWVudS1pdGVtLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICBjb2xvcjogI2JhYWVmOTsgfVxuXG4ubWVudS1pdGVtLnllbGxvdyBhOmlzKDpob3ZlciwgOmFjdGl2ZSksXG4ubWVudS1pdGVtLnllbGxvdy5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgY29sb3I6ICNmZmNiNjY7IH1cblxuLm1lbnUtaXRlbS5ncmVlbiBhOmlzKDpob3ZlciwgOmFjdGl2ZSksXG4ubWVudS1pdGVtLmdyZWVuLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICBjb2xvcjogIzZjZWFkMzsgfVxuXG4jb3Blbk1lbnUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgI29wZW5NZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS43cmVtO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDRweDsgfVxuICAgICAgI29wZW5NZW51IC5vcGVuTWVudV9fbGluZSB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgI29wZW5NZW51Lm9wZW4gLm9wZW5NZW51X19saW5lOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgICNvcGVuTWVudS5vcGVuIC5vcGVuTWVudV9fbGluZTpudGgtY2hpbGQoMikge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAjb3Blbk1lbnUub3BlbiAub3Blbk1lbnVfX2xpbmU6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHJvdGF0ZSgtNDVkZWcpOyB9IH1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gIHBhZGRpbmctYmxvY2s6IDUwcHggMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA3MHB4OyB9XG4gIC5mb290ZXIgLm5vb21pYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogODFweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mb290ZXIgLm5vb21pYTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgxcHggMTVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2xvZ28tbm9vbWlhLS1saWdodC5zdmcpOyB9XG4gICAgLmZvb3RlciAubm9vbWlhOmFmdGVyIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogODFweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbG9nby1ub29taWEtLWxpZ2h0LnN2Zyk7IH1cbiAgICAuZm9vdGVyIC5ub29taWE6aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvb3RlciAuZ3JpZC00LWNvbHMge1xuICAgIGdhcDogNjBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuZm9vdGVyIC5ncmlkLTQtY29scyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICBnYXA6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgIC5mb290ZXIgLmdyaWQtNC1jb2xzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBnYXA6IDMwcHg7IH0gfVxuICAuZm9vdGVyLWNvbC0xIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzMHB4O1xuICAgIG1heC13aWR0aDogMzEwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAuZm9vdGVyLWNvbC0xIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfSB9XG4gIC5mb290ZXItY29sLTIge1xuICAgIHBhZGRpbmctbGVmdDogOTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuZm9vdGVyLWNvbC0yIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAuZm9vdGVyLWNvbC0yIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAuZm9vdGVyLWNvbC0zIHtcbiAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5mb290ZXItY29sLTQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5mb290ZXItY29sLTQge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgIC5mb290ZXItY29sLTQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9IH1cbiAgLmZvb3Rlci1tZW51IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxcmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5mb290ZXItbWVudSB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAuZm9vdGVyLW1lbnUgdWw6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICAgICAgY29sb3I6ICNjOGE1ZmQ7IH0gfVxuICAuZm9vdGVyX19jb250YWN0LWxpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZm9vdGVyIGFkZHJlc3Mge1xuICAgIGNvbG9yOiAjZjFmYWVlYjM7IH1cbiAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBjb2xvcjogI2YxZmFlZWIzO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5mb290ZXJfX2JvdHRvbSB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAyNHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgIC5mb290ZXJfX2JvdHRvbSB1bCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IDFlbTsgfSB9XG4gICAgLmZvb3Rlcl9fYm90dG9tIGEge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICNmMWZhZWViMzsgfVxuXG4uY29weXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmNvcHlyaWdodCBpbWcge1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIGhlaWdodDogMTNweDsgfVxuXG4uaGVybyB7XG4gIGhlaWdodDogODB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmhlcm8ge1xuICAgICAgaGVpZ2h0OiA4NXZoOyB9IH1cbiAgLmhlcm9fX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWF4LXdpZHRoOiA5MTVweDsgfVxuICAgIC5oZXJvX190aXRsZSBiIHtcbiAgICAgIGNvbG9yOiAjYzhhNWZkOyB9XG4gIC5oZXJvIC5jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmhlcm8gLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLmhlcm8gLmRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgaGVpZ2h0OiA1NTBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5oZXJvIC5kb3RzIHtcbiAgICAgICAgd2lkdGg6IDExMHZ3O1xuICAgICAgICBtaW4td2lkdGg6IDgwMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDI4dmg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgLmhlcm8gLmRvdHMgLmRvdHNfX2NvbnRhaW5lciBnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgwcHgpO1xuICAgICAgYW5pbWF0aW9uOiBmbG9hdCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfVxuICAgICAgLmhlcm8gLmRvdHMgLmRvdHNfX2NvbnRhaW5lciBnOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS41czsgfVxuICAgICAgLmhlcm8gLmRvdHMgLmRvdHNfX2NvbnRhaW5lciBnOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMnM7IH1cbiAgICAgIC5oZXJvIC5kb3RzIC5kb3RzX19jb250YWluZXIgZzpudGgtY2hpbGQoNSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDIuNXM7IH1cbiAgICAgIC5oZXJvIC5kb3RzIC5kb3RzX19jb250YWluZXIgZzpudGgtY2hpbGQoNikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDNzOyB9XG4gICAgICAuaGVybyAuZG90cyAuZG90c19fY29udGFpbmVyIGc6bnRoLWNoaWxkKDcpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzLjVzOyB9XG4gICAgICAuaGVybyAuZG90cyAuZG90c19fY29udGFpbmVyIGc6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0czsgfVxuICAgICAgLmhlcm8gLmRvdHMgLmRvdHNfX2NvbnRhaW5lciBnOm50aC1jaGlsZCg5KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogNC41czsgfVxuICAgICAgLmhlcm8gLmRvdHMgLmRvdHNfX2NvbnRhaW5lciBnOm50aC1jaGlsZCgxMCkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDVzOyB9XG4gICAgICAuaGVybyAuZG90cyAuZG90c19fY29udGFpbmVyIGc6bnRoLWNoaWxkKDExKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogNS41czsgfVxuICAgICAgLmhlcm8gLmRvdHMgLmRvdHNfX2NvbnRhaW5lciBnOm50aC1jaGlsZCgxMikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDZzOyB9XG4gICAgICAuaGVybyAuZG90cyAuZG90c19fY29udGFpbmVyIGc6bnRoLWNoaWxkKDEzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogNi41czsgfVxuICAgICAgLmhlcm8gLmRvdHMgLmRvdHNfX2NvbnRhaW5lciBnOm50aC1jaGlsZCgxNCkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDdzOyB9XG4gICAgICAuaGVybyAuZG90cyAuZG90c19fY29udGFpbmVyIGc6bnRoLWNoaWxkKDE1KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogNy41czsgfVxuICAuaGVybyAucm90YXRpbmctbG9nbyB7XG4gICAgd2lkdGg6IDQ3MHB4O1xuICAgIGhlaWdodDogNDcwcHg7XG4gICAgcmlnaHQ6IGNhbGMoNTB2dyAtIDcyMHB4KTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmhlcm8gLnJvdGF0aW5nLWxvZ28ge1xuICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwLjQ7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgIC5oZXJvIC5yb3RhdGluZy1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwLjQ7IH0gfVxuXG4uaGFzLXNpZGViYXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MDBweDtcbiAgZ3JpZC1nYXA6IDYwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuaGFzLXNpZGViYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDIwcHg7IH0gfVxuXG4uc2lkZWJhciAud2hpdGUtYm94IHtcbiAgd2lkdGg6IDUwMHB4O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuc2lkZWJhciAud2hpdGUtYm94IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweCAwOyB9IH1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ibG9jazogNTBweCAzMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IDUwcHggMjBweDsgfSB9XG4gIC5wYWdlLWhlYWRlcl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnBhZ2UtaGVhZGVyX190aXRsZSwgLnBhZ2UtaGVhZGVyX19wYXJhZ3JhcGgge1xuICAgIG1heC13aWR0aDogODUwcHg7IH1cbiAgLnBhZ2UtaGVhZGVyX19wYXJhZ3JhcGgge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5wYWdlLWhlYWRlcl9fcGFyYWdyYXBoIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnBhZ2UtaGVhZGVyX19pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgICAucGFnZS1oZWFkZXJfX2ltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnBhZ2UtaGVhZGVyX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAucGFnZS1oZWFkZXJfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NTBweCkge1xuICAgICAgLnBhZ2UtaGVhZGVyX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7IH0gfVxuXG4ucGFnZS1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ibG9jazogMTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGhlaWdodDogNjUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAucGFnZS1oZXJvIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctYmxvY2s6IDA7IH0gfVxuICAucGFnZS1oZXJvX19iYWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IDIwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnBhZ2UtaGVyb19fYmFjayB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAucGFnZS1oZXJvX19pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA3ODBweDtcbiAgICBoZWlnaHQ6IDU3NXB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnBhZ2UtaGVyb19faW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAucGFnZS1oZXJvX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjUwcHg7IH0gfVxuICAgIC5wYWdlLWhlcm9fX2ltYWdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI4LCAyMCwgNDAsIDAuNSk7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5wYWdlLWhlcm9fX2ltYWdlOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnBhZ2UtaGVyb19fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5wYWdlLWhlcm9fX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLnBhZ2UtaGVyb19fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWF4LXdpZHRoOiA4NzBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAucGFnZS1oZXJvX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiA0MHB4IDIwcHg7IH0gfVxuICAucGFnZS1oZXJvX19jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLnBhZ2UtaGVyb19fY2F0ZWdvcnkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4jaG9tZU5ld3Mge1xuICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAjaG9tZU5ld3Mge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuXG4jaG9tZVNlcnZpY2VzIHtcbiAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvbGluZXMtYmcuc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmctYmxvY2s6IDEyMHB4IDE3MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgI2hvbWVTZXJ2aWNlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuICAjaG9tZVNlcnZpY2VzIGgyIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgI2hvbWVTZXJ2aWNlcyBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbi50bnMtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDMwcHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnRucy1jb250cm9scyBidXR0b24ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBmb250LXNpemU6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvYXJyb3cuc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnRucy1jb250cm9scyBidXR0b246aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgICAudG5zLWNvbnRyb2xzIGJ1dHRvbltkYXRhLWNvbnRyb2xzPVwicHJldlwiXSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAudG5zLWNvbnRyb2xzIGJ1dHRvbltkYXRhLWNvbnRyb2xzPVwicHJldlwiXTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KSByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC50bnMtY29udHJvbHMgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjE7IH1cblxuLmVycm9yNDA0IC5mb290ZXIsXG4uZXJyb3I0MDQgLmhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmVycm9yNDA0IC5lcnJvcjQwNF9fZ3JvdXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZXJyb3I0MDQgLm1haW5UaXRsZV9fZmlyc3Qge1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM2NzAzZmM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMWVtO1xuICBsZWZ0OiAxLjVlbTtcbiAgZm9udC1zaXplOiAxLjVlbTsgfVxuXG4uZXJyb3I0MDQgLm1haW5UaXRsZV9fc2Vjb25kIHtcbiAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjNjcwM2ZjO1xuICBsaW5lLWhlaWdodDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmVycm9yNDA0IC5tYWluVGl0bGVfX3NlY29uZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmVycm9yNDA0IC5lcnJvcjQwNF9fbGluayB7XG4gIGZvbnQtc2l6ZTogMS4yZW07IH1cblxuLmZvcm1hdGlvbiAucGFnZS1oZXJvX190aXRsZSB7XG4gIGNvbG9yOiAjZmZjYjY2OyB9XG5cbi5mb3JtYXRpb24gLndoaXRlLWJveCB7XG4gIHBhZGRpbmc6IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuZm9ybWF0aW9uIC53aGl0ZS1ib3gge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5mb3JtYXRpb24gLndoaXRlLWJveF9fY29udGVudCB7XG4gICAgZ2FwOiAwOyB9XG4gIC5mb3JtYXRpb24gLndoaXRlLWJveCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNjNzg1MDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmZvcm1hdGlvbiAud2hpdGUtYm94IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLmZvcm1hdGlvbl9fcHJpY2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgIC5mb3JtYXRpb25fX3ByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5mb3JtYXRpb25fX3ByaWNlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuZm9ybWF0aW9uX19wcmljZSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmZvcm1hdGV1cnMge1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDsgfVxuICAuZm9ybWF0ZXVyc19faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6IDUycHg7XG4gICAgbWluLWhlaWdodDogMzZweDtcbiAgICB0cmFuc2l0aW9uOiAwLjE1cyBjb2xvciBlYXNlLW91dDsgfVxuICAgIC5mb3JtYXRldXJzX19pdGVtLS1zb2NpYWwge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZS1vdXQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5mb3JtYXRldXJzX19pdGVtLS1zb2NpYWwge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgLmZvcm1hdGV1cnNfX2l0ZW0tLXNvY2lhbCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICBoZWlnaHQ6IDIxcHg7IH1cbiAgICAuZm9ybWF0ZXVyc19faXRlbTpob3ZlciB7XG4gICAgICBjb2xvcjogI2M3ODUwMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgLmZvcm1hdGV1cnNfX2l0ZW06aG92ZXIgLmZvcm1hdGV1cnNfX2l0ZW0tLXNvY2lhbCB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm1hdGV1cnMgLmZhY2Vib29rIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9mYWNlYm9vay0teWVsbG93LnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNnMgZWFzZS1pbjsgfVxuICAgIC5mb3JtYXRldXJzIC5mYWNlYm9vazppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2ZhY2Vib29rLS12aW9sZXQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLmZvcm1hdGV1cnMgLnR3aXR0ZXIge1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL3R3aXR0ZXItLXllbGxvdy5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTZzIGVhc2UtaW47IH1cbiAgICAuZm9ybWF0ZXVycyAudHdpdHRlcjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL3R3aXR0ZXItLXZpb2xldC5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAuZm9ybWF0ZXVycyAubGlua2VkaW4ge1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoLi4vaW1nL2xpbmtlZGluLS15ZWxsb3cuc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLWluOyB9XG4gICAgLmZvcm1hdGV1cnMgLmxpbmtlZGluOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvbGlua2VkaW4tLXZpb2xldC5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAuZm9ybWF0ZXVycyAuaW5zdGFncmFtIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKC4uL2ltZy9pbnN0YWdyYW0tLXllbGxvdy5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTZzIGVhc2UtaW47IH1cbiAgICAuZm9ybWF0ZXVycyAuaW5zdGFncmFtOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCguLi9pbWcvaW5zdGFncmFtLS12aW9sZXQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cblxuLmFydGljbGVfZGVfbG9pX19jb250ZW50IHtcbiAgcGFkZGluZzogNzBweCAyMDBweCA3MHB4IDcwcHg7XG4gIGJhY2tncm91bmQ6ICMyZjJmMmY7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHggMHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmFydGljbGVfZGVfbG9pX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBwYWRkaW5nOiA0MHB4IDMwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuYXJ0aWNsZV9kZV9sb2lfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgIC5hcnRpY2xlX2RlX2xvaV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLmFydGljbGVfZGVfbG9pX19wYXJhZ3JhcGgge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLmFydGljbGVfZGVfbG9pX19wYXJhZ3JhcGgge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmFydGljbGVfZGVfbG9pX19tZXNzYWdlLS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuYXJ0aWNsZV9kZV9sb2lfX21lc3NhZ2UtLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbi5hcnRpY2xlX2RlX2xvaV9fbWVzc2FnZS0tY29udGVudCBhIHtcbiAgY29sb3I6ICNiYWFlZjk7IH1cblxuLmFydGljbGVfZGVfbG9pX19tZXNzYWdlLS1jb250ZW50IGkge1xuICB0cmFuc2Zvcm06IHNrZXdYKC0xNWRlZyk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDsgfVxuXG4uYXJ0aWNsZV9kZV9sb2lfX2dlbmVyYWxpdGVzIHtcbiAgcGFkZGluZzogNzBweCAyMDBweCA3MHB4IDcwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHggMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSksIGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDk4LCA2NCwgMjQ0LCAwLjcpLCByZ2JhKDk4LCA2NCwgMjQ0LCAwLjcpKSwgdG9wIHVybCguLi9pbWcvYWJzdHJhY3QtYmcuanBnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjMTMwMzI5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYXJ0aWNsZV9kZV9sb2lfX2dlbmVyYWxpdGVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBwYWRkaW5nOiA0MHB4IDMwcHg7IH0gfVxuICAuYXJ0aWNsZV9kZV9sb2lfX2dlbmVyYWxpdGVzLS10aXRsZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC4xNSksIHJnYmEoMCwgMCwgMCwgMC4xNSkpLCBsaW5lYXItZ3JhZGllbnQoMjMyLjZkZWcsICM2MjQwZjQgNS4xJSwgI2IxN2ZmZCA5NC45JSk7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICB0ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuYXJ0aWNsZV9kZV9sb2lfX2dlbmVyYWxpdGVzLS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyOHB4OyB9XG4gIC5hcnRpY2xlX2RlX2xvaV9fZ2VuZXJhbGl0ZXMtLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogNTJweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgLmFydGljbGVfZGVfbG9pX19nZW5lcmFsaXRlcy0taXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLmFydGljbGVfZGVfbG9pX19nZW5lcmFsaXRlcy0taXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjNGIyYWY0OyB9XG4gICAgLmFydGljbGVfZGVfbG9pX19nZW5lcmFsaXRlcy0taXRlbSBpIHtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goLTE1ZGVnKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7IH1cbiAgLmFydGljbGVfZGVfbG9pX19nZW5lcmFsaXRlcyAucmVzdHJpY3RlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLmFydGljbGVfZGVfbG9pX19nZW5lcmFsaXRlcyAucmVzdHJpY3RlZCB7XG4gICAgICAgIHBhZGRpbmc6IDE2MHB4IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5hcnRpY2xlX2RlX2xvaV9fZ2VuZXJhbGl0ZXMgLnJlc3RyaWN0ZWQgaDIge1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAuYXJ0aWNsZV9kZV9sb2lfX2dlbmVyYWxpdGVzIC5yZXN0cmljdGVkIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNzVyZW07IH0gfVxuICAgIC5hcnRpY2xlX2RlX2xvaV9fZ2VuZXJhbGl0ZXMgLnJlc3RyaWN0ZWQgaDIsXG4gICAgLmFydGljbGVfZGVfbG9pX19nZW5lcmFsaXRlcyAucmVzdHJpY3RlZCAuY3RhX19jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuYXJ0aWNsZV9kZV9sb2lfX2dlbmVyYWxpdGVzIC5yZXN0cmljdGVkIC5yb3RhdGluZy1sb2dvIHtcbiAgICAgIHdpZHRoOiA0MDVweDtcbiAgICAgIGhlaWdodDogNDA1cHg7XG4gICAgICBvcGFjaXR5OiAwLjE7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5hcnRpY2xlX2RlX2xvaV9fZ2VuZXJhbGl0ZXMgLnJlc3RyaWN0ZWQgLnJvdGF0aW5nLWxvZ28ge1xuICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIHRvcDogMTAwcHg7IH0gfVxuXG4uYXJ0aWNsZV9kZV9sb2kgLmN0YV9fY29udGFpbmVyIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYmxvY2s6IDMwcHg7IH1cblxuI2Fib3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNhYm91dCA+IC5yb3RhdGluZy1sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGNhbGMoNTB2dyAtIDU5MHB4KTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIHdpZHRoOiA0MDVweDtcbiAgICBoZWlnaHQ6IDQwNXB4O1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAjYWJvdXQgPiAucm90YXRpbmctbG9nbyB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDsgfSB9XG4gICNhYm91dCAjYWJvdXRUZWFtIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAzMHB4IDE3MHB4OyB9XG4gICAgI2Fib3V0ICNhYm91dFRlYW0gLndoaXRlLWJveF9faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAzMDBweDsgfVxuICAjYWJvdXQgLmdyaWQtMy1jb2xzIHtcbiAgICBnYXA6IDMwcHg7IH1cbiAgI2Fib3V0IC53aGl0ZS1ib3gge1xuICAgIHRyYW5zaXRpb246IDAuMjVzIHRyYW5zZm9ybSBlYXNlLW91dDsgfVxuICAgICNhYm91dCAud2hpdGUtYm94X19pbWFnZSBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogMC4yNXMgdHJhbnNmb3JtIGVhc2Utb3V0OyB9XG4gICAgI2Fib3V0IC53aGl0ZS1ib3g6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7IH1cbiAgICAgICNhYm91dCAud2hpdGUtYm94OmlzKDpob3ZlciwgOmFjdGl2ZSkgLndoaXRlLWJveF9faW1hZ2UgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTsgfVxuICAgICNhYm91dCAud2hpdGUtYm94IC5jdGFfX2NvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDMwcHg7XG4gICAgICByaWdodDogMzBweDsgfVxuICAgICNhYm91dCAud2hpdGUtYm94X19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDVlbTsgfVxuICAgICNhYm91dCAud2hpdGUtYm94IC5jdGEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zZXJ2aWNlIHtcbiAgcGFkZGluZy1ib3R0b206IDE3MHB4OyB9XG4gIC5zZXJ2aWNlIC5wYWdlLWhlcm9fX3RpdGxlIHtcbiAgICBjb2xvcjogIzZjZWFkMzsgfVxuICAuc2VydmljZSAuaGFzLXNpZGViYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OyB9XG4gIC5zZXJ2aWNlIC53aGl0ZS1ib3gge1xuICAgIHBhZGRpbmc6IDQwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgLnNlcnZpY2UgLndoaXRlLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5zZXJ2aWNlIC53aGl0ZS1ib3hfX2NvbnRlbnQge1xuICAgICAgZ2FwOiAwOyB9XG4gICAgLnNlcnZpY2UgLndoaXRlLWJveCBoMyB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzEyODI2ZTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgLnNlcnZpY2UgLndoaXRlLWJveCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuI2V4cGVydGlzZSB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICNleHBlcnRpc2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICNleHBlcnRpc2UgPiAucm90YXRpbmctbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBjYWxjKDUwdncgLSA3MjBweCk7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0MDVweDtcbiAgICBoZWlnaHQ6IDQwNXB4O1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAjZXhwZXJ0aXNlID4gLnJvdGF0aW5nLWxvZ28ge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4OyB9IH1cblxuLnRpbWVsaW5lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogNjBweCBhdXRvIDEyMHB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC50aW1lbGluZSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMjBweDsgfSB9XG4gIC50aW1lbGluZV9fY3VycmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTBweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC50aW1lbGluZV9fY3VycmVudF9fZ3JvdyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgLnRpbWVsaW5lX19jdXJyZW50X19ncm93IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnRpbWVsaW5lX19saXN0IHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRpbWVsaW5lX19saXN0X19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAwcHg7IH1cbiAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbTpiZWZvcmUsIC50aW1lbGluZV9fbGlzdF9faXRlbTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAvKiAxICovXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAvKiAyICovIH1cbiAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbTphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbSB7XG4gICAgICAgICAgcGFkZGluZzogNDBweCAwIDAgMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG4gICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW0uY3VycmVudDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNiYWFlZjk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4MXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxLjIpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxLjIpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHNjYWxlKDEuMik7IH1cbiAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbS0tbGluZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW0tLWxpbmU6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtLS1saW5lOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDgxcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtLS1saW5lOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NTBweCkge1xuICAgICAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbV9fdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW1fX3RleHQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAgICAgICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtX190ZXh0IGgzIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbV9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW1fX2ltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDBweDsgfSB9XG4gICAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbV9faW1hZ2UgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAwO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW06bnRoLW9mLXR5cGUoMm4pIC50aW1lbGluZV9fbGlzdF9faXRlbV9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW06bnRoLW9mLXR5cGUoMm4pIC50aW1lbGluZV9fbGlzdF9faXRlbV9fdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4OyB9IH1cbiAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbTpudGgtb2YtdHlwZSgybikgLnRpbWVsaW5lX19saXN0X19pdGVtX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtOm50aC1vZi10eXBlKDJuKSAudGltZWxpbmVfX2xpc3RfX2l0ZW1fX2ltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDBweDsgfSB9XG4gICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW0tLXN0YXJ0LCAudGltZWxpbmVfX2xpc3RfX2l0ZW0tLWVuZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCksIGJhY2tncm91bmQgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtLS1zdGFydDphZnRlciwgLnRpbWVsaW5lX19saXN0X19pdGVtLS1lbmQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW0tLXN0YXJ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJmMmYyZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW0tLXN0YXJ0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW0tLWVuZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODE4MTg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAudGltZWxpbmVfX2xpc3RfX2l0ZW0tLWVuZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtLS1lbmQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gICAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbS0tZW5kLmN1cnJlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuI2NvbnRhY3QgLnBhZ2UtaGVyb19fc3VidGl0bGUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBtYXgtd2lkdGg6IDU1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgI2NvbnRhY3QgLnBhZ2UtaGVyb19fc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAjY29udGFjdCAucGFnZS1oZXJvX19zdWJ0aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4jY29udGFjdCAud2hpdGUtYm94IHtcbiAgcGFkZGluZzogNDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICNjb250YWN0IC53aGl0ZS1ib3gge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbiNjb250YWN0IC5idXJlYXUgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM2NzAzZmM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAjY29udGFjdCAuYnVyZWF1IHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4jY29udGFjdCAucGFnZS1oZXJvX19pbWFnZTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMzZTAyOTc7XG4gIG9wYWNpdHk6IDAuMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmdtYXBzIHtcbiAgaGVpZ2h0OiA1NzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5nbWFwcyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuYm94ZWQtY29udGVudCB7XG4gICAgcGFkZGluZy1ibG9jazogNTBweDsgfVxuICAgIC5ib3hlZC1jb250ZW50IC5uZi1mb3JtLWNvbnQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4iLCIvKioqXG4gICAgVGhlIG5ldyBDU1MgcmVzZXQgLSB2ZXJzaW9uIDEuOC4yIChsYXN0IHVwZGF0ZWQgMjMuMTIuMjAyMilcbiAgICBHaXRIdWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2VsYWQyNDEyL3RoZS1uZXctY3NzLXJlc2V0XG4qKiovXG5cbi8qXG4gICAgUmVtb3ZlIGFsbCB0aGUgc3R5bGVzIG9mIHRoZSBcIlVzZXItQWdlbnQtU3R5bGVzaGVldFwiLCBleGNlcHQgZm9yIHRoZSAnZGlzcGxheScgcHJvcGVydHlcbiAgICAtIFRoZSBcInN5bWJvbCAqXCIgcGFydCBpcyB0byBzb2x2ZSBGaXJlZm94IFNWRyBzcHJpdGUgYnVnXG4gKi9cbio6d2hlcmUoXG4gICAgOm5vdChodG1sLCBpZnJhbWUsIGNhbnZhcywgaW1nLCBzdmcsIHBhdGgsIHZpZGVvLCBhdWRpbyk6bm90KFxuICAgICAgICBzdmcgKixcbiAgICAgICAgc3ltYm9sICpcbiAgICAgIClcbiAgKSB7XG4gIGFsbDogdW5zZXQ7XG4gIGRpc3BsYXk6IHJldmVydDtcbn1cblxuLyogUHJlZmVycmVkIGJveC1zaXppbmcgdmFsdWUgKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFJlYXBwbHkgdGhlIHBvaW50ZXIgY3Vyc29yIGZvciBhbmNob3IgdGFncyAqL1xuYSxcbmJ1dHRvbiB7XG4gIGN1cnNvcjogcmV2ZXJ0O1xufVxuXG4vKiBSZW1vdmUgbGlzdCBzdHlsZXMgKGJ1bGxldHMvbnVtYmVycykgKi9cbm9sLFxudWwsXG5tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9yIGltYWdlcyB0byBub3QgYmUgYWJsZSB0byBleGNlZWQgdGhlaXIgY29udGFpbmVyICovXG5pbWcge1xuICBtYXgtaW5saW5lLXNpemU6IDEwMCU7XG4gIG1heC1ibG9jay1zaXplOiAxMDAlO1xufVxuXG4vKiByZW1vdmVzIHNwYWNpbmcgYmV0d2VlbiBjZWxscyBpbiB0YWJsZXMgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLyogU2FmYXJpIC0gc29sdmluZyBpc3N1ZSB3aGVuIHVzaW5nIHVzZXItc2VsZWN0Om5vbmUgb24gdGhlIDxib2R5PiB0ZXh0IGlucHV0IGRvZXNuJ3Qgd29ya2luZyAqL1xuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG87XG59XG5cbi8qIHJldmVydCB0aGUgJ3doaXRlLXNwYWNlJyBwcm9wZXJ0eSBmb3IgdGV4dGFyZWEgZWxlbWVudHMgb24gU2FmYXJpICovXG50ZXh0YXJlYSB7XG4gIHdoaXRlLXNwYWNlOiByZXZlcnQ7XG59XG5cbi8qIG1pbmltdW0gc3R5bGUgdG8gYWxsb3cgdG8gc3R5bGUgbWV0ZXIgZWxlbWVudCAqL1xubWV0ZXIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHJldmVydDtcbiAgYXBwZWFyYW5jZTogcmV2ZXJ0O1xufVxuXG4vKiBwcmVmb3JtYXR0ZWQgdGV4dCAtIHVzZSBvbmx5IGZvciB0aGlzIGZlYXR1cmUgKi9cbnByZSB7XG4gIGFsbDogcmV2ZXJ0O1xufVxuXG4vKiByZXNldCBkZWZhdWx0IHRleHQgb3BhY2l0eSBvZiBpbnB1dCBwbGFjZWhvbGRlciAqL1xuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB1bnNldDtcbn1cblxuLyogcmVtb3ZlIGRlZmF1bHQgZG90ICjigKIpIHNpZ24gKi9cbi8vIDo6bWFya2VyIHtcbi8vICAgY29udGVudDogXCJcIjtcbi8vIH1cblxuLyogZml4IHRoZSBmZWF0dXJlIG9mICdoaWRkZW4nIGF0dHJpYnV0ZS5cbiAgIGRpc3BsYXk6cmV2ZXJ0OyByZXZlcnQgdG8gZWxlbWVudCBpbnN0ZWFkIG9mIGF0dHJpYnV0ZSAqL1xuOndoZXJlKFtoaWRkZW5dKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIHJldmVydCBmb3IgYnVnIGluIENocm9taXVtIGJyb3dzZXJzXG4gICAtIGZpeCBmb3IgdGhlIGNvbnRlbnQgZWRpdGFibGUgYXR0cmlidXRlIHdpbGwgd29yayBwcm9wZXJseS5cbiAgIC0gd2Via2l0LXVzZXItc2VsZWN0OiBhdXRvOyBhZGRlZCBmb3IgU2FmYXJpIGluIGNhc2Ugb2YgdXNpbmcgdXNlci1zZWxlY3Q6bm9uZSBvbiB3cmFwcGVyIGVsZW1lbnQqL1xuOndoZXJlKFtjb250ZW50ZWRpdGFibGVdOm5vdChbY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIl0pKSB7XG4gIC1tb3otdXNlci1tb2RpZnk6IHJlYWQtd3JpdGU7XG4gIC13ZWJraXQtdXNlci1tb2RpZnk6IHJlYWQtd3JpdGU7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG87XG59XG5cbi8qIGFwcGx5IGJhY2sgdGhlIGRyYWdnYWJsZSBmZWF0dXJlIC0gZXhpc3Qgb25seSBpbiBDaHJvbWl1bSBhbmQgU2FmYXJpICovXG46d2hlcmUoW2RyYWdnYWJsZT1cInRydWVcIl0pIHtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IGVsZW1lbnQ7XG59XG5cbi8qIFJldmVydCBNb2RhbCBuYXRpdmUgYmVoYXZpb3IgKi9cbjp3aGVyZShkaWFsb2c6bW9kYWwpIHtcbiAgYWxsOiByZXZlcnQ7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqXG4gKiBQYXRoXG4gKi9cblxuJGltZzogXCIuLi9pbWcvXCI7XG4kZm9udHM6IFwiLi4vZm9udHMvXCI7XG5cbi8qKlxuICogQ29sb3JzXG4gKi9cbiRjb2xvcl9fd2hpdGU6ICNmZmZmZmY7XG4kY29sb3JfX2JhY2tncm91bmQ6IHJnYigyNCwgMjQsIDI0KTtcbiRjb2xvcl9fZm9vdGVyOiByZ2IoMTEsIDExLCAxMSk7XG4kY29sb3JfX2Rhcms6IHJnYigxOSwgMywgNDEpO1xuJGNvbG9yX19ncmV5LWRhcms6IHJnYig0NywgNDcsIDQ3KTtcbiRjb2xvcl9fZ3JleS1saWdodDogcmdiKDcwLCA3MCwgNzApO1xuJGNvbG9yX19ibHVlLWxpZ2h0OiByZ2IoMTg2LCAxNzQsIDI0OSk7XG4kY29sb3JfX3B1cnBsZS1saWdodDogcmdiKDIwMCwgMTY1LCAyNTMpO1xuJGNvbG9yX19ncmVlbi1saWdodDogcmdiKDEwOCwgMjM0LCAyMTEpO1xuJGNvbG9yX19ncmVlbi1kYXJrOiByZ2IoMTgsIDEzMCwgMTEwKTtcbiRjb2xvcl9fYmx1ZTogcmdiKDc1LCA0MiwgMjQ0KTtcbiRjb2xvcl9fcHVycGxlOiByZ2IoMTAzLCAzLCAyNTIpO1xuJGNvbG9yX19vcmFuZ2UtbGlnaHQ6IHJnYigyNTUsIDIwMywgMTAyKTtcbiRjb2xvcl9fb3JhbmdlLWRhcms6IHJnYigxOTksIDEzMywgMCk7XG4kY29sb3JfX2Vycm9yOiByZ2IoMjU1LCAwLCAwKTtcblxuLyoqXG4gKiBSZXNwb25zaXZlXG4gKi9cblxuJHZpZXdwb3J0OiAxMTAwO1xuJHRhYmxldDogOTcwO1xuJG1vYmlsZTogNjAwO1xuXG4vKipcbiAqIFN1c3lcbiAqL1xuXG4kc3VzeTogKFxuICBjb2x1bW5zOiAxMixcbiAgZ3V0dGVyczogMS8yLFxuICBtYXRoOiBmbHVpZCxcbiAgb3V0cHV0OiBmbG9hdCxcbiAgZ3V0dGVyLXBvc2l0aW9uOiBhZnRlcixcbik7XG5cbi8qKlxuICogRWFzaW5nXG4gKi9cblxuJGxpbmVhcjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpO1xuJGVhc2VJblF1YWQ6IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4kZWFzZUluQ3ViaWM6IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuJGVhc2VJblF1YXJ0OiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiRlYXNlSW5RdWludDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4kZWFzZUluU2luZTogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZUluRXhwbzogY3ViaWMtYmV6aWVyKDAuOTUsIDAuMDUsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZUluQ2lyYzogY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpO1xuJGVhc2VJbkJhY2s6IGN1YmljLWJlemllcigwLjYsIDAsIDAuNzM1LCAwLjA0NSk7XG4kZWFzZU91dFF1YWQ6IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiRlYXNlT3V0Q3ViaWM6IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuJGVhc2VPdXRRdWFydDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiRlYXNlT3V0UXVpbnQ6IGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiRlYXNlT3V0U2luZTogY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XG4kZWFzZU91dEV4cG86IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiRlYXNlT3V0Q2lyYzogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4kZWFzZU91dEJhY2s6IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuJGVhc2VJbk91dFF1YWQ6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbiRlYXNlSW5PdXRDdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuJGVhc2VJbk91dFF1YXJ0OiBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuJGVhc2VJbk91dFF1aW50OiBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG4kZWFzZUluT3V0U2luZTogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTtcbiRlYXNlSW5PdXRFeHBvOiBjdWJpYy1iZXppZXIoMSwgMCwgMCwgMSk7XG4kZWFzZUluT3V0Q2lyYzogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNSwgMC44Nik7XG4kZWFzZUluT3V0QmFjazogY3ViaWMtYmV6aWVyKDAuNjgsIDAsIDAuMjY1LCAxKTtcbiIsIi8qKlxuICogVGV4dFxuICovXG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbi8vICAgc3JjOiB1cmwoI3skZm9udHN9RGF0YUNvbXBsaWFuY2UvZWx6YS10ZXh0LWJvbGQud29mZikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4vLyAgIGZvbnQtZGlzcGxheTogc3dhcDtcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICBmb250LXdlaWdodDogNzAwO1xuLy8gICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbi8vIH1cblxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuLy8gICBzcmM6IHVybCgjeyRmb250c31EYXRhQ29tcGxpYW5jZS9lbHphLXRleHQtcmVndWxhci53b2ZmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbi8vICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuLy8gICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4vLyAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuLy8gfVxuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgZm9udC1mYW1pbHk6IFwiZWx6YS10ZXh0XCI7XG4vLyAgIHNyYzogdXJsKCN7JGZvbnRzfURhdGFDb21wbGlhbmNlL2VsemEtdGV4dC1zZW1pYm9sZC53b2ZmKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbi8vICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuLy8gICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4vLyAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuLy8gfVxuXG4kdGV4dF9fZmFtaWx5LXNhbnM6IFwiZWx6YS10ZXh0XCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kdGV4dF9fZmFtaWx5LXNhbnMtLXRpdGxlOiBcImVsemEtdGV4dFwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHRleHRfX2NvbG9yLS1iYXNlOiAkY29sb3JfX3doaXRlO1xuJGJhc2VfX2ZvbnQtc2l6ZTogMTY7XG4kYmFzZV9fbGluZTogMjQ7XG5cbi8qdGV4dCBzdHlsZSovXG5AbWl4aW4gaDEge1xuICBmb250LXNpemU6IDNyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuQG1peGluIGgyIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICB9XG59XG5cbkBtaXhpbiBoMi1kZWNvcmF0aWYge1xuICBAaW5jbHVkZSBoMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIGgzIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG59XG5cbkBtaXhpbiBoMy1kZWNvcmF0aWYge1xuICBAaW5jbHVkZSBoMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIHAge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBwLXNtYWxsIHtcbiAgQGluY2x1ZGUgcDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1peGluIGEtc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogJGNvbG9yX19wdXJwbGUtbGlnaHQ7XG4gIH1cbn1cbkBtaXhpbiBzZXJ2aWNlLWxpbmsge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMTIwJTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbn1cbkBtaXhpbiBtZW51LWxpbmsge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBcImVsemEtdGV4dFwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMTIwJTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcblxuICAmOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgIGNvbG9yOiAkY29sb3JfX3B1cnBsZS1saWdodDtcbiAgfVxufVxuQG1peGluIGJpZy1idXR0b24ge1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LWZhbWlseTogXCJlbHphLXRleHRcIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEyMCU7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG59XG5cbkBtaXhpbiBsaW5lYXItdGV4dCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMjMyLjZkZWcsICM2MjQwZjQgNS4xJSwgI2IxN2ZmZCA5NC45JSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJub29taWFcIjtcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL25vb21pYS9ub29taWEuZW90Jyk7XG5cdHNyYzogdXJsKCcuLi9mb250cy9ub29taWEvbm9vbWlhLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VvdCcpLFxuXHRcdHVybCgnLi4vZm9udHMvbm9vbWlhL25vb21pYS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoJy4uL2ZvbnRzL25vb21pYS9ub29taWEud29mZicpIGZvcm1hdCgnd29mZicpLFxuXHRcdHVybCgnLi4vZm9udHMvbm9vbWlhL25vb21pYS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0dXJsKCcuLi9mb250cy9ub29taWEvbm9vbWlhLnN2ZyNub29taWEnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uaWNvbjpiZWZvcmUge1xuXHRmb250LWZhbWlseTogXCJub29taWFcIjtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHQvKiBzcGVhazogbm9uZTsgb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKSAqL1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAxXCI7XG59XG5cbi5pY29uLWdvb2dsZXBsdXM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDJcIjtcbn1cblxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDNcIjtcbn1cblxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwNFwiO1xufVxuIiwiLy9cbi8vIEFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBrZXlmcmFtZXMgc2hvd1VwIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgMTUlKSk7XG5cbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoMCwgMCUpKTtcblxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaG93VXBUaXRsZSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDE1JSkpO1xuXG4gICAgLy9vcGFjaXR5IDogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIDAlKSk7XG5cbiAgICAvL29wYWNpdHkgOiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hvd0Rvd24ge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTE1JSkpO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGlkZURvd24ge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxNSUpKTtcblxuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoaWRlVXAge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMTUlKSk7XG5cbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hvd0xlZnQge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTE1JSkpO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hvd1JpZ2h0IHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDE1JSkpO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYmFja2dyb3VuZFBvc2l0aW9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwMHB4IGNlbnRlcjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgY2VudGVyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KDBweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoLTE1cHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbVNlcnZpY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIlLCAyLjUlKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAlLCAtMTIuNSUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNjElIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAlLCAxMi41JSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8vXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi9cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gc21vb3RoKCkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBXZWJLaXQtc3R5bGUgZm9jdXNcbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzMzMztcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH0gLy8gRmlyZWZveCA0LTE4XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH0gLy8gRmlyZWZveCAxOStcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLiBOb3RlXG4vLyB0aGF0IHdlIGNhbm5vdCBjaGFpbiB0aGUgbWl4aW5zIHRvZ2V0aGVyIGluIExlc3MsIHNvIHRoZXkgYXJlIHJlcGVhdGVkLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgZm9udDogI3swLzB9IGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIENTUzMgUFJPUEVSVElFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIC1raHRtbC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuLy8gRHJvcCBzaGFkb3dzXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIC1tb3otdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHRyYW5zaXRpb24tcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAkdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0cmFuc2l0aW9uLWR1cmF0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybTsgLy8gSUU5K1xuICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG59XG5cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7IC8vIElFOStcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTsgLy8gSUU5K1xuICB0cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpOyAvLyBJRTkrXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gc2tldygkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoJHgsICR5KTtcbiAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICB0cmFuc2Zvcm06IHNrZXcoJHgsICR5KTtcbn1cbkBtaXhpbiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cblxuQG1peGluIHJvdGF0ZVgoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5K1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5K1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiAkcGVyc3BlY3RpdmU7XG4gIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbi4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG4gIC1tb3otdHJhbnNmb3JtLXN0eWxlOiAkc3R5bGU7XG4gIHRyYW5zZm9ybS1zdHlsZTogJHN0eWxlO1xufVxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gIC1tb3otYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICBhbmltYXRpb246ICRhbmltYXRpb247XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheSgkYW5pbWF0aW9uLXBsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTogJGFuaW1hdGlvbi1wbGF5O1xuICAtbW96LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiAkYW5pbWF0aW9uLXBsYXk7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiAkYW5pbWF0aW9uLXBsYXk7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdCkge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgLW8tdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG4vLyBSZXNpemUgYW55dGhpbmdcbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICBjb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gIGNvbHVtbi1nYXA6ICRjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuQG1peGluIGh5cGhlbnMoJG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gIC1vLWh5cGhlbnM6ICRtb2RlO1xuICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gT3BhY2l0eVxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogI3thbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKX07XG59XG5cbi8vIEdSQURJRU5UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbChcbiAgJHN0YXJ0LWNvbG9yOiAjNTU1LFxuICAkZW5kLWNvbG9yOiAjMzMzLFxuICAkc3RhcnQtcGVyY2VudDogMCUsXG4gICRlbmQtcGVyY2VudDogMTAwJVxuKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgbGluZWFyLFxuICAgICRzdGFydC1wZXJjZW50IHRvcCxcbiAgICAkZW5kLXBlcmNlbnQgdG9wLFxuICAgIGZyb20oJHN0YXJ0LWNvbG9yKSxcbiAgICB0bygkZW5kLWNvbG9yKVxuICApOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICBsZWZ0LFxuICAgIGNvbG9yLXN0b3AoJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50KSxcbiAgICBjb2xvci1zdG9wKCRlbmQtY29sb3IgJGVuZC1wZXJjZW50KVxuICApOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChcbiAgICBsZWZ0LFxuICAgICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCxcbiAgICAkZW5kLWNvbG9yICRlbmQtcGVyY2VudFxuICApOyAvLyBGRiAzLjYrXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICB0byByaWdodCxcbiAgICAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsXG4gICAgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnRcbiAgKTsgLy8gU3RhbmRhcmQsIElFMTBcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbChcbiAgJHN0YXJ0LWNvbG9yOiAjNTU1LFxuICAkZW5kLWNvbG9yOiAjMzMzLFxuICAkc3RhcnQtcGVyY2VudDogMCUsXG4gICRlbmQtcGVyY2VudDogMTAwJVxuKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgbGluZWFyLFxuICAgIGxlZnQgJHN0YXJ0LXBlcmNlbnQsXG4gICAgbGVmdCAkZW5kLXBlcmNlbnQsXG4gICAgZnJvbSgkc3RhcnQtY29sb3IpLFxuICAgIHRvKCRlbmQtY29sb3IpXG4gICk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgIHRvcCxcbiAgICAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsXG4gICAgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnRcbiAgKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoXG4gICAgdG9wLFxuICAgICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCxcbiAgICAkZW5kLWNvbG9yICRlbmQtcGVyY2VudFxuICApOyAvLyBGRiAzLjYrXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICB0byBib3R0b20sXG4gICAgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LFxuICAgICRlbmQtY29sb3IgJGVuZC1wZXJjZW50XG4gICk7IC8vIFN0YW5kYXJkLCBJRTEwXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICRkZWcsXG4gICAgJHN0YXJ0LWNvbG9yLFxuICAgICRlbmQtY29sb3JcbiAgKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoXG4gICAgJGRlZyxcbiAgICAkc3RhcnQtY29sb3IsXG4gICAgJGVuZC1jb2xvclxuICApOyAvLyBGRiAzLjYrXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAkZGVnLFxuICAgICRzdGFydC1jb2xvcixcbiAgICAkZW5kLWNvbG9yXG4gICk7IC8vIFN0YW5kYXJkLCBJRTEwXG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoXG4gICRzdGFydC1jb2xvcjogIzAwYjNlZSxcbiAgJG1pZC1jb2xvcjogIzdhNDNiNixcbiAgJGNvbG9yLXN0b3A6IDUwJSxcbiAgJGVuZC1jb2xvcjogI2MzMzI1ZlxuKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgbGVmdCxcbiAgICBsaW5lYXIsXG4gICAgMCAwLFxuICAgIDAgMTAwJSxcbiAgICBmcm9tKCRzdGFydC1jb2xvciksXG4gICAgY29sb3Itc3RvcCgkY29sb3Itc3RvcCwgJG1pZC1jb2xvciksXG4gICAgdG8oJGVuZC1jb2xvcilcbiAgKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgbGVmdCxcbiAgICAkc3RhcnQtY29sb3IsXG4gICAgJG1pZC1jb2xvciAkY29sb3Itc3RvcCxcbiAgICAkZW5kLWNvbG9yXG4gICk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KFxuICAgIGxlZnQsXG4gICAgJHN0YXJ0LWNvbG9yLFxuICAgICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsXG4gICAgJGVuZC1jb2xvclxuICApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gcmlnaHQsXG4gICAgJHN0YXJ0LWNvbG9yLFxuICAgICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsXG4gICAgJGVuZC1jb2xvclxuICApO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoXG4gICRzdGFydC1jb2xvcjogIzAwYjNlZSxcbiAgJG1pZC1jb2xvcjogIzdhNDNiNixcbiAgJGNvbG9yLXN0b3A6IDUwJSxcbiAgJGVuZC1jb2xvcjogI2MzMzI1ZlxuKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgbGluZWFyLFxuICAgIDAgMCxcbiAgICAwIDEwMCUsXG4gICAgZnJvbSgkc3RhcnQtY29sb3IpLFxuICAgIGNvbG9yLXN0b3AoJGNvbG9yLXN0b3AsICRtaWQtY29sb3IpLFxuICAgIHRvKCRlbmQtY29sb3IpXG4gICk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICRzdGFydC1jb2xvcixcbiAgICAkbWlkLWNvbG9yICRjb2xvci1zdG9wLFxuICAgICRlbmQtY29sb3JcbiAgKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoXG4gICAgdG9wLFxuICAgICRzdGFydC1jb2xvcixcbiAgICAkbWlkLWNvbG9yICRjb2xvci1zdG9wLFxuICAgICRlbmQtY29sb3JcbiAgKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICRzdGFydC1jb2xvcixcbiAgICAkbWlkLWNvbG9yICRjb2xvci1zdG9wLFxuICAgICRlbmQtY29sb3JcbiAgKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgcmFkaWFsLFxuICAgIGNlbnRlciBjZW50ZXIsXG4gICAgMCxcbiAgICBjZW50ZXIgY2VudGVyLFxuICAgIDQ2MCxcbiAgICBmcm9tKCRpbm5lci1jb2xvciksXG4gICAgdG8oJG91dGVyLWNvbG9yKVxuICApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KFxuICAgIGxpbmVhcixcbiAgICAwIDEwMCUsXG4gICAgMTAwJSAwLFxuICAgIGNvbG9yLXN0b3AoMC4yNSwgJGNvbG9yKSxcbiAgICBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSxcbiAgICBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLFxuICAgIGNvbG9yLXN0b3AoMC41LCAkY29sb3IpLFxuICAgIGNvbG9yLXN0b3AoMC43NSwgJGNvbG9yKSxcbiAgICBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSxcbiAgICB0byh0cmFuc3BhcmVudClcbiAgKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoXG4gICAgJGFuZ2xlLFxuICAgICRjb2xvciAyNSUsXG4gICAgdHJhbnNwYXJlbnQgMjUlLFxuICAgIHRyYW5zcGFyZW50IDUwJSxcbiAgICAkY29sb3IgNTAlLFxuICAgICRjb2xvciA3NSUsXG4gICAgdHJhbnNwYXJlbnQgNzUlLFxuICAgIHRyYW5zcGFyZW50XG4gICk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KFxuICAgICRhbmdsZSxcbiAgICAkY29sb3IgMjUlLFxuICAgIHRyYW5zcGFyZW50IDI1JSxcbiAgICB0cmFuc3BhcmVudCA1MCUsXG4gICAgJGNvbG9yIDUwJSxcbiAgICAkY29sb3IgNzUlLFxuICAgIHRyYW5zcGFyZW50IDc1JSxcbiAgICB0cmFuc3BhcmVudFxuICApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgJGFuZ2xlLFxuICAgICRjb2xvciAyNSUsXG4gICAgdHJhbnNwYXJlbnQgMjUlLFxuICAgIHRyYW5zcGFyZW50IDUwJSxcbiAgICAkY29sb3IgNTAlLFxuICAgICRjb2xvciA3NSUsXG4gICAgdHJhbnNwYXJlbnQgNzUlLFxuICAgIHRyYW5zcGFyZW50XG4gICk7XG59XG5cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cblxuLy8gUmV0aW5hIGltYWdlc1xuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZVxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlLTF4fVwiKTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZS0yeH1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoJHZhbHVlKSB7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAkdmFsdWU7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiAkdmFsdWU7XG4gIC1vLWJhY2tncm91bmQtc2l6ZTogJHZhbHVlO1xuICBiYWNrZ3JvdW5kLXNpemU6ICR2YWx1ZTtcbn1cblxuLy8gQ09NUE9ORU5UIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG5cbi8vIFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHBhbmVsLXZhcmlhbnQoXG4gICRib3JkZXIsXG4gICRoZWFkaW5nLXRleHQtY29sb3IsXG4gICRoZWFkaW5nLWJnLWNvbG9yLFxuICAkaGVhZGluZy1ib3JkZXJcbikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgICYgPiAuZHJvcGRvd24gLmNhcmV0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiB2YXJpYW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDglKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuICB9XG4gIC5vcGVuICYge1xuICAgICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDglKTtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAub3BlbiAmIHtcbiAgICAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBidXR0b24tc2l6ZShcbiAgJHBhZGRpbmctdmVydGljYWwsXG4gICRwYWRkaW5nLWhvcml6b250YWwsXG4gICRmb250LXNpemUsXG4gICRsaW5lLWhlaWdodCxcbiAgJGJvcmRlci1yYWRpdXNcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG4vLyBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKFxuICAkcGFkZGluZy12ZXJ0aWNhbCxcbiAgJHBhZGRpbmctaG9yaXpvbnRhbCxcbiAgJGZvbnQtc2l6ZSxcbiAgJGJvcmRlci1yYWRpdXNcbikge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMYWJlbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0ciN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9LFxuICB0ciN7JHBhcmVudH0sXG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gR3JpZCBTeXN0ZW1cbi8vIC0tLS0tLS0tLS0tXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogKCRndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbiBvZmZzZXRzXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbiBvZmZzZXRzXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbiBvZmZzZXRzXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBHcmlkIGNvbnZlcnRlZCB0byB1c2UgU0FTUyBjeWNsZXMgKExFU1MgdXNlcyByZWN1cnNpdmUgbmVzdGVkIG1peGluIGRlZnMgbm90IHN1cHBvcnRlZCBieSBTQVNTKVxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCkge1xuICAkbGlzdDogXCJcIjtcbiAgJGk6IDE7XG4gICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9LCAjeyRsaXN0fVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBHcmlkIGNvbnZlcnRlZCB0byB1c2UgU0FTUyBjeWNsZXMgKExFU1MgdXNlcyByZWN1cnNpdmUgbmVzdGVkIG1peGluIGRlZnMgbm90IHN1cHBvcnRlZCBieSBTQVNTKVxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zLWZsb2F0KCRjbGFzcykge1xuICAkbGlzdDogXCJcIjtcbiAgJGk6IDE7XG4gICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX0sICN7JGxpc3R9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtaXhpbiBjYWxjLWdyaWQoJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNBU1Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZCgkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQoJGksICRjbGFzcywgJHR5cGUpO1xuICB9XG59XG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oXG4gICR0ZXh0LWNvbG9yOiAjNTU1LFxuICAkYm9yZGVyLWNvbG9yOiAjY2NjLFxuICAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNVxuKSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coXG4gICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSlcbiAgICApOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSxcbiAgICAgICAgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAwLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coXG4gICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksXG4gICAgICAwIDAgOHB4ICRjb2xvci1yZ2JhXG4gICAgKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZShcbiAgJHBhcmVudCxcbiAgJGlucHV0LWhlaWdodCxcbiAgJHBhZGRpbmctdmVydGljYWwsXG4gICRwYWRkaW5nLWhvcml6b250YWwsXG4gICRmb250LXNpemUsXG4gICRsaW5lLWhlaWdodCxcbiAgJGJvcmRlci1yYWRpdXNcbikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vL01JWElPTiBQT1NJVElPTiBGUk9NIEJPVVJCT05cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IDAgMCAwIDApIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkdG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKTtcbiAgJHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcbiAgJGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyk7XG4gICRsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBpZiAoJHRvcCBhbmQgJHRvcCA9PSBhdXRvKSBvclxuICAgICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCR0b3ApKVxuICB7XG4gICAgdG9wOiAkdG9wO1xuICB9XG5cbiAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvclxuICAgICh0eXBlLW9mKCRyaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJHJpZ2h0KSlcbiAge1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gIH1cblxuICBAaWYgKCRib3R0b20gYW5kICRib3R0b20gPT0gYXV0bykgb3JcbiAgICAodHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIgYW5kIG5vdCB1bml0bGVzcygkYm90dG9tKSlcbiAge1xuICAgIGJvdHRvbTogJGJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJGxlZnQgYW5kICRsZWZ0ID09IGF1dG8pIG9yXG4gICAgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCRsZWZ0KSlcbiAge1xuICAgIGxlZnQ6ICRsZWZ0O1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjaGFuZ2VzOiBOb29taWEuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbm9vbWlhKCRzdHlsZTogZGFyaykge1xuICAubm9vbWlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICB3aWR0aDogODFweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG5cbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogODFweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgQGlmICgkc3R5bGUgPT0gZGFyaykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skaW1nfWxvZ28tbm9vbWlhLS1kYXJrLnN2Zyk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAoJHN0eWxlID09IGxpZ2h0KSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWd9bG9nby1ub29taWEtLWxpZ2h0LnN2Zyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuM3MgJGVhc2VJblF1YWQpO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MXB4IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICBAaWYgKCRzdHlsZSA9PSBkYXJrKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWd9bG9nby1ub29taWEtLWRhcmsuc3ZnKTtcbiAgICAgIH1cblxuICAgICAgQGlmICgkc3R5bGUgPT0gbGlnaHQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGltZ31sb2dvLW5vb21pYS0tbGlnaHQuc3ZnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JheXNjYWxlX2VsZW1lbnQoJHZhbHVlKSB7XG4gIC13ZWJraXQtZmlsdGVyOiAje1wiZ3JheXNjYWxlKCN7JHZhbHVlfSlcIn07XG4gIC1tb3otZmlsdGVyOiAje1wiZ3JheXNjYWxlKCN7JHZhbHVlfSlcIn07XG4gIGZpbHRlcjogI3tcImdyYXlzY2FsZSgjeyR2YWx1ZX0pXCJ9O1xufVxuXG4vLy8gQmxvY2sgRWxlbWVudFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRlbGVtZW50IC0gRWxlbWVudCdzIG5hbWVcbkBtaXhpbiBlKCRlbGVtZW50KSB7XG4gICZfXyN7JGVsZW1lbnR9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQmxvY2sgTW9kaWZpZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbW9kaWZpZXIgLSBNb2RpZmllcidzIG5hbWVcbkBtaXhpbiBtKCRtb2RpZmllcikge1xuICAmLS0jeyRtb2RpZmllcn0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBmdW5jdGlvbiBlbSgkdGFyZ2V0LCAkY29udGV4dDogJGJhc2VfX2ZvbnQtc2l6ZSkge1xuICBAcmV0dXJuICgkdGFyZ2V0IC8gJGNvbnRleHQpICogMWVtO1xufVxuXG5AZnVuY3Rpb24gcmVtKCR0YXJnZXQpIHtcbiAgQHJldHVybiAkdGFyZ2V0IC8gMXJlbTtcbn1cblxuQG1peGluIHRleHQoXG4gICRzaXplLFxuICAkbGluZSxcbiAgJG1hcmdpbjogMCxcbiAgJGZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zLFxuICAkY29sb3I6ICR0ZXh0X19jb2xvci0tYmFzZSxcbiAgJHdlaWdodDogbm9ybWFsXG4pIHtcbiAgZm9udC1zaXplOiBlbSgkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAoJGxpbmUvJHNpemUpO1xuICBmb250LWZhbWlseTogJGZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIG1hcmdpbi1ib3R0b206IGVtKCRtYXJnaW4sICRzaXplKTtcbn1cblxuQG1peGluIG1haW50YWluLWFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgfVxuXG4gIC8qID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfSAqL1xufVxuXG5AbWl4aW4gY2lyY2xlKCR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICR3aWR0aDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1MCUpO1xufVxuXG4vL0RBVEEgQ09NUExJQU5DRVxuQG1peGluIGNvbnRhaW5lcigkd2lkdGg6IDE0NDApIHtcbiAgbWF4LXdpZHRoOiAjeyR3aWR0aH1weDtcbiAgcGFkZGluZy1pbmxpbmU6IDIwcHg7XG4gIEBpbmNsdWRlIGNlbnRlci1ibG9jaygpO1xufVxuXG5AbWl4aW4gZ3JpZCgkY29sczogNCwgJGdhcDogMjApIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoI3skY29sc30sIDFmcik7XG4gIGdhcDogI3skZ2FwfXB4O1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChjYWxjKCN7JGNvbHN9IC0gMSksIDFmcik7XG4gIH1cblxuICBAaW5jbHVkZSBtcShzKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoY2FsYygjeyRjb2xzfSAtIDIpLCAxZnIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoeHMpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICB9XG59XG5cbkBtaXhpbiBsaW5lLWNsYW1wKCRsaW5lY291bnQpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lY291bnQ7IC8qIG51bWJlciBvZiBsaW5lcyB0byBzaG93ICovXG4gIGxpbmUtY2xhbXA6ICRsaW5lY291bnQ7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbkBtaXhpbiBjb250YWluSW1hZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gY292ZXJJbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZGltKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAjeyR3aWR0aH07XG4gIGhlaWdodDogI3skaGVpZ2h0fTtcbn1cblxuQG1peGluIHdoaXRlQmFja2dyb3VuZCgpIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgMGRlZyxcbiAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MiksXG4gICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpXG4gICAgKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg5OCwgNjQsIDI0NCwgMC43KSwgcmdiYSg5OCwgNjQsIDI0NCwgMC43KSksXG4gICAgdG9wIHVybCgjeyRpbWd9YWJzdHJhY3QtYmcuanBnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAkY29sb3JfX2Rhcms7XG59XG5cbkBtaXhpbiBzb2NpYWwtaWNvbigkbmFtZSwgJGNvbG9yOiB3aGl0ZSwgJGhvdmVyQ29sb3I6IHZpb2xldCkge1xuICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKCN7JGltZ30jeyRuYW1lfS0tI3skY29sb3J9LnN2Zykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIEBpbmNsdWRlIGRpbSgyMHB4KTtcbiAgZm9udC1zaXplOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLWluO1xuXG4gICY6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCgjeyRpbWd9I3skbmFtZX0tLSN7JGhvdmVyQ29sb3J9LnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxufVxuXG5AbWl4aW4gbGluZXNCYWNrZ3JvdW5kKCR4TGV2ZWw6IDUwMCkge1xuICBiYWNrZ3JvdW5kOiA0MCUgI3skeExldmVsfXB4IHVybCgjeyRpbWd9bGluZXMtYmcuc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjIwJTtcbn1cbiIsIi8qIE1lZGlhIFF1ZXJpZXMgKi9cbiRtZWRpYV9xdWVyaWVzOiAoXG4gIFwieHNcIjogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpXCIsXG4gIFwic1wiOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NTBweClcIixcbiAgXCJtXCI6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweClcIixcbiAgXCJsXCI6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweClcIixcbiAgXCJ4bFwiOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpXCIsXG4pO1xuQG1peGluIG1xKCRicmVha3BvaW50cykge1xuICAkY29uZGl0aW9uczogKCk7XG4gIEBlYWNoICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG4gICAgLy8gSWYgdGhlIGtleSBleGlzdHMgaW4gdGhlIG1hcFxuICAgICRjb25kaXRpb25zOiBhcHBlbmQoXG4gICAgICAkY29uZGl0aW9ucyxcbiAgICAgICN7aW5zcGVjdChtYXAtZ2V0KCRtZWRpYV9xdWVyaWVzLCAkYnJlYWtwb2ludCkpfSxcbiAgICAgIGNvbW1hXG4gICAgKTtcbiAgfVxuICBAbWVkaWEgI3skY29uZGl0aW9uc30ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIud3lzaXd5ZyB7XG4gIG1heC13aWR0aDogODUwcHg7XG5cbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgfVxuXG4gID4gaDI6Zmlyc3QtY2hpbGQsXG4gID4gaDM6Zmlyc3QtY2hpbGQsXG4gID4gaDQ6Zmlyc3QtY2hpbGQsXG4gID4gaDU6Zmlyc3QtY2hpbGQsXG4gID4gaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBwIHtcbiAgICBAaW5jbHVkZSBwLXNtYWxsO1xuICB9XG5cbiAgZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwLXNtYWxsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBlbTtcbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMGVtO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgICAqIGhyXG4gICAgICovXG5cbiAgaHIge1xuICAgIG1hcmdpbjogY2FsYy1lbSgzMCk7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3doaXRlO1xuICB9XG5cbiAgLyoqXG4gICAgICogTGlzdFxuICAgICAqL1xuXG4gIHVsIHtcbiAgICBsaTpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZGltKDVweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC43ZW07XG4gICAgICBsZWZ0OiAwLjRlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX3B1cnBsZS1saWdodDtcbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgY291bnRlci1yZXNldDogbGlzdDtcblxuICAgIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMC41Y2g7XG4gICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QpIFwiLiBcIjtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHVycGxlLWxpZ2h0O1xuICAgICAgd2lkdGg6IDNjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjdlbTtcblxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIHAtc21hbGw7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3JfX2JsdWUtbGlnaHQ7XG5cbiAgICAmOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgY29sb3I6ICRjb2xvcl9fYmx1ZS1saWdodDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIGksXG4gIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cbn1cbiIsIi5jdGEge1xuICBAaW5jbHVkZSBiaWctYnV0dG9uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiAwcHggMTBweCAwcHggMHB4O1xuICBnYXA6IDI1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgbWF4LXdpZHRoOiA0MGNoO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAmX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBnYXA6IDdlbTtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtKSB7XG4gICAgICBnYXA6IDQwcHg7XG4gICAgfVxuXG4gICAgJi5jb250YWluZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCgjeyRpbWd9YXJyb3cuc3ZnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gICY6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDVweDtcbiAgICBnYXA6IDMwcHg7XG4gIH1cblxuICAmLnZpb2xldC1saWdodCB7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKCN7JGltZ31hcnJvdy0tdmlvbGV0LWxpZ2h0LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvcl9fYmx1ZS1saWdodDtcbiAgICB9XG4gIH1cbiAgJi55ZWxsb3ctbGlnaHQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCgjeyRpbWd9YXJyb3ctLXllbGxvdy1saWdodC5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JfX29yYW5nZS1saWdodDtcbiAgICB9XG4gIH1cbiAgJi5ncmVlbi1saWdodCB7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKCN7JGltZ31hcnJvdy0tZ3JlZW4tbGlnaHQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX19ncmVlbi1saWdodDtcbiAgICB9XG4gIH1cbiAgJi52aW9sZXQtZGFyayB7XG4gICAgY29sb3I6ICRjb2xvcl9fZGFyaztcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoI3skaW1nfWFycm93LS12aW9sZXQtZGFyay5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAwZGVnLFxuICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMC4xNSksXG4gICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjE1KVxuICAgICAgICApLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMjMyLjZkZWcsICM2MjQwZjQgNS4xJSwgI2IxN2ZmZCA5NC45JSk7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIHRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gICYueWVsbG93LWRhcmsge1xuICAgIGNvbG9yOiAkY29sb3JfX2Rhcms7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKCN7JGltZ31hcnJvdy0teWVsbG93LWRhcmsuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX19vcmFuZ2UtZGFyaztcbiAgICB9XG4gIH1cbiAgJi5ncmVlbi1kYXJrIHtcbiAgICBjb2xvcjogJGNvbG9yX19kYXJrO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCgjeyRpbWd9YXJyb3ctLWdyZWVuLWRhcmsuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX19ncmVlbi1kYXJrO1xuICAgIH1cbiAgfVxuXG4gICYuY3RhX19zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZ2FwOiAxMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgfVxuXG4gICAgJjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGdhcDogMTVweDtcbiAgICB9XG4gIH1cblxuICAmLnJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAxMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICY6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICBwYWRkaW5nOiAwcHggNXB4IDBweCAwO1xuICAgIH1cbiAgfVxufVxuXG4uYmFjay1idXR0b24ge1xuICBAaW5jbHVkZSBhLXNtYWxsO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAuVwiO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDAuM2VtO1xuICB9XG59XG4iLCJpbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggMHB4O1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fYmx1ZTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYmFja2dyb3VuZDogY2VudGVyIHJpZ2h0IDIwcHggdXJsKCN7JGltZ31zZWFyY2guc3ZnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXIocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpKTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgcDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLmZvcm0ge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG5pbnB1dCxcbnNlbGVjdCB7XG4gICY6Oi1tcy1jbGVhciB7XG4gICAgLy8gSGlkZSBpZSBkZWZhdWx0IGFwcGVhcmFuY2UgKGV4OiBhcnJvdyBzZWxlY3Qgb3IgY2xlYXIgYnV0dG9uIGluIGlucHV0KVxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5mLWZvcm0tY29udGVudCAubGlzdC1zZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudCA+IGRpdixcbi5uZi1mb3JtLWNvbnRlbnQgaW5wdXQ6bm90KFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInN1Ym1pdFwiXSksXG4ubmYtZm9ybS1jb250ZW50IHRleHRhcmVhLFxuLm5mLWZvcm0tY29udGVudCBzZWxlY3Qge1xuICBib3JkZXItcmFkaXVzOiA4cHggMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBORiBTdHlsZXNcbiAqL1xuLy8gU3R5bGVzIG5mIHBhcmVudFxuLm5mLWJlZm9yZS1mb3JtLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5mLWZvcm0tdGl0bGUge1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gIH1cbn1cblxuLmZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAmX19jaGVja2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE2cHg7XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGluY2x1ZGUgZGltKDIwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX19kYXJrO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBAaW5jbHVkZSBkaW0oMjBweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fcHVycGxlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX19ibHVlO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIGRpbSgxMnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIHAtc21hbGw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4ubmYtZm9ybS1jb250IC5uZi1mb3JtLWNvbnRlbnQgbGFiZWwge1xuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgQGluY2x1ZGUgcC1zbWFsbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbn1cblxuLm5mLXJlc3BvbnNlLW1zZyB7XG4gIGNvbG9yOiAkY29sb3JfX2dyZWVuLWxpZ2h0O1xufVxuLm5mLWZvcm0td3JhcFxuICAubmYtZm9ybS1sYXlvdXRcbiAgLm5mLWZvcm0tY29udGVudFxuICAubmYtZmllbGQtY29udGFpbmVyOm5vdCguc3VibWl0LWNvbnRhaW5lcilcbiAgLm5mLWZpZWxkXG4gIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgaW5wdXQ6bm90KFxuICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdXG4gICAgKSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4ubmYtZXJyb3IuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudDphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG59XG5cbi5uZi1mb3JtLWNvbnQge1xuICBwYWRkaW5nLWJsb2NrOiA1MHB4IDA7XG5cbiAgLm5mLWZvcm0tY29udGVudCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBAaW5jbHVkZSBiaWctYnV0dG9uO1xuICAgIHBhZGRpbmc6IDBweCA4N3B4IDBweCAwcHg7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHJpZ2h0IDEwcHggdXJsKCN7JGltZ31hcnJvdy0tdmlvbGV0LWxpZ2h0LnN2Zykgbm8tcmVwZWF0LFxuICAgICAgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1MnB4IDIycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgcmlnaHQgdXJsKCN7JGltZ31hcnJvdy0tdmlvbGV0LWxpZ2h0LnN2Zykgbm8tcmVwZWF0LFxuICAgICAgICB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDBweCA4MnB4IDBweCA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDUycHggMjJweDtcbiAgICAgIGNvbG9yOiAkY29sb3JfX2JsdWUtbGlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi5zdWJtaXQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pcy1sb2FkaW5nIHtcbiAgLmpzLXNpZ24tc3VibWl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmxvYWRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIG1hcmdpbjogOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyOiA2cHggc29saWQgJGNvbG9yX19ibHVlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfX2JsdWUgdHJhbnNwYXJlbnQgJGNvbG9yX19ibHVlIHRyYW5zcGFyZW50O1xuICAgICAgYW5pbWF0aW9uOiBsb2FkaW5nIDEuMnMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxufVxuXG4ucHQtY2hlY2tvdXQtZm9ybSB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgLnB0LWZvcm0tZ3JvdXAtZmllbGQtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBAaW5jbHVkZSBkaW0oMjBweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2Rhcms7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIEBpbmNsdWRlIGRpbSgyMHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19wdXJwbGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2JsdWU7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgZGltKDEycHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgQGluY2x1ZGUgcC1zbWFsbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmN0YV9fY29udGFpbmVyIGJ1dHRvbi5wdC1wYXltZW50LWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRjb2xvcl9fZGFyaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuIiwiLmNhcmQge1xuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA0MjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgY29sb3I6ICRjb2xvcl9fZGFyaztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IGJvdHRvbSAyNnB4IHJpZ2h0IDI2cHhcbiAgICAgICAgdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2RhdGFjb21wbGlhbmNlL2xpYnJhcnkvaW1nL3BsdXMuc3ZnXCIpIG5vLXJlcGVhdCxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgyMzIuNmRlZywgIzYyNDBmNCA1LjElLCAjYjE3ZmZkIDk0LjklKTtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBtYXJnaW4gZWFzZS1pbjtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX193aGl0ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBAaW5jbHVkZSBkaW0oMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIGRpbSgxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBtYXJnaW46IDEwcHggMCAwIDA7XG5cbiAgICAgIC5jYXJkX190aXRsZSB7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkY29sb3JfX3doaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGNvbG9yX19ibHVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2Rhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgbGluZWFyLXRleHQ7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZS1pbjtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3Bvc3RkYXRlLFxuICAmX19leGNlcnB0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fcG9zdGRhdGUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbn1cbiIsIi5ibG9jay1pbWFnZS10ZXh0IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yX19ncmV5LWRhcms7XG4gIHBhZGRpbmctYmxvY2s6IDgwcHggMTIwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctYmxvY2s6IDAgNTBweDtcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MDBweCAxZnIgMWZyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgaDItZGVjb3JhdGlmO1xuICB9XG5cbiAgJl9fcGFyYWdyYXBoIHtcbiAgICBAaW5jbHVkZSBwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIEBpbmNsdWRlIGNvdmVySW1hZ2U7XG4gICAgQGluY2x1ZGUgZGltKDUwMHB4LCBjYWxjKDEwMCUgKyAxMjBweCkpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xMjBweDtcbiAgICBsZWZ0OiAtNHZ3O1xuICAgIG1hcmdpbi1ib3R0b206IC0xNjBweDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIEBpbmNsdWRlIGRpbSgxMDAlLCAzMDBweCk7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSB3aGl0ZUJhY2tncm91bmQ7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiA1MHB4IDcwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWltYWdlLXRleHRfX2NvbnRlbnQge1xuICAgICAgZ3JpZC1yb3c6IDEgLyAyO1xuICAgIH1cblxuICAgIC5ibG9jay1pbWFnZS10ZXh0X19saW5rIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGdyaWQtcm93OiAyIC8gMztcbiAgICB9XG5cbiAgICAuYmxvY2staW1hZ2UtdGV4dF9faW1hZ2Uge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGdyaWQtcm93OiAxIC8gMztcbiAgICAgIGdyaWQtY29sdW1uOiAyIC8gMztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiB1bnNldDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay1jb250YWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJsb2NrOiA1MHB4O1xuICAmX19pbWFnZSB7XG4gICAgQGluY2x1ZGUgY292ZXJJbWFnZSgpO1xuICAgIEBpbmNsdWRlIGRpbSgxMDB2dywgNjAwcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG5cbiAgICBAaW5jbHVkZSBtcShtKSB7XG4gICAgICBAaW5jbHVkZSBkaW0oMTAwdncsIDMwMHB4KTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiByaWdodDtcblxuICAgICAgQGluY2x1ZGUgbXEobSkge1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICB3aWR0aDogY2xhbXAoMzAwcHgsIDEwMCUsIDEwODBweCk7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogNjAwcHggNzBweCA0MHB4O1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtcShtKSB7XG4gICAgICBwYWRkaW5nOiAyODBweCAyMHB4IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcGFyYWdyYXBoIHtcbiAgICBAaW5jbHVkZSBoMi1kZWNvcmF0aWY7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIH1cblxuICAucm90YXRpbmctbG9nbyB7XG4gICAgQGluY2x1ZGUgZGltKDQwNXB4KTtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMzBweDtcbiAgICBib3R0b206IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShtKSB7XG4gICAgICBAaW5jbHVkZSBkaW0oMTUwcHgpO1xuICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnNlcnZpY2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZGltKDI1MHB4LCAxODBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0O1xuXG4gIEBpbmNsdWRlIG1xKHhzKSB7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgQGluY2x1ZGUgZGltKDUwMXB4LCA0MjVweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI3MHB4O1xuICAgIGxlZnQ6IC0zMjJweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLW91dDtcbiAgfVxuXG4gICY6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTBweCAjMDAwMDAwO1xuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIEBpbmNsdWRlIHNlcnZpY2UtbGluaztcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cblxuICBzdmcge1xuICAgIEBpbmNsdWRlIGRpbSgyNTBweCwgMTgwcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIG1hc2sge1xuICAgICAgZmlsbC1vcGFjaXR5OiAwLjQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBzdmcge1xuICAgICAgLmltZy0xIGcge1xuICAgICAgICBhbmltYXRpb246IGFuaW1TZXJ2aWNlIDAuNnMgY3ViaWMtYmV6aWVyKDAuNjgsIDAsIDAuMjY1LCAxKTtcbiAgICAgIH1cbiAgICAgIC5pbWctMiBnIHtcbiAgICAgICAgYW5pbWF0aW9uOiBhbmltU2VydmljZSAwLjVzIGN1YmljLWJlemllcigwLjY4LCAwLCAwLjI2NSwgMSkgMC4xNXM7XG4gICAgICB9XG4gICAgICAuaW1nLTMgZyB7XG4gICAgICAgIGFuaW1hdGlvbjogYW5pbVNlcnZpY2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuNjgsIDAsIDAuMjY1LCAxKSAwLjNzO1xuICAgICAgfVxuICAgICAgbWFzayB7XG4gICAgICAgIGZpbGwtb3BhY2l0eTogMC44O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJveGVkLWxpbmsge1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcblxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJBdWN1biBhcnRpY2xlIGRlIGxvaSB0cm91dsOpXCI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fY2F0ZWdvcnkge1xuICAgIEBpbmNsdWRlIGEtc21hbGw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBkaW0oMTAwJSk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX19ncmV5LWRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweCAwIDE1cHggMDtcbiAgICBwYWRkaW5nOiAyMHB4IDkwcHggMjBweCAyNXB4O1xuICAgIG1hcmdpbjogMCAwIDNweCAwO1xuICAgIHRyYW5zaXRpb246IDAuMTZzIGFsbCBlYXNlLWluO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgZGltKDI0cHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICByaWdodDogMjVweDtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoI3skaW1nfXBsdXMtYmx1ZS5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLWluO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbWFyZ2luOiAzcHggMCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX2dyZXktbGlnaHQ7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc21hbGwge1xuICAgID4gYSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiAxMHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZGltKDE0cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ib3hlZC1saW5rX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG59XG4iLCIucm90YXRpbmctbG9nbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgZGltKDMwMHB4KTtcblxuICAmICsgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLnJvdGF0aW5nLWxvZ28tLWFyY2hfX2xhcmdlIHtcbiAgYW5pbWF0aW9uOiByb3RhdGUgNjBzIGxpbmVhciBpbmZpbml0ZSByZXZlcnNlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG4ucm90YXRpbmctbG9nby0tYXJjaF9fbWlkIHtcbiAgYW5pbWF0aW9uOiByb3RhdGUgNTBzIGxpbmVhciBpbmZpbml0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuLnJvdGF0aW5nLWxvZ28tLWFyY2hfX3NtYWxsIHtcbiAgYW5pbWF0aW9uOiByb3RhdGUgMjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4iLCIud2hpdGUtYm94IHtcbiAgQGluY2x1ZGUgd2hpdGVCYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAyMHB4IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbDtcblxuICAmX19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGNvdmVySW1hZ2U7XG4gIH1cblxuICAmX19kZWZhdWx0LWltYWdlIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciBib3R0b20gLTMwcHggdXJsKCN7JGltZ311c2VyLnN2Zykgbm8tcmVwZWF0LFxuICAgICAgJGNvbG9yX19ncmV5LWRhcms7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAyMDBweDtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDMwcHg7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBoMy1kZWNvcmF0aWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHAtc21hbGw7XG4gICAgY29sb3I6ICRjb2xvcl9fZGFyaztcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgbWFyZ2luLWJsb2NrOiAtMC4yZW0gMC41ZW07XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSBsaW5lLWNsYW1wKDUpO1xuICAgIEBpbmNsdWRlIHAtc21hbGw7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICoge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgQGluY2x1ZGUgcC1zbWFsbDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yX19ibHVlO1xuICB9XG5cbiAgLmN0YV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNvY2lhbC1saW5rcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICByaWdodDogMzBweDtcbiAgfVxuXG4gIC5mYWNlYm9vayB7XG4gICAgQGluY2x1ZGUgc29jaWFsLWljb24oZmFjZWJvb2ssIGJsYWNrLCB2aW9sZXQpO1xuICB9XG4gIC50d2l0dGVyIHtcbiAgICBAaW5jbHVkZSBzb2NpYWwtaWNvbih0d2l0dGVyLCBibGFjaywgdmlvbGV0KTtcbiAgfVxuICAubGlua2VkaW4ge1xuICAgIEBpbmNsdWRlIHNvY2lhbC1pY29uKGxpbmtlZGluLCBibGFjaywgdmlvbGV0KTtcbiAgfVxuICAuaW5zdGFncmFtIHtcbiAgICBAaW5jbHVkZSBzb2NpYWwtaWNvbihpbnN0YWdyYW0sIGJsYWNrLCB2aW9sZXQpO1xuICB9XG59XG4iLCIuc29jaWFsLWxpbmtzIHtcbiAgZ2FwOiAzMHB4O1xuXG4gICZfX2l0ZW0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBkaW0oMTAwJSk7XG4gICAgfVxuICB9XG59XG5cbi5mYWNlYm9vayB7XG4gIEBpbmNsdWRlIHNvY2lhbC1pY29uKGZhY2Vib29rKTtcbn1cbi50d2l0dGVyIHtcbiAgQGluY2x1ZGUgc29jaWFsLWljb24odHdpdHRlcik7XG59XG4ubGlua2VkaW4ge1xuICBAaW5jbHVkZSBzb2NpYWwtaWNvbihsaW5rZWRpbik7XG59XG4uaW5zdGFncmFtIHtcbiAgQGluY2x1ZGUgc29jaWFsLWljb24oaW5zdGFncmFtKTtcbn1cbiIsIi5saWdodGJveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDAwO1xuXG4gICZfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmFja2dyb3VuZDtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmX19pbnNpZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi0tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIGRpbSg0MHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHggMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoI3skaW1nfWNsb3NlLnN2Zykgbm8tcmVwZWF0LCAkY29sb3JfX2JsdWU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4ubGlnaHRib3gge1xuICBAaW5jbHVkZSBkaW0oNzAwcHgsIGZpdC1jb250ZW50KTtcbiAgYm9yZGVyLXJhZGl1czogMzBweCAwO1xuICBwYWRkaW5nOiA1MHB4O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgQGluY2x1ZGUgZGltKDkwJSwgZml0LWNvbnRlbnQpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICAmX19zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICB9XG4gIH1cblxuICAmLS1jb2xsYWJvcmF0ZXVyIHtcbiAgICB3aWR0aDogMTAwMHB4O1xuICAgIEBpbmNsdWRlIHdoaXRlQmFja2dyb3VuZDtcblxuICAgIEBpbmNsdWRlIG1xKG0pIHtcbiAgICAgIEBpbmNsdWRlIGRpbSg5MCUsIGZpdC1jb250ZW50KTtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgLmxpZ2h0Ym94X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgICAgIGdhcDogNTBweDtcblxuICAgICAgQGluY2x1ZGUgbXEobSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvcl9fYmx1ZTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgY292ZXJJbWFnZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMDtcblxuICAgICAgQGluY2x1ZGUgbXEobSkge1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2RlZmF1bHQtaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciBib3R0b20gLTMwcHggdXJsKCN7JGltZ311c2VyLnN2Zykgbm8tcmVwZWF0LFxuICAgICAgICAkY29sb3JfX2dyZXktZGFyaztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwcHggMjAwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMTBweDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBoMy1kZWNvcmF0aWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICBAaW5jbHVkZSBwLXNtYWxsO1xuICAgICAgY29sb3I6ICRjb2xvcl9fZGFyaztcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIG1hcmdpbi1ibG9jazogLTAuMmVtIDAuNWVtO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgQGluY2x1ZGUgcC1zbWFsbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICoge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIEBpbmNsdWRlIHAtc21hbGw7XG4gICAgICB9XG5cbiAgICAgIGIsXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgICAgICoge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpLFxuICAgICAgZW0ge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcblxuICAgICAgICAqIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xhbmd1YWdlcyB7XG4gICAgICBAaW5jbHVkZSBwLXNtYWxsO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuc29jaWFsLWxpbmtzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmZhY2Vib29rIHtcbiAgICAgIEBpbmNsdWRlIHNvY2lhbC1pY29uKGZhY2Vib29rLCBibGFjaywgdmlvbGV0KTtcbiAgICB9XG4gICAgLnR3aXR0ZXIge1xuICAgICAgQGluY2x1ZGUgc29jaWFsLWljb24odHdpdHRlciwgYmxhY2ssIHZpb2xldCk7XG4gICAgfVxuICAgIC5saW5rZWRpbiB7XG4gICAgICBAaW5jbHVkZSBzb2NpYWwtaWNvbihsaW5rZWRpbiwgYmxhY2ssIHZpb2xldCk7XG4gICAgfVxuICAgIC5pbnN0YWdyYW0ge1xuICAgICAgQGluY2x1ZGUgc29jaWFsLWljb24oaW5zdGFncmFtLCBibGFjaywgdmlvbGV0KTtcbiAgICB9XG4gIH1cblxuICAmLS1sb2dpbiB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX193aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yX19kYXJrO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAubGlnaHRib3hfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogNzBweCA3MHB4IDEwMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtcShtKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX19kYXJrO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfX2JsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5qcy1vcGVuLWxpZ2h0Ym94IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLmJsb2NrLXBhY2thZ2VzIHtcbiAgQGluY2x1ZGUgbGluZXNCYWNrZ3JvdW5kKDEwMCk7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuY3RhX19jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5wYWNrYWdlcyB7XG4gIEBpbmNsdWRlIGdyaWQoMyk7XG4gIGdyaWQtZ2FwOiAzMHB4O1xuICBwYWRkaW5nLWJsb2NrOiA0MHB4IDYwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctYmxvY2s6IDMwcHggMDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgdHJhbnNmb3JtIGVhc2Utb3V0O1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBoMTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICAmLS1wb2ludHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMHB4O1xuXG4gICAgICAmLS1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgcC1zbWFsbDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxNHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIGRpbSgxNXB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKCN7JGltZ31jaGVjay0td2hpdGUuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIG1hcmdpbi1ibG9jazogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdHJvbmcge1xuICAgICAgICAgIEBpbmNsdWRlIHA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY2VudGVyIHVybCgjeyRpbWd9Y2hlY2stLXdoaXRlLWJvbGQuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2s6IDZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkKSB7XG4gICAgICAucGFja2FnZXNfX2l0ZW0tLXBvaW50cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2dyZWVuLWxpZ2h0O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9fZ3JlZW4tbGlnaHQ7XG5cbiAgICAgICAgJi0taXRlbTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoI3skaW1nfWNoZWNrLS1ncmVlbi5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pdGVtLnN0cm9uZzpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoI3skaW1nfWNoZWNrLS1ncmVlbi1ib2xkLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFja2FnZXNfX2l0ZW0tLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fZ3JlZW4tbGlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5wYWNrYWdlc19faXRlbS0tcG9pbnRzIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX2dyZWVuLWRhcms7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX19ncmVlbi1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stY29tcGFyYWlzb24ge1xuICBtYXJnaW4tYmxvY2s6IDgwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIG1hcmdpbi1ibG9jazogNDBweDtcbiAgfVxuXG4gICZfX3BhcmFncmFwaCB7XG4gICAgQGluY2x1ZGUgcDtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgfVxuXG4gICZfX3RhYmxlIHtcbiAgICBtYXJnaW4tYmxvY2s6IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgdHIge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcblxuICAgICAgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICA6aXModGgsIHRkKSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fZ3JlZW4tbGlnaHQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNpZ25pbiB7XG4gIEBpbmNsdWRlIGEtc21hbGw7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBAaW5jbHVkZSBkaW0oMTFweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIHVybCgjeyRpbWd9dXNlci5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbn1cblxuLnRvcE1lbnUge1xuICAuc2lnbmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5saWdodGJveC0tbG9naW4ge1xuICAuY3RhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnNpZ24ge1xuICAmX19pbmZvYm94IHtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwLjE1KSwgcmdiYSgwLCAwLCAwLCAwLjE1KSksXG4gICAgICBsaW5lYXItZ3JhZGllbnQoMjMyLjZkZWcsICM2MjQwZjQgNS4xJSwgI2IxN2ZmZCA5NC45JSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAwcHg7XG4gICAgcGFkZGluZzogMjVweCA1MHB4O1xuICAgIG1hcmdpbi1ibG9jazogMzBweCA2MHB4O1xuXG4gICAgJi0tdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAuZmllbGRfX2NoZWNrYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmZvcm1fX2Vycm9ycyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkY29sb3JfX2Vycm9yO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yX19ibHVlO1xuXG4gICAgJi5zaWduX19mb3Jnb3RfbGluayB7XG4gICAgICBAaW5jbHVkZSBwLXNtYWxsO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGNvbG9yOiAkY29sb3JfX2Rhcms7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xLjVlbTtcbiAgICAgIGNvbG9yOiAkY29sb3JfX2Rhcms7XG5cbiAgICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50YWJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBiaWctYnV0dG9uO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbGluZWFyLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3RhYnNMaXN0TGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgyMzIuNmRlZywgIzYyNDBmNCA1LjElLCAjYjE3ZmZkIDk0LjklKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB9XG5cbiAgJl9fcGFydCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4jZm9yZ290X3Bhc3N3b3JkIHtcbiAgLnd5c2l3eWcge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuI3BheXRpdW0tc3VjY2VzcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbiAgdG9wOiAxMjBweDtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIHdpZHRoOiA3MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBwYWRkaW5nOiAzMHB4O1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ucGF5dGl1bS1zdWNjZXNzLWNsb3NlIHtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgZm9udC1zaXplOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8qKlxuICogSHRtbFxuICovXG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbi8qKlxuICogQm9keVxuICovXG5cbmJvZHkge1xuICBAaW5jbHVkZSBzbW9vdGgoKTtcbiAgQGluY2x1ZGUgdGV4dChcbiAgICAkc2l6ZTogJGJhc2VfX2ZvbnQtc2l6ZSxcbiAgICAkbGluZTogJGJhc2VfX2xpbmUsXG4gICAgJGNvbG9yOiAkY29sb3JfX3doaXRlLFxuICAgICRmYW1pbHk6ICR0ZXh0X19mYW1pbHktc2Fuc1xuICApO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJGNvbG9yX19iYWNrZ3JvdW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNlbnRlciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKDE0NDBweCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG4gIH1cblxuICAmLm5vLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vKipcbiAqIExpbmtcbiAqL1xuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJGNvbG9yX193aGl0ZTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4vKipcbiAqIEltYWdlc1xuICovXG5cbmltZyxcbnZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBUaXRsZVxuICovXG5cbmgxIHtcbiAgQGluY2x1ZGUgaDE7XG59XG5cbmgyIHtcbiAgQGluY2x1ZGUgaDI7XG59XG5cbmgzIHtcbiAgQGluY2x1ZGUgaDM7XG59XG5cbnZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yX19wdXJwbGU7XG4gIGNvbG9yOiAkY29sb3JfX3doaXRlO1xufVxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9fcHVycGxlO1xuICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmhyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW4tYmxvY2s6IDcwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDBkZWcsXG4gICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLFxuICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KVxuICAgICksXG4gICAgbGluZWFyLWdyYWRpZW50KDIzMi42ZGVnLCAjNjI0MGY0IDUuMSUsICNiMTdmZmQgOTQuOSUpO1xuXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBtYXJnaW4tYmxvY2s6IDQwcHg7XG4gIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcjtcblxuICAmX19zbWFsbCB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKDkwMCk7XG4gIH1cblxuICAuY29udGFpbmVyX19zbWFsbCB7XG4gICAgQGluY2x1ZGUgbXEobSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBnYXA6IDIwcHg7XG59XG5cbi5ncmlkLTQtY29scyB7XG4gIEBpbmNsdWRlIGdyaWQoNCwgMjApO1xufVxuXG4uZ3JpZC0zLWNvbHMge1xuICBAaW5jbHVkZSBncmlkKDMsIDIwKTtcbn1cblxuLmhpZGRlbi10ZXh0LFxuLmhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uc2xpZGVyX19jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDcwMHB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgQGluY2x1ZGUgbXEoeGwpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY29udGVudDpub3QoI2hvbWUpIHtcbiAgQGluY2x1ZGUgbGluZXNCYWNrZ3JvdW5kO1xuICBwYWRkaW5nLWJvdHRvbTogMTcwcHg7XG4gIG1pbi1oZWlnaHQ6IDgwdmg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICB9XG59XG5cbi5ib3hlZC1jb250ZW50IHtcbiAgcGFkZGluZzogNzBweDtcbiAgYm9yZGVyLXJhZGl1czogMzBweCAwcHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9fZ3JleS1kYXJrO1xuXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAuY3RhX19jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cblxuI2NvbnRhY3QsXG4jbmV3cyxcbiNmb3JtYXRpb24ge1xuICBAaW5jbHVkZSBsaW5lc0JhY2tncm91bmQoLTUwKTtcbn1cblxuI3NlcnZpY2VzIHtcbiAgaDEge1xuICAgIGNvbG9yOiAkY29sb3JfX2dyZWVuLWxpZ2h0O1xuICB9XG59XG5cbiNmb3JtYXRpb25zIHtcbiAgQGluY2x1ZGUgbGluZXNCYWNrZ3JvdW5kKDkwMCk7XG5cbiAgaDEge1xuICAgIGNvbG9yOiAkY29sb3JfX29yYW5nZS1saWdodDtcbiAgfVxufVxuXG4uc2VydmljZXMtbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdyaWQtZ2FwOiA2MHB4IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4O1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcShzKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKHhzKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxufVxuXG4uZm9ybWF0aW9ucy1saXN0IHtcbiAgLmJveGVkLWxpbmsgPiBhOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKCN7JGltZ31wbHVzLXllbGxvdy5zdmcpIG5vLXJlcGVhdDtcbiAgfVxuXG4gIC5ib3hlZC1saW5rX19jYXRlZ29yeSB7XG4gICAgY29sb3I6ICRjb2xvcl9fb3JhbmdlLWxpZ2h0O1xuICB9XG59XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIEBpbmNsdWRlIGRpbSgxMDAlKTtcbiAgYmFja2dyb3VuZDogdG9wIDEwMHB4IHJpZ2h0IDQwcHggdXJsKCN7JGltZ31jbG9zZS5zdmcpIG5vLXJlcGVhdCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgei1pbmRleDogMTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wb3N0LWRhdGUge1xuICBAaW5jbHVkZSBwLXNtYWxsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgJiArIC5wYWdlLWhlYWRlcl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDAuM2VtO1xuICB9XG59XG4iLCIuaGVhZGVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInRvcG5hdiB0b3BuYXZcIiBcImxvZ28gbWFpbm5hdlwiO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgZ3JpZC1nYXA6IDEzcHg7XG4gIHBhZGRpbmc6IDFyZW0gMjBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMTVweCAxZnI7XG4gICAgZ3JpZC1nYXA6IDA7XG4gICAgcGFkZGluZy1ibG9jazogMS40cmVtO1xuICB9XG5cbiAgLm1lbnVfX2NvbnRhY3QgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC4xKSwgcmdiYSgwLCAwLCAwLCAwLjEpKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgyMjYuNTJkZWcsICM2MjQwZjQgNS43MyUsICNiMTdmZmQgMzc1LjcyJSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDE0LjI5NTJweCAyMy4wMDY0cHggcmdiYSgwLCAwLCAwLCAwLjE3ODgzMiksXG4gICAgICAwcHggNC4yNTYwN3B4IDYuODQ5NjFweCByZ2JhKDAsIDAsIDAsIDAuMTIxMTY4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCA4LjI5NTJweCAyMy4wMDY0cHggcmdiYSgwLCAwLCAwLCAwLjE3ODgzMiksXG4gICAgICAgIDBweCAyLjI1NjA3cHggNi44NDk2MXB4IHJnYmEoMCwgMCwgMCwgMC4xMjExNjgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICB9XG4gIH1cblxuICAubWVudV9fY29udGFjdC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBjb2xvcjogJGNvbG9yX193aGl0ZTtcbiAgfVxufVxuXG4uaGVhZGVyX19sb2dvX19saW5rIHtcbiAgZ3JpZC1hcmVhOiBsb2dvO1xuICBtYXJnaW4tdG9wOiAtMTNweDtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udG9wTWVudV9fY29udGFpbmVyIHtcbiAgZ3JpZC1hcmVhOiB0b3BuYXY7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm1haW5NZW51X19jb250YWluZXIge1xuICBncmlkLWFyZWE6IG1haW5uYXY7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX2JhY2tncm91bmQ7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLm1lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGdhcDogMjBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5tZW51X19jb250YWN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIC50b3BNZW51X19jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGdhcDogMjBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubWFpbk1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBnYXA6IDUwcHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgbWVudS1saW5rO1xuICB9XG59XG5cbi50b3BNZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZ2FwOiAzMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgYS1zbWFsbDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5tZW51LWl0ZW0ge1xuICBhOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgIGNvbG9yOiAkY29sb3JfX2JsdWUtbGlnaHQ7XG4gIH1cbiAgJi5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBjb2xvcjogJGNvbG9yX19ibHVlLWxpZ2h0O1xuICB9XG5cbiAgJi55ZWxsb3cgYTppcyg6aG92ZXIsIDphY3RpdmUpLFxuICAmLnllbGxvdy5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICBjb2xvcjogJGNvbG9yX19vcmFuZ2UtbGlnaHQ7XG4gIH1cbiAgJi5ncmVlbiBhOmlzKDpob3ZlciwgOmFjdGl2ZSksXG4gICYuZ3JlZW4uY3VycmVudC1tZW51LWl0ZW0gYSB7XG4gICAgY29sb3I6ICRjb2xvcl9fZ3JlZW4tbGlnaHQ7XG4gIH1cbn1cblxuI29wZW5NZW51IHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS43cmVtO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIGRpbSgyMHB4KTtcbiAgICB6LWluZGV4OiAxMDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG5cbiAgICAub3Blbk1lbnVfX2xpbmUge1xuICAgICAgQGluY2x1ZGUgZGltKDIwcHgsIDJweCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICYub3BlbiB7XG4gICAgICAub3Blbk1lbnVfX2xpbmUge1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgQGluY2x1ZGUgbm9vbWlhKGxpZ2h0KTtcblxuICBiYWNrZ3JvdW5kOiAkY29sb3JfX2Zvb3RlcjtcbiAgcGFkZGluZy1ibG9jazogNTBweCAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDcwcHg7XG5cbiAgLmdyaWQtNC1jb2xzIHtcbiAgICBnYXA6IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgIGdhcDogMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZ2FwOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtY29sLTEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiAzMTBweDtcblxuICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgfVxuICB9XG5cbiAgJi1jb2wtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiA5MHB4O1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtY29sLTMge1xuICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAmLWNvbC00IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICB9XG4gIH1cblxuICAmLW1lbnUgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDFyZW07XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICBAaW5jbHVkZSBhLXNtYWxsO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhY3QtbGlua3Mge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgYWRkcmVzcyB7XG4gICAgY29sb3I6ICNmMWZhZWViMztcbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgY29sb3I6ICNmMWZhZWViMztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAxZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMjRweDtcblxuICAgICAgQGluY2x1ZGUgbXEocykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDFlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjZjFmYWVlYjM7XG4gICAgfVxuICB9XG59XG5cbi5jb3B5cmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG5cbiAgQGluY2x1ZGUgbXEocykge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSBkaW0oNzJweCwgMTNweCk7XG4gIH1cbn1cbiIsIi5oZXJvIHtcbiAgaGVpZ2h0OiA4MHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGhlaWdodDogODV2aDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWF4LXdpZHRoOiA5MTVweDtcblxuICAgIGIge1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHVycGxlLWxpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICB3aWR0aDogMTEwdnc7XG4gICAgICBtaW4td2lkdGg6IDgwMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMjh2aDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAuZG90c19fY29udGFpbmVyIGcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KDBweCk7XG4gICAgICBhbmltYXRpb246IGZsb2F0IDZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXG4gICAgICBAZm9yICRpIGZyb20gMyB0aHJvdWdoIDE1IHtcbiAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICN7JGkgKiAwLjV9cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yb3RhdGluZy1sb2dvIHtcbiAgICBAaW5jbHVkZSBkaW0oNDcwcHgpO1xuICAgIHJpZ2h0OiBjYWxjKDUwdncgLSA3MjBweCk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgIEBpbmNsdWRlIGRpbSgyMDBweCk7XG4gICAgICByaWdodDogLTIwcHg7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuICB9XG59XG4iLCIuaGFzLXNpZGViYXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MDBweDtcbiAgZ3JpZC1nYXA6IDYwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIwcHg7XG4gIH1cbn1cblxuLnNpZGViYXIgLndoaXRlLWJveCB7XG4gIEBpbmNsdWRlIGRpbSg1MDBweCwgZml0LWNvbnRlbnQpO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDUwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHggMDtcbiAgfVxufVxuIiwiLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ibG9jazogNTBweCAzMHB4O1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICBwYWRkaW5nLWJsb2NrOiA1MHB4IDIwcHg7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gICZfX3RpdGxlLFxuICAmX19wYXJhZ3JhcGgge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gIH1cblxuICAmX19wYXJhZ3JhcGgge1xuICAgIEBpbmNsdWRlIHA7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBAaW5jbHVkZSBjb3ZlckltYWdlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtKSB7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ibG9jazogMTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGhlaWdodDogNjUwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICB9XG5cbiAgJl9fYmFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDBweDtcbiAgICBsZWZ0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIGNvdmVySW1hZ2U7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA3ODBweDtcbiAgICBoZWlnaHQ6IDU3NXB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBAaW5jbHVkZSBkaW0oMTAwJSk7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyOCwgMjAsIDQwLCAwLjUpO1xuXG4gICAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIGgzLWRlY29yYXRpZjtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1heC13aWR0aDogODcwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDQwcHggMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19jYXRlZ29yeSB7XG4gICAgQGluY2x1ZGUgcDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG59XG4iLCIjaG9tZU5ld3Mge1xuICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbiNob21lU2VydmljZXMge1xuICBiYWNrZ3JvdW5kOiBjZW50ZXIgdXJsKCN7JGltZ31saW5lcy1iZy5zdmcpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZy1ibG9jazogMTIwcHggMTcwcHg7XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG5cbiAgICBAaW5jbHVkZSBtcShtKSB7XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgfVxuICB9XG59XG5cbi50bnMtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDMwcHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGluY2x1ZGUgZGltKDQwcHgsIDIwcHgpO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciB1cmwoI3skaW1nfWFycm93LnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcblxuICAgICY6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgfVxuXG4gICAgJltkYXRhLWNvbnRyb2xzPVwicHJldlwiXSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXG4gICAgICAmOmlzKDpob3ZlciwgOmFjdGl2ZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5lcnJvcjQwNCB7XG4gIC5mb290ZXIsXG4gIC5oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZXJyb3I0MDRfX2dyb3VwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAubWFpblRpdGxlX19maXJzdCB7XG4gICAgZm9udC1mYW1pbHk6ICR0ZXh0X19mYW1pbHktc2FucztcbiAgICBjb2xvcjogJGNvbG9yX19wdXJwbGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFlbTtcbiAgICBsZWZ0OiAxLjVlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG5cbiAgLm1haW5UaXRsZV9fc2Vjb25kIHtcbiAgICBmb250LWZhbWlseTogJHRleHRfX2ZhbWlseS1zYW5zO1xuICAgIGZvbnQtc2l6ZTogMTJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGNvbG9yX19wdXJwbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAuZXJyb3I0MDRfX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbn1cbiIsIi5mb3JtYXRpb24ge1xuICAucGFnZS1oZXJvX190aXRsZSB7XG4gICAgY29sb3I6ICRjb2xvcl9fb3JhbmdlLWxpZ2h0O1xuICB9XG5cbiAgLndoaXRlLWJveCB7XG4gICAgcGFkZGluZzogNDBweDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgQGluY2x1ZGUgaDMtZGVjb3JhdGlmO1xuICAgICAgY29sb3I6ICRjb2xvcl9fb3JhbmdlLWRhcms7XG4gICAgfVxuICB9XG5cbiAgJl9fcHJpY2Uge1xuICAgIEBpbmNsdWRlIHA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIHAtc21hbGw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybWF0ZXVycyB7XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4O1xuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiA1MnB4O1xuICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG4gICAgdHJhbnNpdGlvbjogMC4xNXMgY29sb3IgZWFzZS1vdXQ7XG5cbiAgICAmLS1zb2NpYWwge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZS1vdXQ7XG5cbiAgICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBkaW0oMjFweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yX19vcmFuZ2UtZGFyaztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgLmZvcm1hdGV1cnNfX2l0ZW0tLXNvY2lhbCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZhY2Vib29rIHtcbiAgICBAaW5jbHVkZSBzb2NpYWwtaWNvbihmYWNlYm9vaywgeWVsbG93KTtcbiAgfVxuICAudHdpdHRlciB7XG4gICAgQGluY2x1ZGUgc29jaWFsLWljb24odHdpdHRlciwgeWVsbG93KTtcbiAgfVxuICAubGlua2VkaW4ge1xuICAgIEBpbmNsdWRlIHNvY2lhbC1pY29uKGxpbmtlZGluLCB5ZWxsb3cpO1xuICB9XG4gIC5pbnN0YWdyYW0ge1xuICAgIEBpbmNsdWRlIHNvY2lhbC1pY29uKGluc3RhZ3JhbSwgeWVsbG93KTtcbiAgfVxufVxuIiwiLmFydGljbGVfZGVfbG9pIHtcbiAgJl9fY29udGVudCB7XG4gICAgcGFkZGluZzogNzBweCAyMDBweCA3MHB4IDcwcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX19ncmV5LWRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweCAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIEBpbmNsdWRlIGgzO1xuICAgIH1cbiAgfVxuXG4gICZfX3BhcmFncmFwaCB7XG4gICAgQGluY2x1ZGUgcDtcbiAgfVxuXG4gICZfX21lc3NhZ2Uge1xuICAgICYtLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGgzO1xuICAgIH1cblxuICAgICYtLWNvbnRlbnQge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfX2JsdWUtbGlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0xNWRlZyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19nZW5lcmFsaXRlcyB7XG4gICAgcGFkZGluZzogNzBweCAyMDBweCA3MHB4IDcwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweCAwcHg7XG4gICAgQGluY2x1ZGUgd2hpdGVCYWNrZ3JvdW5kO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggMzBweDtcbiAgICB9XG5cbiAgICAmLS10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBsaW5lYXItdGV4dDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICB9XG5cbiAgICAmLS1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAyOHB4O1xuICAgIH1cblxuICAgICYtLWl0ZW0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBwO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYmx1ZTtcbiAgICAgIH1cblxuICAgICAgaSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTE1ZGVnKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXN0cmljdGVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBkaW0oMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICAgIHBhZGRpbmc6IDE2MHB4IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgaDItZGVjb3JhdGlmO1xuICAgICAgfVxuXG4gICAgICBoMixcbiAgICAgIC5jdGFfX2NvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLWxvZ28ge1xuICAgICAgICBAaW5jbHVkZSBkaW0oNDA1cHgpO1xuICAgICAgICBvcGFjaXR5OiAwLjE7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgICAgIEBpbmNsdWRlIGRpbSgzMDBweCk7XG4gICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdGFfX2NvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ibG9jazogMzBweDtcbiAgfVxufVxuIiwiI2Fib3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLnJvdGF0aW5nLWxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYyg1MHZ3IC0gNTkwcHgpO1xuICAgIHRvcDogMTAwcHg7XG4gICAgQGluY2x1ZGUgZGltKDQwNXB4KTtcbiAgICBvcGFjaXR5OiAwLjM7XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGRpbSgyMDBweCk7XG4gICAgfVxuICB9XG5cbiAgI2Fib3V0VGVhbSB7XG4gICAgcGFkZGluZy1ibG9jazogMzBweCAxNzBweDtcblxuICAgIC53aGl0ZS1ib3hfX2ltYWdlIHtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQtMy1jb2xzIHtcbiAgICBnYXA6IDMwcHg7XG4gIH1cblxuICAud2hpdGUtYm94IHtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyB0cmFuc2Zvcm0gZWFzZS1vdXQ7XG5cbiAgICAmX19pbWFnZSBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogMC4yNXMgdHJhbnNmb3JtIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICY6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG5cbiAgICAgIC53aGl0ZS1ib3hfX2ltYWdlIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN0YV9fY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNWVtO1xuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLnNlcnZpY2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMTcwcHg7XG5cbiAgLnBhZ2UtaGVyb19fdGl0bGUge1xuICAgIGNvbG9yOiAkY29sb3JfX2dyZWVuLWxpZ2h0O1xuICB9XG5cbiAgLmhhcy1zaWRlYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgfVxuXG4gIC53aGl0ZS1ib3gge1xuICAgIHBhZGRpbmc6IDQwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShsKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIEBpbmNsdWRlIGgzLWRlY29yYXRpZjtcbiAgICAgIGNvbG9yOiAkY29sb3JfX2dyZWVuLWRhcms7XG4gICAgfVxuICB9XG59XG4iLCIjZXhwZXJ0aXNlIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiAucm90YXRpbmctbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBjYWxjKDUwdncgLSA3MjBweCk7XG4gICAgdG9wOiAwO1xuICAgIEBpbmNsdWRlIGRpbSg0MDVweCk7XG4gICAgb3BhY2l0eTogMC4zO1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBAaW5jbHVkZSBkaW0oMjAwcHgpO1xuICAgIH1cbiAgfVxufVxuXG4udGltZWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luOiA2MHB4IGF1dG8gMTIwcHggYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBwYWRkaW5nLWlubGluZTogMjBweDtcbiAgfVxuXG4gICZfX2N1cnJlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwcHg7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAmX19ncm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xuICAgICAgdG9wOiAwcHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGluY2x1ZGUgbXEocykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgIHBhZGRpbmc6IDcwcHggMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDAgMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgfVxuXG4gICAgICAmLmN1cnJlbnQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19ibHVlLWxpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDgxcHg7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxLjIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1saW5lIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX3doaXRlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDgxcHg7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEocykge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgQGluY2x1ZGUgaDMtZGVjb3JhdGlmO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKHMpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpbWVsaW5lX19saXN0X19pdGVtX190ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aW1lbGluZV9fbGlzdF9faXRlbV9faW1hZ2Uge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcShzKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXN0YXJ0LFxuICAgICAgJi0tZW5kIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KSxcbiAgICAgICAgICBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXN0YXJ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19ncmV5LWRhcms7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwO1xuICAgICAgICBAaW5jbHVkZSBoMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgJi0tZW5kIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgaDMtZGVjb3JhdGlmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2JhY2tncm91bmQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEocykge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNjb250YWN0IHtcbiAgLnBhZ2UtaGVyb19fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHA7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcblxuICAgIEBpbmNsdWRlIG1xKGwpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAud2hpdGUtYm94IHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuXG4gICAgQGluY2x1ZGUgbXEobCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAuYnVyZWF1IHN0cm9uZyB7XG4gICAgQGluY2x1ZGUgcDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkY29sb3JfX3B1cnBsZTtcbiAgfVxuXG4gIC5wYWdlLWhlcm9fX2ltYWdlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yX19wdXJwbGUsIDIwKTtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLmdtYXBzIHtcbiAgaGVpZ2h0OiA1NzVweDtcblxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ib3hlZC1jb250ZW50IHtcbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctYmxvY2s6IDUwcHg7XG5cbiAgICAubmYtZm9ybS1jb250IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4iXX0= */
