@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
}
body {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}

h1, .like-h1,
h2, .like-h2,
h3, .like-h3,
h4, .like-h4 {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-weight: 800;
}

h5, .like-h5,
h6, .like-h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.title-with-line.yellow:before {
  background-color: #FFFFFF;
}
.title-with-line:before {
  background-color: #FFFFFF;
}

strong {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

a {
  color: #55C2E7;
}
a:hover, a:focus {
  color: #000;
}

svg.info-circle path, svg.info-circle line {
  stroke: #000;
}

.primary-button {
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
  background: #000;
  border: 1px solid #000;
  color: #FFFFFF !important;
  display: flex;
  height: 56px;
  gap: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  width: inherit;
}
@media (max-width: 575.98px) {
  .primary-button {
    max-width: 500px;
    width: 100%;
  }
}
.primary-button svg path, .primary-button svg line {
  stroke: #fff;
}
.primary-button.disabled, .primary-button.button-disabled {
  background-color: #E4E4E7 !important;
  color: #A1A1AA !important;
  border: 0 !important;
}
.primary-button.disabled svg path, .primary-button.disabled svg line, .primary-button.button-disabled svg path, .primary-button.button-disabled svg line {
  stroke: #A1A1AA;
}
.primary-button:not(.disabled):hover, .primary-button:not(.disabled):focus {
  background: #000;
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  color: #FFFFFF;
}
.primary-button:not(.disabled):active {
  border-radius: 16px;
  background: #000;
  /* pressed shadow */
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1) inset;
  color: #FFFFFF;
}

.secondary-button {
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
  color: #000 !important;
  border: 1px solid #000;
  background: var(--white, #FFF);
  display: flex;
  height: 56px;
  gap: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  width: auto;
  text-decoration: none;
}
@media (max-width: 575.98px) {
  .secondary-button {
    width: 100%;
    height: 100%;
  }
}
.secondary-button svg path, .secondary-button svg line {
  stroke: #000;
}
.secondary-button.disabled {
  background-color: #E4E4E7;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}
.secondary-button:not(.disabled):hover, .secondary-button:not(.disabled):focus {
  background: #E8F9FF;
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  color: #000 !important;
}
.secondary-button:not(.disabled):active {
  border: 1px solid #000;
  color: #000 !important;
  box-shadow: none;
  background: #D0F3FF;
}
.secondary-button:not(.disabled):active svg path, .secondary-button:not(.disabled):active svg line {
  stroke: #000;
}

a.primary-btn, button.primary-btn {
  background-color: #55C2E7;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.3);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #FFFFFF;
}
a.primary-btn svg path, a.primary-btn svg line, button.primary-btn svg path, button.primary-btn svg line {
  stroke: #FFFFFF;
}
a.primary-btn .animated-bg-wrapper .animated-background, button.primary-btn .animated-bg-wrapper .animated-background {
  background-color: #55C2E7;
}
a.primary-btn.alt-colors, button.primary-btn.alt-colors {
  background-color: #FFFFFF;
  color: #000;
}
a.primary-btn.alt-colors svg path, a.primary-btn.alt-colors svg line, button.primary-btn.alt-colors svg path, button.primary-btn.alt-colors svg line {
  stroke: #000;
}
a.primary-btn.alt-colors .animated-bg-wrapper .animated-background, button.primary-btn.alt-colors .animated-bg-wrapper .animated-background {
  background-color: rgb(229.5, 229.5, 229.5);
}
a.primary-btn.disabled, button.primary-btn.disabled {
  background-color: #E4E4E7;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}
a.primary-btn:not(.disabled):hover, a.primary-btn:not(.disabled):focus, button.primary-btn:not(.disabled):hover, button.primary-btn:not(.disabled):focus {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}
a.primary-btn:not(.disabled):active, a.primary-btn:not(.disabled):focus, button.primary-btn:not(.disabled):active, button.primary-btn:not(.disabled):focus {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
}
a.secondary-btn, button.secondary-btn {
  border-color: #55C2E7;
  background-color: #FFFFFF;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.3);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #55C2E7;
}
a.secondary-btn svg path, a.secondary-btn svg line, button.secondary-btn svg path, button.secondary-btn svg line {
  stroke: #55C2E7;
}
a.secondary-btn .animated-bg-wrapper .animated-background, button.secondary-btn .animated-bg-wrapper .animated-background {
  background-color: #55C2E7;
}
a.secondary-btn.disabled, button.secondary-btn.disabled {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
a.secondary-btn.alt-colors, button.secondary-btn.alt-colors {
  border-color: #FFFFFF;
  background-color: transparent;
  color: #FFFFFF;
}
a.secondary-btn.alt-colors svg path, a.secondary-btn.alt-colors svg line, button.secondary-btn.alt-colors svg path, button.secondary-btn.alt-colors svg line {
  stroke: #FFFFFF;
}
a.secondary-btn.alt-colors .animated-bg-wrapper .animated-background, button.secondary-btn.alt-colors .animated-bg-wrapper .animated-background {
  background-color: #FFFFFF;
}
a.secondary-btn.alt-colors:not(.disabled):hover, a.secondary-btn.alt-colors:not(.disabled):focus, button.secondary-btn.alt-colors:not(.disabled):hover, button.secondary-btn.alt-colors:not(.disabled):focus {
  color: #000;
}
a.secondary-btn.alt-colors:not(.disabled):hover svg path, a.secondary-btn.alt-colors:not(.disabled):hover svg line, a.secondary-btn.alt-colors:not(.disabled):focus svg path, a.secondary-btn.alt-colors:not(.disabled):focus svg line, button.secondary-btn.alt-colors:not(.disabled):hover svg path, button.secondary-btn.alt-colors:not(.disabled):hover svg line, button.secondary-btn.alt-colors:not(.disabled):focus svg path, button.secondary-btn.alt-colors:not(.disabled):focus svg line {
  stroke: #000;
}
a.secondary-btn.disabled, button.secondary-btn.disabled {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
  color: #A1A1AA;
}
a.secondary-btn:not(.disabled):hover, a.secondary-btn:not(.disabled):focus, button.secondary-btn:not(.disabled):hover, button.secondary-btn:not(.disabled):focus {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
  color: #FFFFFF;
}
a.secondary-btn:not(.disabled):hover svg path, a.secondary-btn:not(.disabled):hover svg line, a.secondary-btn:not(.disabled):focus svg path, a.secondary-btn:not(.disabled):focus svg line, button.secondary-btn:not(.disabled):hover svg path, button.secondary-btn:not(.disabled):hover svg line, button.secondary-btn:not(.disabled):focus svg path, button.secondary-btn:not(.disabled):focus svg line {
  stroke: #FFFFFF;
}
a.secondary-btn:not(.disabled):active, a.secondary-btn:not(.disabled):focus, button.secondary-btn:not(.disabled):active, button.secondary-btn:not(.disabled):focus {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
}
a.tertiary-btn, button.tertiary-btn {
  background: linear-gradient(90deg, #55C2E7 33.3333333333%, transparent 0 66.6666666667%, #55C2E7 0) var(--d, 100%) 100%/300% 1px no-repeat;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #55C2E7;
}
a.tertiary-btn.green:not(.disabled):hover, a.tertiary-btn.green:not(.disabled):focus, button.tertiary-btn.green:not(.disabled):hover, button.tertiary-btn.green:not(.disabled):focus {
  background: linear-gradient(90deg, #000 33.3333333333%, transparent 0 66.6666666667%, #000 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #000;
}
a.tertiary-btn.alt-colors, button.tertiary-btn.alt-colors {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.alt-colors:not(.disabled):hover, a.tertiary-btn.alt-colors:not(.disabled):focus, button.tertiary-btn.alt-colors:not(.disabled):hover, button.tertiary-btn.alt-colors:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.white, button.tertiary-btn.white {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn.white:not(.disabled):hover, a.tertiary-btn.white:not(.disabled):focus, button.tertiary-btn.white:not(.disabled):hover, button.tertiary-btn.white:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.tertiary-btn:not(.disabled):hover, a.tertiary-btn:not(.disabled):focus, button.tertiary-btn:not(.disabled):hover, button.tertiary-btn:not(.disabled):focus {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.quartery-btn, button.quartery-btn {
  background: linear-gradient(90deg, #55C2E7 33.3333333333%, transparent 0 66.6666666667%, #18181B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
a.quartery-btn:not(.disabled):hover, a.quartery-btn:not(.disabled):focus, button.quartery-btn:not(.disabled):hover, button.quartery-btn:not(.disabled):focus {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
a.quartery-btn.alt-colors, button.quartery-btn.alt-colors {
  background: linear-gradient(90deg, #FFFFFF 33.3333333333%, transparent 0 66.6666666667%, #FFFFFF 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #FFFFFF;
}
a.quartery-btn.alt-colors:not(.disabled):hover, a.quartery-btn.alt-colors:not(.disabled):focus, button.quartery-btn.alt-colors:not(.disabled):hover, button.quartery-btn.alt-colors:not(.disabled):focus {
  background: linear-gradient(90deg, #55C2E7 33.3333333333%, transparent 0 66.6666666667%, #55C2E7 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #55C2E7;
}
a.primary-round-btn, button.primary-round-btn {
  background-color: #FFFFFF;
}
a.primary-round-btn svg path, a.primary-round-btn svg line, button.primary-round-btn svg path, button.primary-round-btn svg line {
  stroke: #000;
}
a.primary-round-btn:hover, a.primary-round-btn:focus, button.primary-round-btn:hover, button.primary-round-btn:focus {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.75);
}
a.primary-round-btn:active, a.primary-round-btn:focus, button.primary-round-btn:active, button.primary-round-btn:focus {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.75);
}
a.secondary-round-btn, button.secondary-round-btn {
  background-color: transparent;
  border-color: #FFFFFF;
}
a.secondary-round-btn svg path, a.secondary-round-btn svg line, button.secondary-round-btn svg path, button.secondary-round-btn svg line {
  stroke: #FFFFFF;
}
a.secondary-round-btn:hover, a.secondary-round-btn:focus, button.secondary-round-btn:hover, button.secondary-round-btn:focus {
  background-color: #FFFFFF;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.75);
}
a.secondary-round-btn:hover svg path, a.secondary-round-btn:hover svg line, a.secondary-round-btn:focus svg path, a.secondary-round-btn:focus svg line, button.secondary-round-btn:hover svg path, button.secondary-round-btn:hover svg line, button.secondary-round-btn:focus svg path, button.secondary-round-btn:focus svg line {
  stroke: #000;
}
a.secondary-round-btn:active, a.secondary-round-btn:focus, button.secondary-round-btn:active, button.secondary-round-btn:focus {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.75);
}

[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  /* Disabled checkbox */
}
[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #000;
  /* checkbox aspect */
}
[type=checkbox]:not(:checked) + label .animated-background,
[type=checkbox]:checked + label .animated-background {
  background-color: #E8F9FF;
}
[type=checkbox]:not(:checked) + label::before,
[type=checkbox]:checked + label::before {
  border-color: #A1A1AA;
  background: #FFFFFF;
}
[type=checkbox]:not(:checked):not(:disabled):hover + label::before, [type=checkbox]:not(:checked):not(:disabled):focus + label::before,
[type=checkbox]:checked:not(:disabled):hover + label::before,
[type=checkbox]:checked:not(:disabled):focus + label::before {
  border-color: #55C2E7;
}
[type=checkbox]:not(:checked):disabled + label,
[type=checkbox]:checked:disabled + label {
  color: #A1A1AA;
}
[type=checkbox]:not(:checked):disabled + label::before,
[type=checkbox]:checked:disabled + label::before {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
}
[type=checkbox]:not(:checked):checked + label::before,
[type=checkbox]:checked:checked + label::before {
  background-color: #55C2E7;
  border-color: #55C2E7;
}
[type=checkbox]:not(:checked):checked:focus + label::before,
[type=checkbox]:checked:checked:focus + label::before {
  border-color: #A1A1AA;
}

[type=radio]:not(:checked),
[type=radio]:checked {
  /* Disabled checkbox */
}
[type=radio]:not(:checked) + label,
[type=radio]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
  /* checkbox aspect */
}
[type=radio]:not(:checked) + label .animated-background,
[type=radio]:checked + label .animated-background {
  background-color: rgba(161, 161, 170, 0.08);
}
[type=radio]:not(:checked) + label::before,
[type=radio]:checked + label::before {
  border-color: #A1A1AA;
  background: #FFFFFF;
}
[type=radio]:not(:checked) + label::after,
[type=radio]:checked + label::after {
  background: #55C2E7;
}
[type=radio]:not(:checked):not(:disabled):hover + label::before, [type=radio]:not(:checked):not(:disabled):focus + label::before,
[type=radio]:checked:not(:disabled):hover + label::before,
[type=radio]:checked:not(:disabled):focus + label::before {
  border-color: #55C2E7;
}
[type=radio]:not(:checked):disabled + label,
[type=radio]:checked:disabled + label {
  color: #A1A1AA;
}
[type=radio]:not(:checked):disabled + label::before,
[type=radio]:checked:disabled + label::before {
  border-color: #A1A1AA;
  background-color: #FFFFFF;
}
[type=radio]:not(:checked):checked + label::before,
[type=radio]:checked:checked + label::before {
  border-color: #55C2E7;
}
[type=radio]:not(:checked):checked:focus + label::before,
[type=radio]:checked:checked:focus + label::before {
  border-color: #A1A1AA;
}

.checkbox-error {
  color: #fa000a;
}
.checkbox-error .exclamation-icon {
  background-color: #fa000a;
  color: #FFFFFF;
}

select.select2-hidden-accessible {
  visibility: hidden;
}

[type=text], [type=number], [type=tel], [type=email], [type=password], [type=email], select, textarea {
  border-bottom-color: #A1A1AA;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
  caret-color: #18181B;
  -moz-appearance: textfield;
}
[type=text]::-webkit-outer-spin-button, [type=text]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button, [type=number]::-webkit-inner-spin-button, [type=tel]::-webkit-outer-spin-button, [type=tel]::-webkit-inner-spin-button, [type=email]::-webkit-outer-spin-button, [type=email]::-webkit-inner-spin-button, [type=password]::-webkit-outer-spin-button, [type=password]::-webkit-inner-spin-button, [type=email]::-webkit-outer-spin-button, [type=email]::-webkit-inner-spin-button, select::-webkit-outer-spin-button, select::-webkit-inner-spin-button, textarea::-webkit-outer-spin-button, textarea::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
[type=text].form-control + label, [type=number].form-control + label, [type=tel].form-control + label, [type=email].form-control + label, [type=password].form-control + label, [type=email].form-control + label, select.form-control + label, textarea.form-control + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
[type=text].form-control ~ .invalid-feedback .exclamation-icon, [type=number].form-control ~ .invalid-feedback .exclamation-icon, [type=tel].form-control ~ .invalid-feedback .exclamation-icon, [type=email].form-control ~ .invalid-feedback .exclamation-icon, [type=password].form-control ~ .invalid-feedback .exclamation-icon, [type=email].form-control ~ .invalid-feedback .exclamation-icon, select.form-control ~ .invalid-feedback .exclamation-icon, textarea.form-control ~ .invalid-feedback .exclamation-icon {
  background-color: #fa000a;
  color: #FFFFFF;
}
[type=text].form-control:focus, [type=number].form-control:focus, [type=tel].form-control:focus, [type=email].form-control:focus, [type=password].form-control:focus, [type=email].form-control:focus, select.form-control:focus, textarea.form-control:focus {
  color: #000;
  border-color: #55C2E7;
}
[type=text].form-control:focus + label, [type=number].form-control:focus + label, [type=tel].form-control:focus + label, [type=email].form-control:focus + label, [type=password].form-control:focus + label, [type=email].form-control:focus + label, select.form-control:focus + label, textarea.form-control:focus + label {
  color: #55C2E7;
}
[type=text].form-control.is-invalid, [type=number].form-control.is-invalid, [type=tel].form-control.is-invalid, [type=email].form-control.is-invalid, [type=password].form-control.is-invalid, [type=email].form-control.is-invalid, select.form-control.is-invalid, textarea.form-control.is-invalid {
  border-color: #fa000a;
}
[type=text].form-control.is-invalid + label, [type=number].form-control.is-invalid + label, [type=tel].form-control.is-invalid + label, [type=email].form-control.is-invalid + label, [type=password].form-control.is-invalid + label, [type=email].form-control.is-invalid + label, select.form-control.is-invalid + label, textarea.form-control.is-invalid + label {
  color: #fa000a;
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection, [type=number].form-control.is-invalid ~ .select2-container .select2-selection, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection, [type=email].form-control.is-invalid ~ .select2-container .select2-selection, [type=password].form-control.is-invalid ~ .select2-container .select2-selection, [type=email].form-control.is-invalid ~ .select2-container .select2-selection, select.form-control.is-invalid ~ .select2-container .select2-selection, textarea.form-control.is-invalid ~ .select2-container .select2-selection {
  border-bottom-color: #fa000a;
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=number].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=email].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=password].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, [type=email].form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, select.form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b, textarea.form-control.is-invalid ~ .select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow-error@2x.png");
}
[type=text].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=number].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=tel].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=email].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=password].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, [type=email].form-control.is-invalid ~ .select2-container .select2-selection__placeholder, select.form-control.is-invalid ~ .select2-container .select2-selection__placeholder, textarea.form-control.is-invalid ~ .select2-container .select2-selection__placeholder {
  color: #fa000a !important;
}
[type=text].form-control.alt-colors, [type=number].form-control.alt-colors, [type=tel].form-control.alt-colors, [type=email].form-control.alt-colors, [type=password].form-control.alt-colors, [type=email].form-control.alt-colors, select.form-control.alt-colors, textarea.form-control.alt-colors {
  border-color: #FFFFFF;
  color: #FFFFFF;
  caret-color: #FFFFFF;
}
[type=text].form-control.alt-colors + label, [type=number].form-control.alt-colors + label, [type=tel].form-control.alt-colors + label, [type=email].form-control.alt-colors + label, [type=password].form-control.alt-colors + label, [type=email].form-control.alt-colors + label, select.form-control.alt-colors + label, textarea.form-control.alt-colors + label {
  color: #FFFFFF;
}
[type=text].form-control.alt-colors:focus, [type=number].form-control.alt-colors:focus, [type=tel].form-control.alt-colors:focus, [type=email].form-control.alt-colors:focus, [type=password].form-control.alt-colors:focus, [type=email].form-control.alt-colors:focus, select.form-control.alt-colors:focus, textarea.form-control.alt-colors:focus {
  border-color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid, [type=number].form-control.alt-colors.is-invalid, [type=tel].form-control.alt-colors.is-invalid, [type=email].form-control.alt-colors.is-invalid, [type=password].form-control.alt-colors.is-invalid, [type=email].form-control.alt-colors.is-invalid, select.form-control.alt-colors.is-invalid, textarea.form-control.alt-colors.is-invalid {
  border-color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid + label, [type=number].form-control.alt-colors.is-invalid + label, [type=tel].form-control.alt-colors.is-invalid + label, [type=email].form-control.alt-colors.is-invalid + label, [type=password].form-control.alt-colors.is-invalid + label, [type=email].form-control.alt-colors.is-invalid + label, select.form-control.alt-colors.is-invalid + label, textarea.form-control.alt-colors.is-invalid + label {
  color: #FFFFFF;
}
[type=text].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=number].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=tel].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=password].form-control.alt-colors.is-invalid ~ .invalid-feedback, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback, select.form-control.alt-colors.is-invalid ~ .invalid-feedback, textarea.form-control.alt-colors.is-invalid ~ .invalid-feedback {
  color: #E32033;
}
[type=text].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=number].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=tel].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=password].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, [type=email].form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, select.form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon, textarea.form-control.alt-colors.is-invalid ~ .invalid-feedback .exclamation-icon {
  background-color: #E32033;
  color: #fff;
}

.form-floating textarea.form-control {
  border-color: #A1A1AA;
  caret-color: #55C2E7;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #000;
}
.form-floating textarea.form-control + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
  background-color: #FFFFFF;
}
.form-floating textarea.form-control:focus {
  border-color: #55C2E7;
}
.form-floating textarea.form-control:focus + label {
  color: #55C2E7;
}

.select-label .select-label-content {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #A1A1AA;
}

.select2-container .select2-selection {
  border-bottom-color: #A1A1AA;
}
.select2-container .select2-selection .select2-selection__rendered {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #55C2E7;
}
.select2-container .select2-selection .select2-selection__rendered .select2-selection__placeholder {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow@2x.png");
}
.select2-container .select2-results__options {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
}
.select2-container .select2-results__options .select2-results__option {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #52525B;
}
.select2-container .select2-results__options .select2-results__option.select2-results__option--selected {
  background-color: #FFFFFF;
}
.select2-container .select2-results__options .select2-results__option.select2-results__option--highlighted {
  background-color: #E4E4E7;
}
.select2-container.select2-container--open .select2-selection {
  border-bottom-color: #55C2E7;
}

aside.aside-locations {
  background: #55C2E7;
}
aside.aside-locations h3 {
  color: #FFFFFF;
}
aside.aside-locations [type=text] {
  border-bottom-color: #FFFFFF;
  color: #FFFFFF;
  caret-color: #FFFFFF;
}
aside.aside-locations [type=text]:focus {
  color: #FFFFFF;
}
aside.aside-locations [type=text].form-control + label {
  color: #FFFFFF;
}
aside.aside-locations .actions div {
  border: 1px solid #FFFFFF;
}
aside.aside-locations .actions div svg g > * {
  stroke: #FFFFFF;
}
aside.aside-locations .actions div:hover {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
}
aside.aside-locations .actions div:hover svg g > * {
  stroke: #000;
}
aside.aside-locations .location.active {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 100vmax #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
}
aside.aside-locations .location.active .infos {
  color: #000;
}
aside.aside-locations .location.active .infos .icon span {
  color: #FFFFFF;
}
aside.aside-locations .location.active .select-location a {
  color: #000;
}
aside.aside-locations .location.active .select-location a:hover {
  color: #000;
}
aside.aside-locations .location:not(:last-child) {
  border-bottom: 1px solid #55C2E7;
}
aside.aside-locations .location .infos {
  color: #FFFFFF;
}
aside.aside-locations .location .select-location a {
  color: #FFFFFF;
}
aside.aside-locations .location .select-location a:hover {
  color: #FFFFFF;
}
@media (max-width: 1023.98px) {
  aside.mobile-overlay .thumb:before {
    background: #FFFFFF;
  }
}

.add-child {
  background-color: #D0F3FF;
}

.checkout-confirmation .content .order {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-confirmation .check-instructions .thanks {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .checkout-confirmation .check-instructions {
    border-top: 1px solid #E4E4E7;
  }
  .checkout-confirmation .check-instructions .text, .checkout-confirmation .check-instructions .notice {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
}

.checkout-form {
  background-color: #FFFFFF;
}
.checkout-form .has-top-border {
  border-top: 1px solid #E4E4E7;
}
.checkout-form h2 .text {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.checkout-form .text, .checkout-form .bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-form .separator {
  background-color: #E4E4E7;
}
.checkout-form .form-check [type=radio]:not(:checked) + label,
.checkout-form .form-check [type=radio]:checked + label,
.checkout-form .form-check .info-label,
.checkout-form .form-check .floating-elem {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-form .form-check input:disabled ~ .info, .checkout-form .form-check input:disabled ~ .info-label, .checkout-form .form-check input:disabled ~ .floating-elem {
  color: #A1A1AA;
}
.checkout-form .form-check .floating-elem {
  color: #52525B;
}
.checkout-form .form-check .floating-elem.pictures .payment-method.active {
  border-color: #55C2E7;
}
.checkout-form .select-label .select2-selection__placeholder {
  color: #18181B;
}
.checkout-form .select-label .select2-selection__rendered {
  color: #18181B;
}

.checkout-review .has-bottom-border {
  border-bottom: 1px solid #E4E4E7;
  padding-bottom: 1.875rem;
}
.checkout-review .has-top-border {
  border-top: 1px solid #E4E4E7;
  padding-top: 1.5rem;
}
.checkout-review .content {
  background-color: #FFFFFF;
}
.checkout-review .extra-info .is-small {
  color: #18181B;
}
.checkout-review .extra-info .total .price.is-free {
  color: #55C2E7;
}
.checkout-review .extra-info .total .tip {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.checkout-review .review-part.is-shipping .elem .label, .checkout-review .review-part.is-payment .elem .label {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
@media (max-width: 767.98px) {
  .checkout-review .has-bottom-border {
    padding-bottom: 1.4375rem;
  }
  .checkout-review .has-top-border {
    padding-top: 1.25rem;
  }
}

.child-tile .package {
  background-color: #FFFFFF;
}
.child-tile .package-summary .qty span, .child-tile .package-summary .original-price {
  color: #18181B;
}
.child-tile .package-summary .qty .select2-container .select2-selection .select2-selection__arrow b {
  background-image: url("../images/dropdown-arrow-colored@2x.png");
}
.child-tile .package-summary .price.is-free {
  color: #55C2E7;
}
.child-tile .package-summary .tip {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

.club-subscription {
  background-color: #FFFFFF;
}
.club-subscription .bottom {
  border-top: 1px solid #E4E4E7;
}
.club-subscription .bottom .price {
  color: #55C2E7;
}

.letter-animation svg rect,
.letter-animation svg path,
.letter-animation svg line {
  stroke: #000;
}
.letter-animation svg ellipse {
  stroke: none;
}
.letter-animation svg rect,
.letter-animation svg path,
.letter-animation svg ellipse {
  fill: #D3E6EC;
}
.letter-animation .checkmark rect,
.letter-animation .checkmark path,
.letter-animation .checkmark ellipse {
  fill: #22C55E;
}
.letter-animation .checkmark path {
  stroke: #fff;
}
.letter-animation:after {
  background-color: #F4F4F5;
}

.package-part.is-review .part-content {
  border: none;
}
.package-part:not(.is-review) {
  border-bottom: 1px solid #E4E4E7;
}
.package-part .package-title .description {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}
.package-part .img-wrapper {
  border: 1px solid #E4E4E7;
}
.package-part .img-wrapper .extra-poses {
  background-color: #55C2E7;
  color: #FFFFFF;
}
.package-part .label {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.package-part .layout-img {
  border: 1px solid #E4E4E7;
}

.summary .detail.is-bold .label, .summary .detail.is-bold .value {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.summary .detail.is-highligthed .value {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #55C2E7;
}
.summary .detail.final-total {
  border-top: 1px solid #E4E4E7;
}
.summary .need-help a {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.summary .promises p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

.survey-form {
  background-color: #FFFFFF;
}
.survey-form .experience .field label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.survey-form .error {
  color: #fa000a;
}
.survey-form .thanks .checkmark-icon {
  background-color: #55C2E7;
}

.popup {
  background: rgba(0, 0, 0, 0.75);
}
.popup .popup-wrapper {
  background: #FFFFFF;
}
.popup .popup-wrapper .popup-close-btn svg line {
  stroke: #000;
}
.popup .popup-wrapper .popup-content .title {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}

.type-background .pictures-list .img-wrapper:hover .background, .type-background .pictures-list .img-wrapper.selected .background {
  border-color: #55C2E7;
}
.type-background .pictures-list .img-wrapper:hover .background-name, .type-background .pictures-list .img-wrapper:hover .background-price, .type-background .pictures-list .img-wrapper:hover .premium-price, .type-background .pictures-list .img-wrapper.selected .background-name, .type-background .pictures-list .img-wrapper.selected .background-price, .type-background .pictures-list .img-wrapper.selected .premium-price {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
}
.type-background .pictures-list .img-wrapper.load-more p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #A1A1AA;
}
.type-background .pictures-list .img-wrapper:hover, .type-background .pictures-list .img-wrapper.favorited {
  color: #18181B;
}
.type-background .pictures-list .img-wrapper:hover .favorite, .type-background .pictures-list .img-wrapper.favorited .favorite {
  background-image: url("../images/customize/favorite-icon-filled.png");
}
.type-background .pictures-list .img-wrapper .favorite {
  background-image: url("../images/customize/favorite-icon-outline.png");
  background-size: 20px auto;
  background-position: center center;
  background-repeat: no-repeat;
}
.type-background .pictures-list .img-wrapper .background {
  border-color: transparent;
}
.type-background .pictures-list .img-wrapper .background-name {
  color: #A1A1AA;
}
@media (max-width: 1023.98px) {
  .type-background .pictures-list .img-wrapper .favorite {
    background-size: 15px auto;
  }
  .type-background .pictures-list .img-wrapper:hover .favorite, .type-background .pictures-list .img-wrapper.favorited .favorite {
    background-image: url("../images/customize/favorite-icon-filled.png");
  }
  .type-background .pictures-list .img-wrapper .favorite {
    background-image: url("../images/customize/favorite-icon-outline.png");
  }
}

.type-grades .select2-selection__placeholder {
  color: #A1A1AA !important;
}
.type-grades .select2-selection__rendered {
  color: #000 !important;
}

.type-layout .layouts-list .layout-wrapper {
  border: 1px solid #E4E4E7;
}
.type-layout .layouts-list .layout-wrapper:hover, .type-layout .layouts-list .layout-wrapper.selected {
  border: 3px solid #55C2E7;
}
.type-layout .layouts-list .layout-wrapper:hover ~ .label, .type-layout .layouts-list .layout-wrapper.selected ~ .label {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #18181B;
}
.type-layout .layouts-list .layout-display {
  border-top: 1px solid #A1A1AA;
  border-right: 1px solid #A1A1AA;
}
.type-layout .layouts-list .layout-display .cell {
  border-bottom: 1px solid #A1A1AA;
  border-left: 1px solid #A1A1AA;
}
.type-layout .layouts-list .layout-display .cell .bg {
  background-color: #A1A1AA;
}

.type-phone .select2-selection__placeholder {
  color: #A1A1AA !important;
}
.type-phone .select2-selection__rendered {
  color: #000 !important;
}

.type-pose .pictures-list .img-wrapper {
  border-color: transparent;
}
.type-pose .pictures-list .img-wrapper:hover, .type-pose .pictures-list .img-wrapper.selected {
  border-color: #55C2E7;
}
.type-pose .pictures-list .img-wrapper:hover img, .type-pose .pictures-list .img-wrapper.selected img {
  border-color: #55C2E7;
}
.type-pose .pictures-list .img-wrapper i {
  background: #55C2E7;
}
.type-pose .pictures-list .img-wrapper img {
  border-color: #E4E4E7;
  border-width: 2px;
}

.downloads .download-link a {
  color: #000;
}
.downloads .download-link a svg, .downloads .download-link a svg * {
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  fill: #000;
}
.downloads .download-link a:hover {
  color: #000;
}
.downloads .download-link a:hover svg, .downloads .download-link a:hover svg * {
  fill: #000;
}

.login {
  background-color: #fff;
}
.login .login-nav .login-nav-element.selected {
  border-bottom: 2px solid #000;
}
.login .login__title {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.login .remove-code svg * {
  stroke: #18181B;
}
.login .form-login .login-codes:focus {
  border: 1px solid var(--darker-primary-color, #000);
  background: var(--white, #FFF) !important;
  box-shadow: 0px 1px 4px 0px #55C2E7;
}
.login .login__add-code-btn {
  color: #000;
  border: 1px solid #000;
}
.login .login__add-code-btn:hover {
  background: var(--NanC-Light-primary, #E8F9FF);
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
}
.login .login__add-code-btn:active {
  background: #000;
}
.login .form-login__submit {
  background: #000;
  border: 1px solid #000;
}
.login .form-login__submit:hover {
  background: var(--NanC-Hover, #55C2E7);
}
.login .form-login__submit:active {
  background: #000;
}

.package-tile .link:hover ~ .package, .package-tile .link:hover ~ .price {
  color: #55C2E7;
}
.package-tile .link:hover ~ .name {
  color: #000;
}
.package-tile .img-wrapper {
  background-color: #E8F9FF;
}

.animated-curve .background {
  background-color: #000;
}

.header-map {
  border-bottom: 1px solid #E4E4E7;
  background-color: #FFFFFF;
}
.header-map span.close-overlay svg line {
  stroke: #18181B;
}

header.checkout {
  background: #FFFFFF;
  border-bottom: 1px solid #E4E4E7;
  padding-bottom: 0 !important;
}
header.checkout .logo {
  padding-bottom: 16px;
}
header.checkout .checkout-nav {
  color: #A1A1AA;
  /* Label/Label medium */
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  text-transform: capitalize;
  /* Label/Label medium */
}
header.checkout .checkout-nav ul li a, header.checkout .checkout-nav ul li p {
  color: #52525B;
  padding-bottom: 16px;
}
header.checkout .checkout-nav ul li.active a, header.checkout .checkout-nav ul li.active p {
  font-weight: 600;
  color: #18181B;
}
header.checkout .checkout-nav ul li.active a::after, header.checkout .checkout-nav ul li.active p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 2px;
  background-color: #18181B;
}
header.checkout .checkout-nav ul li.completed a, header.checkout .checkout-nav ul li.completed p {
  font-weight: 600;
  color: #18181B;
}
header.checkout .checkout-nav ul li.completed i.caret svg * {
  stroke: #18181B;
}
header.checkout .checkout-nav ul li i.completed-icon {
  top: 14px !important;
  background-color: #22C55E;
}
@media (max-width: 1023.98px) {
  header.checkout .checkout-nav ul li i.completed-icon {
    top: 32px !important;
  }
}
header.checkout .checkout-nav ul li i.caret {
  margin-bottom: 16px;
}
header.checkout .checkout-nav ul li i.caret svg * {
  stroke: #A1A1AA;
}
@media (max-width: 1023.98px) {
  header.checkout .header-container .checkout-nav ul {
    border-top: 1px solid #E4E4E7;
    border-bottom: 1px solid #E4E4E7;
  }
  header.checkout .header-container .checkout-nav ul li a {
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
  }
}
.checkout-page-content {
  background-color: #FAFAFA;
}
.checkout-page-content .newsletter-signup, .checkout-page-content .add-webcode {
  background: #D0F3FF;
  border: 2px solid #55C2E7;
}

.bg-badge {
  background-color: #55C2E7;
}

.upsell-cta-buttons {
  padding-top: 24px;
}

.aside-customize {
  background: #FAFAFA;
  border-color: #E4E4E7;
}
.aside-customize .step {
  color: #52525B;
}
.aside-customize .step .step-title {
  color: #52525B;
  font-size: 14px;
  font-weight: 400;
}
.aside-customize .step svg path {
  stroke: #52525B;
}
.aside-customize .step svg circle {
  stroke: #52525B;
}
.aside-customize .step svg line {
  stroke: #52525B;
}
.aside-customize .step .error-icon svg circle, .aside-customize .step .error-icon svg path {
  fill: #fa000a;
}
@media (min-width: 1024px) {
  .aside-customize .step.active {
    background: #E8F9FF;
  }
  .aside-customize .step.active:hover {
    background: #E8F9FF;
  }
}

.header-customize {
  background: #FFFFFF;
  border-bottom: 1px solid #E4E4E7;
}
.header-customize .navigation h1 {
  color: #18181B;
}
.header-customize .navigation ul li {
  color: #A1A1AA;
}
.header-customize .navigation ul li.active {
  color: #A1A1AA;
}
.header-customize .navigation ul li.active p {
  color: #18181B;
}
.header-customize .navigation ul li.completed {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  opacity: 0.9;
}
.header-customize .navigation ul li.completed i.caret svg * {
  stroke: #55C2E7;
}
.header-customize .navigation ul li.completed.active {
  opacity: 1;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
.header-customize .navigation ul li i.completed-icon {
  background-color: #55C2E7;
}
.header-customize .navigation ul li i.caret svg * {
  stroke: #A1A1AA;
}
.header-customize .prices .total {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-weight: 600;
  color: #18181B;
}
.header-customize .prices .donation {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #52525B;
}
@media (max-width: 1023.98px) {
  .header-customize {
    background: none;
  }
  .header-customize .navigation {
    background: #FFFFFF;
  }
  .header-customize .navigation ul {
    background: #FFFFFF;
  }
}
@media (max-width: 1023.98px) {
  .mobile-nav {
    border-color: #E4E4E7;
    background: var(--primary-green, #55C2E7);
    justify-content: center;
    padding: 0;
  }
  .mobile-nav .prices {
    color: #55C2E7;
  }
  .mobile-nav .prices .total {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
  }
  .mobile-nav .prices .donation {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
  .mobile-nav .tertiary-button {
    display: flex;
    width: 300px;
    height: 56px;
    padding: 8px 20px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    border-radius: 20px;
    border: 1px solid #000;
    background: var(--white, #FFF);
  }
  .mobile-nav .tertiary-button span {
    color: #000;
    /* Big button style */
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
  }
  .mobile-nav .tertiary-button svg {
    margin-left: 0;
  }
  .mobile-nav .tertiary-button svg path {
    stroke: #000;
  }
  .mobile-nav .tertiary-button svg line {
    stroke: #000;
  }
  .mobile-nav .tertiary-button :hover, .mobile-nav .tertiary-button :focus {
    background: #F4F4F5;
    /* hover shadow */
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
    color: #000;
  }
  .mobile-nav .tertiary-button:hover, .mobile-nav .tertiary-button:focus {
    background: #F4F4F5;
    /* hover shadow */
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
    color: #000;
  }
}

.preview-customize {
  background-color: #FFF;
}
.preview-customize .preview-montage {
  background: #FAFAFA;
}
.preview-customize .preview-montage.has-bg .image-wrapper img {
  background-color: transparent;
}
.preview-customize .preview-montage .image-wrapper img {
  background-color: #F4F4F5;
  border-radius: 8px;
}
.preview-customize .preview-montage .random-background i {
  border-color: #55C2E7;
}
.preview-customize .preview-montage .random-background i:before {
  background-color: #55C2E7;
}
.preview-customize .preview-montage .random-background i svg .svg-background {
  fill: #55C2E7;
}
.preview-customize .preview-montage .random-background span {
  color: #55C2E7;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
@media (max-width: 1023.98px) {
  .preview-customize .preview-montage {
    background: #ffffff;
  }
  .preview-customize .preview-montage .included-formats .top h5 {
    color: #A1A1AA;
  }
  .preview-customize .preview-montage .included-formats .top h5 span.is-mobile {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
  }
  .preview-customize .preview-montage .included-formats .top .tertiary-btn:hover, .preview-customize .preview-montage .included-formats .top .tertiary-btn:focus {
    color: #55C2E7 !important;
    background: linear-gradient(90deg, #55C2E7 33.3333333333%, transparent 0 66.6666666667%, #55C2E7 0) var(--d, 100%) 100%/300% 1px no-repeat;
  }
}
.tools-customize {
  background: #FFFFFF;
}
.tools-customize:after {
  background: #FFFFFF;
}
.tools-customize .tools-content .error {
  color: #fa000a;
}
@media (max-width: 1023.98px) {
  .tools-customize {
    background: transparent;
  }
}
.footer {
  padding-top: 32px;
}
.footer .footer__wrapper.is-main-content {
  background-color: #000;
  color: #FFFFFF;
}
.footer .footer__wrapper.is-main-content a {
  color: currentColor;
}
.footer .footer__wrapper.is-main-content a:hover, .footer .footer__wrapper.is-main-content a:focus {
  color: #FFFFFF;
}
.footer .footer-advantage {
  background-color: #55C2E7;
  color: #FFFFFF;
}
.footer .footer-advantage .footer-advantage__text {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.footer .footer-socials .footer-socials__link:hover svg rect, .footer .footer-socials .footer-socials__link:focus svg rect {
  fill: #FFFFFF;
}
.footer .footer-socials .footer-socials__link:hover svg > g, .footer .footer-socials .footer-socials__link:focus svg > g {
  fill: #FFFFFF;
}
.footer .footer-socials .footer-socials__link:hover svg > path, .footer .footer-socials .footer-socials__link:focus svg > path {
  fill: #000;
}
.footer .footer__website {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.footer .footer-nav .footer-nav__link {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
}
@media (max-width: 1023.98px) {
  .footer .footer-contacts .footer-contacts__link {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
  }
}

.header-category {
  background-color: #E8F9FF;
}
.header-category.open .selected-session-selector,
.header-category.open .scrolling-wrapper {
  background-color: #FFFFFF;
}
.header-category .scrolling-wrapper {
  filter: drop-shadow(0px 8px 30px rgba(0, 0, 0, 0.16));
}
.header-category .scrolling-wrapper .scroll:before {
  background: linear-gradient(rgb(255, 255, 255) 10%, rgba(255, 255, 255, 0) 100%);
}
.header-category .scrolling-wrapper .scroll:after {
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.header-category .scrolling-wrapper .nano-pane {
  background: #E8F9FF;
}
.header-category .scrolling-wrapper .nano-pane .nano-slider {
  background: #55C2E7;
}
.header-category .session-selector, .header-category .selected-session-selector {
  color: #52525B;
}
.header-category .session-selector:hover .name, .header-category .selected-session-selector:hover .name {
  color: #18181B;
}
.header-category .session-selector:hover .session-name, .header-category .selected-session-selector:hover .session-name {
  color: #18181B;
}
.header-category .session-selector .img-wrapper, .header-category .selected-session-selector .img-wrapper {
  background-color: #FFFFFF;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
}

.support-mode-banner {
  display: flex;
  height: 56px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: var(--color-Status-Info-colorInfoActive, #2563EB);
  color: var(--white, #FFF);
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  text-transform: uppercase;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}
.messages.support-mode + .support-mode-banner {
  top: 49px;
}

.seasonal-promo-banner {
  border: 1px solid #D0F3FF;
  background: linear-gradient(180deg, #FFF 79.35%, #D0F3FF 79.36%);
}
.seasonal-promo-banner .promo-column1 .promo-title {
  color: #000;
}
.seasonal-promo-banner .promo-column1 .promo-description {
  color: #000;
}

.seasonal-promo-banner-promo-page {
  background: #E8F9FF;
}
.seasonal-promo-banner-promo-page .promo-title {
  color: #000;
}
.seasonal-promo-banner-promo-page .promo-description {
  color: #000;
}

header {
  background-color: #000;
  color: var(--white, #FFF);
  padding-top: 20px;
  padding-left: 50px;
  padding-right: 50px;
}
header.connected {
  background-color: var(--white, #FFF);
  border-bottom: 1px solid #A1A1AA;
  padding-bottom: 18px;
}
header.support-mode {
  margin-top: 50px;
}
header a.main-header-link {
  color: #52525B;
  position: relative;
}
header a.main-header-link.selected {
  border: 0;
  font-weight: 600;
}
header a.main-header-link.selected::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 2px;
  background-color: #18181B;
}
header a.main-header-link:hover {
  color: #18181B;
}
header a.main-header-link:active {
  color: #18181B;
}
header a.main-header-link.inactive {
  color: #A1A1AA;
}
header nav ul li.cart-icon a span.item-count {
  background-color: #18181B;
}
header .header-info {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
  font-size: 14px;
  line-height: normal;
}
header .header-info p {
  margin-bottom: 0 !important;
}
header .header-info .lang-switch {
  display: flex;
  width: 32px;
  height: 32px;
  padding: 7.5px 6px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #F4F4F5;
  background: #000;
}
header .header-info .lang-switch:hover {
  border: 1px solid var(--white, #FFF);
  background: var(--primary-green, #55C2E7);
}
header .header-info .lang-switch:hover a {
  color: var(--white, #FFF);
}
header .header-info .lang-switch a {
  color: #F4F4F5;
}
header .header-info .lang-switch a:hover, header .header-info .lang-switch a:focus {
  color: var(--white, #FFF);
}
header .header-info .lang-switch.connected {
  border: 1px solid #000;
  background: var(--white, #FFF);
  background: #FFF;
}
header .header-info .lang-switch.connected a {
  color: #000;
}
header .header-info .lang-switch.connected:hover, header .header-info .lang-switch.connected:focus {
  background: var(--primary-green, #55C2E7);
}
header .header-info .lang-switch.connected:hover a, header .header-info .lang-switch.connected:focus a {
  color: var(--white, #FFF);
}
header nav ul li a {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  line-height: normal;
}
header nav ul li a:hover, header nav ul li a:focus {
  color: #FFFFFF;
}
header nav ul li.active a {
  color: #FFF;
}
header nav ul li.active a svg path, header nav ul li.active a svg line {
  stroke: #FFF;
}
header nav ul li.cart-link-wrapper span {
  color: #FFFFFF;
  background-color: #fa000a;
}
header nav ul li .header-logout {
  font-weight: 500 !important;
  font-size: 14px !important;
}

.hero-default {
  background-color: #55C2E7;
  color: #FFFFFF;
}

.hero-home {
  background: linear-gradient(180deg, #000 55.5%, #55C2E7 100%);
  color: #FFFFFF;
}
@media (max-width: 1023.98px) {
  .hero-home {
    padding-top: 64px;
  }
}
.hero-home .col-12 button.login__add-code-btn, .hero-home .col-md-12 button.login__add-code-btn {
  width: 100%;
  margin-bottom: 20px;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.hero-home .col-12 button.login__add-code-btn svg line, .hero-home .col-md-12 button.login__add-code-btn svg line {
  stroke: #000;
}
.hero-home .col-12 button.form-login__submit, .hero-home .col-md-12 button.form-login__submit {
  width: 100%;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.hero-welcome {
  background: #fff;
  color: #18181B;
}
@media (max-width: 1023.98px) {
  .hero-welcome .mobile-add-code {
    background-color: #E8F9FF;
  }
}
.hero-welcome .nav-pills .nav-link.active, .hero-welcome .nav-pills .show > .nav-link {
  border: 1px solid #55C2E7;
  border-radius: 12px;
}
.hero-welcome .secondary-round-btn.slick-disabled {
  box-shadow: none;
  background-color: transparent;
  border: 1px solid #FFFFFF;
}
.hero-welcome .secondary-round-btn.slick-disabled svg path, .hero-welcome .secondary-round-btn.slick-disabled svg line {
  stroke: #FFFFFF;
}
.hero-welcome .add-codes-wrapper.expanded .content {
  background: #D0F3FF;
}
.hero-welcome .add-codes-wrapper .content {
  background: #55C2E7;
}
.hero-welcome .add-codes-wrapper .content .texts {
  color: #000 !important;
}
.hero-welcome .add-codes-wrapper .content .codes input {
  color: #000 !important;
  border-color: var(--mid-gri, #18181B);
  text-transform: uppercase;
}
.hero-welcome .add-codes-wrapper .content .codes label {
  color: var(--mid-gri, #18181B);
}
.hero-welcome .datacards .datacard {
  position: relative;
}
.hero-welcome .datacards .datacard .photos {
  background: #fff;
  margin-bottom: 16px;
  border-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(1) {
  border-top-left-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(2) {
  border-top-right-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(3) {
  border-bottom-left-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(4) {
  border-bottom-right-radius: 12px;
}
.hero-welcome .datacards .datacard .photo-container:nth-child(2), .hero-welcome .datacards .datacard .photo-container:nth-child(3) {
  background: #FFFFFF;
}
.hero-welcome .datacards .datacard .photo-container .more {
  font-size: 2.25rem;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #000;
}

.image-text .row:after {
  background-color: #18181B;
}
.image-text .row .col-texts * {
  color: #18181B;
}

.messages .message.is-info .close-btn svg line, .messages .message.is-warning .close-btn svg line {
  stroke: #000;
}
.messages .message.is-error .close-btn svg line, .messages .message.is-success .close-btn svg line {
  stroke: #FFFFFF;
}
.messages .message.is-info {
  background: #D0F3FF;
}
.messages .message.is-warning {
  background: #FFFFFF;
}
.messages .message.is-error {
  background: #fa000a;
  color: #FFFFFF;
}
.messages .message.is-success {
  background: #000;
  color: #FFFFFF;
}
.messages .message p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.messages .message .particles.particle-1 {
  background: #000;
}
.messages .message .particles.particle-2 {
  background: #FFFFFF;
}
.messages .message .particles.particle-3 {
  border: 1px solid #000;
}
.messages .message .particles.particle-4 {
  background: #000;
}
.messages .message .particles.particle-5 {
  border: 1px solid #000;
}
.messages .message .particles.particle-6 {
  background: #FFFFFF;
}

.notice-bar {
  background: #D0F3FF;
}
.notice-bar p {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}
.notice-bar .particles.particle-1 {
  background: #000;
}
.notice-bar .particles.particle-2 {
  background: #FFFFFF;
}
.notice-bar .particles.particle-3 {
  border: 1px solid #000;
}
.notice-bar .particles.particle-4 {
  background: #000;
}
.notice-bar .particles.particle-5 {
  border: 1px solid #000;
}
.notice-bar .particles.particle-6 {
  background: #FFFFFF;
}

.ordering-widget-slider {
  background: #E8F9FF;
}
.ordering-widget-slider .ordering-widget-item {
  background: #D0F3FF;
}

.text-page-content {
  background-color: #FFFFFF;
}
.text-page-content .heading-wrapper {
  background-color: #55C2E7;
}
.text-page-content .heading-wrapper h1 {
  color: #FFFFFF;
}

.customize-page {
  background-color: #E8F9FF;
}
.customize-page.scroll-disabled {
  overflow: hidden;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9jc3MvdGhlbWUuc3R1ZGlvLWJvaXRlYmxhbmNoZS5jc3MiLCJtYXBwaW5ncyI6IkFBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUFGO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQURGO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUZGO0FBS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUhGO0FBTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUpGO0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUxGO0FBUUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQU5GO0FBU0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQVBGO0FBVUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQVJGO0FBV0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQVRGO0FBWUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQVZGO0FBYUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQVhGO0FBY0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQVpGO0FBZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQWJGO0FBZ0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFkRjtBQWlCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBZkY7QUM1RkE7RUNHSTtFQUNBO0VERkEsY0VKVztBSG1HZjs7QUN4RkE7Ozs7RUNOSTtFQUNBO0VEVUE7QUQ0Rko7O0FDekZBOztFQ0VJO0VBQ0E7QUY0Rko7O0FDdkZRO0VBQ0k7QUQwRlo7QUNyRkk7RUFDSTtBRHVGUjs7QUMvRUE7RUNMSTtFQUNBO0FGd0ZKOztBQzVFQTtFQUNJO0FEK0VKO0FDN0VJO0VBQ0k7QUQrRVI7O0FJbklJO0VBQ0ksWUNLTztBTGlJZjs7QUlqSUk7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCQ0xjO0VETWQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRmNHO0VBQ0E7RUViSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKcUlEO0FJcElDO0VBakJHO0lBa0JDO0lBQ087RUp1SVY7QUFDRjtBSXBJWTtFQUNJO0FKc0loQjtBSWxJUTtFQUNJO0VBQ0E7RUFDUDtBSm9JTDtBSWxJRTtFQUNrQixlRHhDYjtBSDRLUDtBSTVIWTtFQUNWLGdCQzVDbUI7RUQ2Q25CO0VBQ0E7RUFDQTtBSjhIRjtBSTVISztFQUNIO0VBQ0EsZ0JDcERzQjtFRHFEdEI7RUFDQTtFQUNBO0FKOEhGOztBSXZISTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VGaERHO0VBQ0E7RUVpREg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnlIRDtBSXZIQztFQXBCRztJQXFCUTtJQUNQO0VKMEhIO0FBQ0Y7QUl0SFk7RUFDVixZQ3hGYTtBTGdOZjtBSXBIUTtFQUNJO0VGaEdSO0VBQ0E7RUVpR1E7QUp1SFo7QUlsSFk7RUFDVixtQkNsR3VCO0VEbUd2QjtFQUNBO0VBQ0E7QUpvSEY7QUlsSEs7RUFDSDtFQUNBO0VBQ0E7RUFDQSxtQkM1R29CO0FMZ090QjtBSWxITTtFQUNILFlDakhZO0FMcU9mOztBSXpHSTtFQUNJO0VBQ0E7RUZ0R0o7RUFDQTtFRXVHSTtBSjZHUjtBSTFHWTtFQUNJO0FKNEdoQjtBSXZHWTtFQUNJO0FKeUdoQjtBSXJHUTtFQUNJO0VBQ0E7QUp1R1o7QUlwR2dCO0VBQ0k7QUpzR3BCO0FJakdnQjtFQUNJO0FKbUdwQjtBSTlGUTtFQUNJO0VGbktSO0VBQ0E7RUVvS1E7QUppR1o7QUk3Rlk7RUFDSTtBSitGaEI7QUk1Rlk7RUFDSTtBSjhGaEI7QUl6Rkk7RUFDSTtFQUNBO0VBQ0E7RUYzSko7RUFDQTtFRTRKSTtBSjRGUjtBSXpGWTtFQUNJO0FKMkZoQjtBSXRGWTtFQUNJO0FKd0ZoQjtBSXBGUTtFRnRNSjtFQUNBO0FGNlJKO0FJcEZRO0VBQ0k7RUFDQTtFQUNBO0FKc0ZaO0FJbkZnQjtFQUNJO0FKcUZwQjtBSWhGZ0I7RUFDSTtBSmtGcEI7QUk3RWdCO0VBQ0k7QUorRXBCO0FJNUV3QjtFQUNJO0FKOEU1QjtBSXZFUTtFQUNJO0VBQ0E7RUFDQTtBSnlFWjtBSXJFWTtFQUNJO0VBQ0E7QUp1RWhCO0FJcEVvQjtFQUNJO0FKc0V4QjtBSWpFWTtFQUNJO0FKbUVoQjtBSTlESTtFQUNJO0VGdE9KO0VBQ0E7RUV1T0k7QUppRVI7QUk3RGdCO0VBQ0k7RUFDQTtBSitEcEI7QUkxRFE7RUFDSTtFQUNBO0FKNERaO0FJekRnQjtFQUNJO0VBQ0E7QUoyRHBCO0FJdERRO0VBQ0k7RUFDQTtBSndEWjtBSXJEZ0I7RUFDSTtFQUNBO0FKdURwQjtBSWpEWTtFQUNJO0VBQ0E7QUptRGhCO0FJOUNJO0VBQ0k7RUYvU0o7RUFDQTtFRWdUSSxjRHRUTztBSHVXZjtBSTlDWTtFRnBTUjtFQUNBO0FGcVZKO0FJN0NRO0VBQ0k7RUFDQTtBSitDWjtBSTVDZ0I7RUFDSTtFQUNBO0FKOENwQjtBSXhDSTtFQUNJO0FKMENSO0FJdkNZO0VBQ0k7QUp5Q2hCO0FJckNRO0VBQ0k7QUp1Q1o7QUlwQ1E7RUFDSTtBSnNDWjtBSWxDSTtFQUNJO0VBQ0E7QUpvQ1I7QUlqQ1k7RUFDSTtBSm1DaEI7QUkvQlE7RUFDSTtFQUNBO0FKaUNaO0FJOUJnQjtFQUNJO0FKZ0NwQjtBSTNCUTtFQUNJO0FKNkJaOztBSXZCQTs7RUEyQkk7QUpDSjtBSTFCSTs7RUZ0WEE7RUFDQTtFRXVYSTtFQU1BO0FKeUJSO0FJN0JROztFQUNJO0FKZ0NaO0FJNUJROztFQUNJO0VBQ0E7QUorQlo7QUl4QmdCOzs7RUFDSTtBSjRCcEI7QUlwQlE7O0VBQ0k7QUp1Qlo7QUlyQlk7O0VBQ0k7RUFDQTtBSndCaEI7QUlqQlk7O0VBQ0k7RUFDQTtBSm9CaEI7QUlkZ0I7O0VBRUk7QUpnQnBCOztBSVJBOztFQStCSTtBSmxCSjtBSVhJOztFRmpiQTtFQUNBO0VFa2JJLGNEeGJPO0VDOGJQO0FKVVI7QUlkUTs7RUFDSTtBSmlCWjtBSWJROztFQUNJO0VBQ0E7QUpnQlo7QUliUTs7RUFDSTtBSmdCWjtBSVRnQjs7O0VBQ0k7QUphcEI7QUlMUTs7RUFDSTtBSlFaO0FJTlk7O0VBQ0k7RUFDQTtBSlNoQjtBSUZZOztFQUNJO0FKS2hCO0FJQ2dCOztFQUVJO0FKQ3BCOztBSU1BO0VBQ0k7QUpISjtBSUtJO0VBQ0k7RUFDQTtBSkhSOztBSU9BO0VBQ0k7QUpKSjs7QUlRQTtFQUNJO0VGM2VBO0VBQ0E7RUU0ZUEsY0RsZ0JXO0VDbWdCWCxvQkRuZ0JXO0VDb2dCWDtBSkpKO0FJTUk7RUFFSTtFQUNBO0FKTFI7QUlTUTtFRnhnQko7RUFDQTtFRXlnQlEsY0QvZ0JHO0FIeWdCZjtBSVVZO0VBQ0k7RUFDQTtBSlJoQjtBSVlRO0VBQ0k7RUFDQTtBSlZaO0FJWVk7RUFDSTtBSlZoQjtBSWNRO0VBQ0k7QUpaWjtBSWNZO0VBQ0k7QUpaaEI7QUlnQmdCO0VBQ0k7QUpkcEI7QUlpQndCO0VBQ0k7QUpmNUI7QUlvQmdCO0VBQ0k7QUpsQnBCO0FJdUJRO0VBQ0k7RUFDQTtFQUNBO0FKckJaO0FJdUJZO0VBQ0k7QUpyQmhCO0FJd0JZO0VBQ0k7QUp0QmhCO0FJeUJZO0VBQ0k7QUp2QmhCO0FJeUJnQjtFQUNJO0FKdkJwQjtBSTBCZ0I7RUFDSTtBSnhCcEI7QUkwQm9CO0VBQ0k7RUFDQTtBSnhCeEI7O0FJa0NJO0VBQ0k7RUFDQTtFRjFrQko7RUFDQTtFRTJrQkk7QUo5QlI7QUlnQ1E7RUY5bEJKO0VBQ0E7RUUrbEJRO0VBQ0E7QUo3Qlo7QUlnQ1E7RUFDSTtBSjlCWjtBSWdDWTtFQUNJO0FKOUJoQjs7QUlzQ0k7RUZobkJBO0VBQ0E7RUVpbkJJO0FKbENSOztBSXVDSTtFQUNJO0FKcENSO0FJc0NRO0VGMW1CSjtFQUNBO0VFMm1CUTtBSm5DWjtBSXFDWTtFRjluQlI7RUFDQTtBRjRsQko7QUl1Q1k7RUFDSTtBSnJDaEI7QUkwQ0k7RUFDSTtBSnhDUjtBSTBDUTtFRjduQko7RUFDQTtFRThuQlEsY0RucEJBO0FING1CWjtBSXlDWTtFQUNJO0FKdkNoQjtBSTBDWTtFQUNJO0FKeENoQjtBSThDUTtFQUNJO0FKNUNaOztBTXRuQkk7RUFDSTtBTnluQlI7QU12bkJRO0VBQ0k7QU55bkJaO0FNdG5CUTtFQUNJO0VBQ0E7RUFDQTtBTnduQlo7QU10bkJZO0VBQ0k7QU53bkJoQjtBTXBuQmdCO0VBQ0k7QU5zbkJwQjtBTWhuQlk7RUFDSTtBTmtuQmhCO0FNOW1Cb0I7RUFDSTtBTmduQnhCO0FNNW1CZ0I7RUFDSTtFQUNBO0FOOG1CcEI7QU0zbUJ3QjtFQUNJO0FONm1CNUI7QU1ybUJZO0VBQ0k7RUFDQTtFQUNBO0FOdW1CaEI7QU1ybUJnQjtFQUNJO0FOdW1CcEI7QU1wbUJ3QjtFQUNJO0FOc21CNUI7QU0vbEJvQjtFQUNJO0FOaW1CeEI7QU0vbEJ3QjtFQUNJO0FOaW1CNUI7QU0xbEJZO0VBQ0k7QU40bEJoQjtBTXhsQlk7RUFDSTtBTjBsQmhCO0FNdGxCZ0I7RUFDSTtBTndsQnBCO0FNdGxCb0I7RUFDSTtBTndsQnhCO0FPdm1CSTtFRHlCWTtJQUNJO0VOaWxCbEI7QUFDRjs7QVF4ckJBO0VBQ0k7QVIyckJKOztBUzFyQlE7RVBvQko7RUFDQTtBRjBxQko7QVN6ckJRO0VQY0o7RUFDQTtBRjhxQko7QU96bkJJO0VFOURJO0lBQ0k7RVQwckJWO0VTeHJCVTtJUEtSO0lBQ0E7RUZzckJGO0FBQ0Y7O0FVOXNCQTtFQUNJO0FWaXRCSjtBVWh0Qkk7RUFDSTtBVmt0QlI7QVUvc0JRO0VSQUo7RUFDQTtBRmt0Qko7QVU5c0JJO0VSV0E7RUFDQTtBRnNzQko7QVU5c0JJO0VBQ0k7QVZndEJSO0FVNXNCUTs7OztFUkVKO0VBQ0E7QUZndEJKO0FVM3NCWTtFQUdJO0FWMnNCaEI7QVV2c0JRO0VBQ0ksY1BsQ0E7QUgydUJaO0FVdHNCZ0I7RUFDSTtBVndzQnBCO0FVanNCUTtFQUNJLGNQL0NHO0FIa3ZCZjtBVWhzQlE7RUFDSSxjUG5ERztBSHF2QmY7O0FXcnZCSTtFQUNJO0VBQ0E7QVh3dkJSO0FXdHZCSTtFQUNJO0VBQ0E7QVh3dkJSO0FXcnZCSTtFQUNJO0FYdXZCUjtBV252QlE7RUFDSSxjUmZHO0FIb3dCZjtBV2p2Qlk7RUFDSTtBWG12QmhCO0FXaHZCWTtFVEZSO0VBQ0E7QUZxdkJKO0FXenVCZ0I7RVRHWjtFQUNBO0FGeXVCSjtBT3BzQkk7RUlqQ0k7SUFDSTtFWHd1QlY7RVd0dUJNO0lBQ0k7RVh3dUJWO0FBQ0Y7O0FZdnhCSTtFQUNJO0FaMHhCUjtBWXR4QlE7RUFDSSxjVE5HO0FIOHhCZjtBWWh4Qm9CO0VBQ0k7QVpreEJ4QjtBWTV3QlE7RUFDSTtBWjh3Qlo7QVkzd0JRO0VWWUo7RUFDQTtBRmt3Qko7O0FhenlCQTtFQUNJO0FiNHlCSjtBYTF5Qkk7RUFDSTtBYjR5QlI7QWExeUJRO0VBQ0k7QWI0eUJaOztBY2p6QkM7OztFQUlJLFlURWdCO0FMaXpCckI7QWNqekJDO0VBQ0k7QWRtekJMO0FjaHpCQzs7O0VBR0k7QWRrekJMO0FjN3lCQzs7O0VBR0k7QWQreUJMO0FjM3lCQztFQUNJO0FkNnlCTDtBY3p5Qkk7RUFDSTtBZDJ5QlI7O0FlMTBCUTtFQUNJO0FmNjBCWjtBZXowQkk7RUFDSTtBZjIwQlI7QWV2MEJRO0ViTko7RUFDQTtBRmcxQko7QWVsMEJJO0VBQ0k7QWZvMEJSO0FlbDBCUTtFQUNJO0VBQ0E7QWZvMEJaO0FlaDBCSTtFYlFBO0VBQ0E7QUYyekJKO0FlaDBCSTtFQUNJO0FmazBCUjs7QWdCbDJCWTtFZG1DUjtFQUNBO0FGbTBCSjtBZ0JqMkJZO0VkNkJSO0VBQ0E7RWM1Qlk7QWhCbzJCaEI7QWdCaDJCUTtFQUNJO0FoQmsyQlo7QWdCNzFCUTtFZENKO0VBQ0E7QUYrMUJKO0FnQjMxQlE7RWRMSjtFQUNBO0FGbTJCSjs7QWlCMTNCQTtFQUNJO0FqQjYzQko7QWlCejNCWTtFZmlCUjtFQUNBO0FGMjJCSjtBaUJ2M0JJO0VBQ0k7QWpCeTNCUjtBaUJyM0JRO0VBQ0k7QWpCdTNCWjs7QWtCeDRCQTtFQUNJO0FsQjI0Qko7QWtCejRCSTtFQUNJO0FsQjI0QlI7QWtCeDRCWTtFQUNJO0FsQjA0QmhCO0FrQnI0Qlk7RWhCeUJSO0VBQ0E7QUYrMkJKOztBbUJsNUJnQjtFQUNJO0FuQnE1QnBCO0FtQmw1QmdCO0VqQmNaO0VBQ0E7RWlCYmdCLGNoQlRMO0FIODVCZjtBbUIvNEJnQjtFakJNWjtFQUNBO0VpQkxnQixjaEJmYjtBSGk2QlA7QW1COTRCWTtFQUNWLGNoQnRCYTtBSHM2QmY7QW1CLzRCZ0I7RUFDSTtBbkJpNUJwQjtBbUI3NEJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QW5CKzRCaEI7QW1CNTRCWTtFQUNJO0FuQjg0QmhCO0FtQjM0Qlk7RUFDSSxjaEJ0Q1Q7QUhtN0JQO0FPMTJCSTtFWTNCWTtJQUNJO0VuQnc0QmxCO0VtQnI0QmtCO0lBQ0k7RW5CdTRCdEI7RW1CbjRCYztJQUNJO0VuQnE0QmxCO0FBQ0Y7O0FvQmg4Qkk7RUFDSTtBcEJtOEJSO0FvQmg4Qkk7RUFDSTtBcEJrOEJSOztBcUJ0OEJRO0VBQ0k7QXJCeThCWjtBcUJ2OEJZO0VBQ0k7QXJCeThCaEI7QXFCdjhCZ0I7RW5CY1o7RUFDQTtFbUJiZ0IsY2xCVEw7QUhtOUJmO0FxQnI4QlE7RUFDSTtFQUNBO0FyQnU4Qlo7QXFCcjhCWTtFQUNJO0VBQ0E7QXJCdThCaEI7QXFCcjhCZ0I7RUFDSSx5QmxCckJiO0FINDlCUDs7QXNCOTlCSTtFQUNJO0F0QmkrQlI7QXNCOTlCSTtFQUNJO0F0QmcrQlI7O0F1QnArQlE7RUFDSTtBdkJ1K0JaO0F1QnIrQlk7RUFDSTtBdkJ1K0JoQjtBdUJyK0JnQjtFQUNJO0F2QnUrQnBCO0F1Qm4rQlk7RUFDSTtBdkJxK0JoQjtBdUJsK0JZO0VBQ0k7RUFDZDtBdkJvK0JGOztBd0JyL0JJO0VBQ0gsV25CTWM7QUxrL0JmO0F3QnYvQlE7RUFDSDtFQUNBO0VBQ0E7RUFDTyxVbkJDRztBTHcvQmY7QXdCdC9CUTtFQUNJLFduQkpTO0FMNC9CckI7QXdCdi9CWTtFQUNWLFVuQk5tQjtBTCsvQnJCOztBeUJ2Z0NBO0VBQ0k7QXpCMGdDSjtBeUJ4Z0NJO0VBQ0g7QXpCMGdDRDtBeUJ2Z0NJO0V2QmVBO0VBQ0E7QUYyL0JKO0F5QnJnQ1k7RUFDSSxldEJiRDtBSG9oQ2Y7QXlCLy9CWTtFQUNWO0VBQ0E7RUFDQTtBekJpZ0NGO0F5QjUvQkk7RUFDSCxXcEJ0QmM7RW9CdUJkO0F6QjgvQkQ7QXlCNS9CUTtFQUNIO0VBQ0E7RUFDQTtBekI4L0JMO0F5QjUvQkM7RUFDSSxnQnBCL0JVO0FMNmhDZjtBeUIxL0JJO0VBQ0gsZ0JwQnBDYztFb0JxQ2Q7QXpCNC9CRDtBeUIxL0JDO0VBQ0k7QXpCNC9CTDtBeUIxL0JDO0VBQ0ksZ0JwQjNDVTtBTHVpQ2Y7O0EwQjlpQ1E7RUFDSTtBMUJpakNaO0EwQjlpQ1E7RUFDSTtBMUJnakNaO0EwQjVpQ0k7RUFDSTtBMUI4aUNSOztBMkJ6akNJO0VBQ0k7QTNCNGpDUjs7QTRCOWpDQTtFQUNJO0VBQ0E7QTVCaWtDSjtBNEI3akNnQjtFQUNJLGV6Qk5MO0FIcWtDZjs7QTZCdGtDQTtFQUNJO0VBQ0E7RUFDQTtBN0J5a0NKO0E2QnZrQ0k7RUFDSDtBN0J5a0NEO0E2QnRrQ0k7RUFDSCxjMUJQTTtFMEJRTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0J3a0NEO0E2QnJrQ2dCO0VBQ0ksYzFCbkJSO0UwQm9CTjtBN0J1a0NOO0E2Qm5rQ29CO0VBQ2pCO0VBQ0EsYzFCM0JZO0FIZ21DZjtBNkJwa0NHO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QjFCcENRO0FIMG1DZjtBNkIvakNNO0VBQ0g7RUFDQSxjMUI3Q1k7QUg4bUNmO0E2QjNqQzRCO0VBQ0ksZTFCcERqQjtBSGluQ2Y7QTZCdmpDZ0I7RUFFVjtFQUtjO0E3Qm9qQ3BCO0FPMWlDSTtFc0JqQlk7SUFJYjtFN0IyakNEO0FBQ0Y7QTZCdGpDZ0I7RUFDVjtBN0J3akNOO0E2QnJqQ3dCO0VBQ0k7QTdCdWpDNUI7QU9yakNJO0VzQllZO0lBQ0k7SUFDQTtFN0I0aUNsQjtFNkJ4aUNzQjtJQUNJO0lBQ0E7RTdCMGlDMUI7QUFDRjtBOEIzb0NBO0VBQ0kseUIzQktZO0FId29DaEI7QThCNW9DSTtFQUNILG1CekJRcUI7RXlCUHJCO0E5QjhvQ0Q7O0E4QjFvQ0E7RUFDSSx5QnpCQ3FCO0FMNG9DekI7O0E4QjFvQ0E7RUFDSTtBOUI2b0NKOztBK0IxcENBO0VBQ0ksbUI1QktZO0U0QkpaO0EvQjZwQ0o7QStCM3BDSTtFQUNJLGM1QkhJO0FIZ3FDWjtBK0I1cENDO0VBQ0ksYzVCTE87RTRCTVA7RUFDQTtBL0I4cENMO0ErQnpwQ0s7RUFDSCxlNUJiVTtBSHdxQ1o7QStCenBDSztFQUNILGU1QmhCVTtBSDJxQ1o7QStCenBDSztFQUNILGU1Qm5CVTtBSDhxQ1o7QStCdHBDWTtFQUNJO0EvQndwQ2hCO0FPcG5DSTtFd0IvQkM7SUFDSCxtQjFCckJ1QjtFTDJxQ3ZCO0UrQnJwQ0E7SUFDSSxtQjFCdkJtQjtFTDhxQ3ZCO0FBQ0Y7O0FnQzNyQ0E7RUFDSTtFQUNBO0FoQzhyQ0o7QWdDM3JDUTtFQUNILGM3QkxVO0FIa3NDZjtBZ0N6ckNZO0VBQ0k7QWhDMnJDaEI7QWdDenJDZ0I7RUFDSSxjN0JYYjtBSHNzQ1A7QWdDenJDZ0I7RUFDVixjN0JoQlM7QUgyc0NmO0FnQ3pyQ2dCO0U5QkdaO0VBQ0E7RThCRmdCO0FoQzRyQ3BCO0FnQ3hyQzRCO0VBQ0k7QWhDMHJDaEM7QWdDdHJDb0I7RUFDSTtFOUJPcEI7RUFDQTtBRmtyQ0o7QWdDcnJDZ0I7RUFDSTtBaEN1ckNwQjtBZ0NsckN3QjtFQUNJO0FoQ29yQzVCO0FnQ3pxQ1E7RTlCaEJKO0VBQ0E7RThCaUJLO0VBQ1AsYzdCeERhO0FIb3VDZjtBZ0N6cUNRO0U5QnRDSjtFQUNBO0U4QnVDQyxjN0I1RE87QUh3dUNaO0FPOXBDSTtFeUI1RUo7SUFtRVE7RWhDMnFDTjtFZ0N6cUNNO0lBQ0k7RWhDMnFDVjtFZ0N6cUNVO0lBQ0k7RWhDMnFDZDtBQUNGO0FPenFDSTtFMEI1RUo7SUFFUTtJQUNQO0lBQ0E7SUFDQTtFakN1dkNDO0VpQ3R2Q007SUFDSTtFakN3dkNWO0VpQ3R2Q1U7SS9CNkJSO0lBQ0E7RUY0dENGO0VpQ3R2Q1U7SS9CU1I7SUFDQTtFRmd2Q0Y7RWlDcnZDRDtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpDc3ZDSDtFaUNydkNHO0lBQ0gsVzVCdkJhO0k0QndCYjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQ3V2Q0E7RWlDcnZDRztJQUNIO0VqQ3V2Q0E7RWlDdHZDQTtJQUNJLFk1QmpDUztFTHl4Q2I7RWlDdHZDQTtJQUNJLFk1QnBDUztFTDR4Q2I7RWlDcHZDRztJQUNILG1COUI3Q1c7SThCOENYO0lBQ0E7SUFDQSxXNUI1Q2E7RUxreUNiO0VpQ2p2Q0Q7SUFDSSxtQjlCdERRO0k4QnVEUjtJQUNBO0lBQ0EsVzVCckRVO0VMd3lDYjtBQUNGOztBa0NsekNBO0VBQ0k7QWxDcXpDSjtBa0NuekNJO0VBQ0YsbUIvQkVjO0FIbXpDaEI7QWtDanpDZ0I7RUFDSTtBbENtekNwQjtBa0M3eUNZO0VBQ0kseUIvQlhIO0UrQllYO0FsQyt5Q0Y7QWtDMXlDWTtFQUNJO0FsQzR5Q2hCO0FrQzF5Q2dCO0VBQ0k7QWxDNHlDcEI7QWtDeHlDb0I7RUFDSTtBbEMweUN4QjtBa0NyeUNZO0VBQ0k7RWhDZlo7RUFDQTtBRnV6Q0o7QU9sd0NJO0UyQi9CSTtJQUNIO0VsQ295Q0g7RWtDanlDa0I7SUFDSTtFbENteUN0QjtFa0NqeUNzQjtJaEM5Q3BCO0lBQ0E7RUZrMUNGO0VrQy94Q3NCO0lBQ0k7SUFDQTtFbENpeUMxQjtBQUNGO0FtQzkxQ0E7RUFDSTtBbkNnMkNKO0FtQzkxQ0k7RUFDSTtBbkNnMkNSO0FtQzUxQ1E7RUFDSTtBbkM4MUNaO0FPM3hDSTtFNEI1RUo7SUFjUTtFbkM2MUNOO0FBQ0Y7QW9DNTJDQTtFQUNJO0FwQzgyQ0o7QW9DNTJDUTtFQUNJLHNCL0JHWTtFK0JGWjtBcEM4MkNaO0FvQzUyQ1k7RUFDSTtBcEM4MkNoQjtBb0M1MkNnQjtFQUNJO0FwQzgyQ3BCO0FvQ3gyQ0k7RUFDSSx5Qi9CUmlCO0UrQlNqQjtBcEMwMkNSO0FvQ3gyQ1E7RWxDQ0o7RUFDQTtBRjAyQ0o7QW9DbDJDb0I7RUFDSTtBcENvMkN4QjtBb0NsMkNvQjtFQUNJO0FwQ28yQ3hCO0FvQ2oyQ29CO0VBQ0k7QXBDbTJDeEI7QW9DNTFDSTtFbEN4QkE7RUFDQTtBRnUzQ0o7QW9DMzFDUTtFbENiSjtFQUNBO0FGMjJDSjtBT3QwQ0k7RTZCbEJRO0lsQ3BDUjtJQUNBO0VGZzRDRjtBQUNGOztBcUN4NUNBO0VBQ0k7QXJDMjVDSjtBcUN4NUNROztFQUVJO0FyQzA1Q1o7QXFDcDVDSTtFQUNJO0FyQ3M1Q1I7QXFDbjVDWTtFQUNJO0FyQ3E1Q2hCO0FxQ2w1Q1k7RUFDSTtBckNvNUNoQjtBcUNoNUNRO0VBQ0k7QXJDazVDWjtBcUNoNUNZO0VBQ0k7QXJDazVDaEI7QXFDNzRDSTtFQUNILGNsQ2pDVztBSGc3Q1o7QXFDNzRDWTtFQUNJLGNsQ3JDRDtBSG83Q2Y7QXFDNzRDSztFQUNXLGNsQ3hDRDtBSHU3Q2Y7QXFDMzRDUTtFQUNJO0VBQ0E7QXJDNjRDWjs7QXNDNTdDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEMrN0NKO0FzQzM3Q0k7RUFDSDtBdEM2N0NEOztBc0N2N0NBO0VBRUk7RUFXQTtBdEMrNkNKO0FzQ3Y3Q0M7RUFDSSxXakMxQlU7QUxtOUNmO0FzQ3Q3Q0M7RUFDSSxXakM5QlU7QUxzOUNmOztBc0NsN0NBO0VBRUksbUJqQ25DcUI7QUx1OUN6QjtBc0NsN0NJO0VBQ0gsV2pDekNjO0FMNjlDZjtBc0NqN0NJO0VBQ0gsV2pDN0NjO0FMZytDZjs7QXNDNzZDQTtFQWlESSxzQmpDcEdXO0VpQ3FHWDtFQUNBO0VBQ0E7RUFDQTtBdENnNENKO0FzQ2w3Q0k7RUFDSTtFQUNQO0VBQ0E7QXRDbzdDRDtBc0NsN0NJO0VBQ0g7QXRDbzdDRDtBc0NqN0NJO0VBQ0gsY25DdkVXO0VtQ3dFWDtBdENtN0NEO0FzQ2w3Q0M7RUFDSTtFQUNBO0F0Q283Q0w7QXNDbDdDWTtFQUNWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJuQ3RGYTtBSDBnRGY7QXNDLzZDQztFQUNJLGNuQzVGVTtBSDZnRGY7QXNDOTZDQztFQUNJLGNuQ2hHVTtBSGdoRGY7QXNDNzZDQztFQUNJLGNuQ2xHRTtBSGloRFA7QXNDNTZDSTtFQUNILHlCbkN4R2M7QUhzaERmO0FzQ3I2Q0k7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDdTZDRDtBc0N0NkNDO0VBQ0k7QXRDdzZDTDtBc0N0NkNDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCakM1SFc7QUxvaURmO0FzQ3Q2Q0k7RUFDSTtFQUNBO0F0Q3c2Q1I7QXNDdDZDUTtFQUNJO0F0Q3c2Q1o7QXNDcDZDSTtFQUNJLGNuQzVJSztBSGtqRGI7QXNDcjZDUTtFQUNJO0F0Q3U2Q1o7QXNDbjZDSTtFQUNJO0VBQ0E7RUFRQTtBdEM4NUNSO0FzQ242Q1E7RUFDSSxXakNwSkc7QUx5akRmO0FzQy81Q1E7RUFDSTtBdENpNkNaO0FzQ2g2Q1k7RUFDSTtBdENrNkNoQjtBc0N2NUNnQjtFcENoS1o7RUFDQTtFb0NpS0U7RUFDQTtFQUNBO0VBQ0E7QXRDMDVDTjtBc0N6NUNvQjtFQUNJO0F0QzI1Q3hCO0FzQ3Q1Q29CO0VBQ2pCO0F0Q3c1Q0g7QXNDcjVDNEI7RUFDSTtBdEN1NUNoQztBc0NqNUNvQjtFQUNJO0VBQ0E7QXRDbTVDeEI7QXNDaDVDRTtFQUNJO0VBQ0E7QXRDazVDTjs7QXVDam1EQTtFQUNJO0VBQ0E7QXZDb21ESjs7QXdDdG1EQTtFQUNJO0VBQ0E7QXhDeW1ESjtBTy9oREk7RWlDNUVKO0lBS0M7RXhDMG1EQztBQUNGO0F3Q3htREk7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDMG1ERDtBd0N4bURLO0VBQ0gsWW5DUmE7QUxrbkRmO0F3Q3JtREk7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Q3VtREQ7O0F5Q2xvREE7RUFDSTtFQVNBLGN0Q1RXO0FIc29EZjtBTzNqREk7RWtDeEVIO0lBQ0kseUJwQ09vQjtFTCtuRHZCO0FBQ0Y7QXlDaG9ESTtFQUNIO0VBQ0E7QXpDa29ERDtBeUM1bkRRO0VBQ0k7RUFDQTtFQUNBO0F6QzhuRFo7QXlDM25EZ0I7RUFDSTtBekM2bkRwQjtBeUNybkRZO0VBQ0ksbUJwQ3pCTTtBTGdwRHRCO0F5Q25uRFE7RUFDSTtBekNxbkRaO0F5Q3BuREs7RUFDSDtBekNzbkRGO0F5Q25uREU7RUFDSTtFQUNBO0VBQ0E7QXpDcW5ETjtBeUNubkRFO0VBQ0k7QXpDcW5ETjtBeUM5bURRO0VBQ0c7QXpDZ25EWDtBeUM5bURZO0VBQ0k7RUFDZDtFQUNBO0F6Q2duREY7QXlDM21ERTtFQUNJO0F6QzZtRE47QXlDM21ERTtFQUNJO0F6QzZtRE47QXlDM21ERTtFQUNJO0F6QzZtRE47QXlDM21ERTtFQUNJO0F6QzZtRE47QXlDMW1EZ0I7RUFDSTtBekM0bURwQjtBeUN6bURnQjtFQUNJO0V2Q2xEaEI7RUFDQTtFdUNtRGdCO0F6QzRtRHBCOztBMENwc0RRO0VBQ0kseUJ2Q0ZHO0FIeXNEZjtBMENuc0RZO0VBQ1YsY3ZDUGE7QUg0c0RmOztBMkN6c0RnQjtFQUNJO0EzQzRzRHBCO0EyQ3JzRGdCO0VBQ0k7QTNDdXNEcEI7QTJDbHNEUTtFQUNJO0EzQ29zRFo7QTJDanNEUTtFQUNJO0EzQ21zRFo7QTJDaHNEUTtFQUNJO0VBQ0E7QTNDa3NEWjtBMkMvckRRO0VBQ0k7RUFDQTtBM0Npc0RaO0EyQzlyRFE7RXpDZEo7RUFDQTtBRitzREo7QTJDN3JEWTtFQUNJO0EzQytyRGhCO0EyQzVyRFk7RUFDSTtBM0M4ckRoQjtBMkM1ckRZO0VBQ0k7QTNDOHJEaEI7QTJDNXJEWTtFQUNJO0EzQzhyRGhCO0EyQzVyRFk7RUFDSTtBM0M4ckRoQjtBMkM1ckRZO0VBQ0k7QTNDOHJEaEI7O0E0Q3Z2REE7RUFDSTtBNUMwdkRKO0E0Q3h2REk7RTFDa0JBO0VBQ0E7QUZ5dURKO0E0Q3Z2RFE7RUFDSTtBNUN5dkRaO0E0Q3R2RFE7RUFDSTtBNUN3dkRaO0E0Q3R2RFE7RUFDSTtBNUN3dkRaO0E0Q3R2RFE7RUFDSTtBNUN3dkRaO0E0Q3R2RFE7RUFDSTtBNUN3dkRaO0E0Q3R2RFE7RUFDSTtBNUN3dkRaOztBNkNseERBO0VBQ0ksbUJ4Q1dxQjtBTDB3RHpCO0E2Q3B4REk7RUFDSCxtQnhDUXFCO0FMOHdEdEI7O0E4Q3p4REE7RUFDSTtBOUM0eERKO0E4QzF4REk7RUFDSTtBOUM0eERSO0E4QzF4RFE7RUFDSTtBOUM0eERaOztBK0NueURBO0VBQ0k7QS9Dc3lESjtBK0NweURJO0VBQ0k7QS9Dc3lEUixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3RoZW1lLnN0dWRpby1ib2l0ZWJsYW5jaGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvYXBwLmJhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvX2NvbmZpZy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3Njc3MvX2NvbmZpZy9fYm9vdHN0cmFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL2FwcC51aS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9fY29uZmlnL19jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1icmFuY2gvbG9jYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2FkZC1jaGlsZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hlY2tvdXQtY29uZmlybWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1yZXZpZXcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoaWxkLXRpbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NsdWItc3Vic2NyaXB0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9sZXR0ZXItYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9wYWNrYWdlLXBhcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1bW1hcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1cnZleS1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3BvcHVwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2JhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvZ3JhZGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2xheW91dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9waG9uZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9wb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvZG93bmxvYWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9sb2dpbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL3BhY2thZ2UtdGlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9hbmltYXRlZC1jdXJ2ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1icmFuY2gvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2NoZWNrb3V0LXByb2Nlc3MvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2NoZWNrb3V0LXByb2Nlc3MvcGFnZS1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9hc2lkZS1jdXN0b21pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL2hlYWRlci1jdXN0b21pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL21vYmlsZS1uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3ByZXZpZXctY3VzdG9taXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS90b29scy1jdXN0b21pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci1jYXRlZ29yeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVyb3MvaGVyby1kZWZhdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8taG9tZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLXdlbGNvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaW1hZ2UtdGV4dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9tZXNzYWdlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9ub3RpY2UtYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL29yZGVyaW5nLXdpZGdldC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy90ZXh0LXBhZ2UtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYWdlcy9jdXN0b21pemUtcGFnZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDEuIEltcG9ydCBmb250c1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVRoaW4udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogMTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1UaGluSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1MaWdodEl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1NZWRpdW1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1TZW1pQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVNlbWlCb2xkSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUJvbGRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1FeHRyYUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1FeHRyYUJvbGRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1CbGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUJsYWNrSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vLyAyLiBJbXBvcnQgYWxsIGZ1bmN0aW9uLCBtaXhpbnMgYW5kIHZhcmlhYmxlcyBmcm9tIGNvbW1vbiBzdHlsZXNcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL3Njc3MvYXBwLmZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9zY3NzL19jb25maWcvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL3Njc3MvX2NvbmZpZy9ib290c3RyYXBcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvc2Nzcy9fY29uZmlnL2Vhc2luZ1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3V0aWxpdGllc1wiO1xuXG4vLyAzLiBJbmNsdWRlIGFueSBkZWZhdWx0IHZhcmlhYmxlIG92ZXJyaWRlcyBoZXJlXG5AaW1wb3J0IFwiYXBwLmNvbmZpZ1wiO1xuXG4vLyA0LiBBZGQgYWRkaXRpb25hbCBjdXN0b20gY29kZSBoZXJlXG5AaW1wb3J0IFwiYXBwLmJhc2VcIjtcbkBpbXBvcnQgXCJhcHAudWlcIjtcbi8vO1xuQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LWJyYW5jaC9sb2NhdGlvbnMuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9hZGQtY2hpbGQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1jb25maXJtYXRpb24uc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1mb3JtLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hlY2tvdXQtcmV2aWV3LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hpbGQtdGlsZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NsdWItc3Vic2NyaXB0aW9uLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvbGV0dGVyLWFuaW1hdGlvbi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3BhY2thZ2UtcGFydC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1bW1hcnkuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9zdXJ2ZXktZm9ybS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvcG9wdXAuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2JhY2tncm91bmQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL2dyYWRlcy5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvbGF5b3V0LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9waG9uZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvcG9zZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9kb3dubG9hZC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9sb2dpbi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9wYWNrYWdlLXRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9hbmltYXRlZC1jdXJ2ZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2F0ZWdvcnkvcGFja2FnZS1saXN0aW5nLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1icmFuY2gvaGVhZGVyLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1wcm9jZXNzL2hlYWRlci5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtcHJvY2Vzcy9wYWdlLWNvbnRlbnQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9hc2lkZS1jdXN0b21pemUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9oZWFkZXItY3VzdG9taXplLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvbW9iaWxlLW5hdi5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL3ByZXZpZXctY3VzdG9taXplLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvdG9vbHMtY3VzdG9taXplLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9mb290ZXIuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlYWRlci1jYXRlZ29yeS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVhZGVyLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLWRlZmF1bHQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2Ytc3RhZ2luZzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tYm9pdGVibGFuY2hlL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8taG9tZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVyb3MvaGVyby13ZWxjb21lLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9pbWFnZS10ZXh0LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9tZXNzYWdlcy5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvbm90aWNlLWJhci5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvb3JkZXJpbmctd2lkZ2V0LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLXN0YWdpbmcyL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWJvaXRlYmxhbmNoZS9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy90ZXh0LXBhZ2UtY29udGVudC5zY3NzXCI7XG4vLztcbkBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1zdGFnaW5nMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1ib2l0ZWJsYW5jaGUvYXNzZXRzL3Njc3MvcGFnZXMvY3VzdG9taXplLXBhZ2Uuc2Nzc1wiO1xuIiwiLy9cbi8vIFJvb3Qgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYm9keSB7XG4gICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xufVxuXG4vL1xuLy8gSGVhZGluZyBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCAubGlrZS1oMSxcbmgyLCAubGlrZS1oMixcbmgzLCAubGlrZS1oMyxcbmg0LCAubGlrZS1oNCB7XG4gICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbmg1LCAubGlrZS1oNSxcbmg2LCAubGlrZS1oNiB7XG4gICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG59XG5cbi50aXRsZS13aXRoLWxpbmV7XG5cbiAgICAmLnllbGxvd3tcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGl0bGUtbGluZS1hbHQpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRpdGxlLWxpbmUpO1xuICAgIH1cbn1cblxuLy9cbi8vIFRleHQgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5zdHJvbmcge1xuICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbn1cblxuLy9cbi8vIExpbmsgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIHtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGxpbmstY29sb3IpO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgbGluay1ob3Zlci1jb2xvcik7XG4gICAgfVxufVxuIiwiQG1peGluIHBvcHBpbnMtbGlnaHQoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWl4aW4gcG9wcGlucygpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLWl0YWxpYygpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1tZWRpdW0oKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1ib2xkKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtYm9sZC1pdGFsaWMoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtZXh0cmEtYm9sZCgpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLWJsYWNrKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbiIsIi8vIE92ZXJyaWRlIGFueSBib290c3RyYXAgZGVmYXVsdCB2YXJpYWJsZSBoZXJlXG4kZ3JleS1kYXJrZXN0OiAjMTgxODFCOyBcbiRncmV5LWRhcms6ICM1MjUyNUI7XG4kZ3JleTogI0ExQTFBQTtcbiRncmV5LXJlZ3VsYXI6ICNFNEU0RTc7IFxuJGdyZXktbGlnaHQ6ICNGNEY0RjU7IFxuJGdyZXktbGlnaHRlc3Q6ICNGQUZBRkE7IFxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHhzOiAwLFxuICAgIHhzOiA0ODBweCxcbiAgICBzbTogNzY4cHgsXG4gICAgbWQ6IDEwMjRweCxcbiAgICBsZzogMTQ0MHB4LFxuICAgIHhsOiAxOTIwcHgsXG4pO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIG1kOiA5NjBweCxcbiAgICBsZzogMTIyMHB4LFxuICAgIHhsOiAxNjAwcHgsXG4pO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLWd1dHRlci13aWR0aDogMTZweDtcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LXNpemUtcm9vdDogMTZweDtcblxuJGhyLW1hcmdpbi15OiAwO1xuJGhyLW9wYWNpdHk6IDE7XG5cblxuLy9Ub29sdGlwc1xuJHRvb2x0aXAtZm9udC1zaXplOiAxNHB4O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweDtcbiR0b29sdGlwLWNvbG9yOiB2YXIoLS1jb2xvci1UZXh0SWNvbi1UZXh0LXNlY29uZGFyeSwgIzNGM0Y0Nik7XG4kdG9vbHRpcC1iZzogdmFyKC0td2hpdGUsICNGRkYpO1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICRncmV5O1xuJHRvb2x0aXAtb3BhY2l0eTogMTtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiA4cHg7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgJGdyZXktbGlnaHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuJG5hdi1saW5rLWNvbG9yIDogIHZhcigtLWNvbG9yLVRleHQtYW5kLWljb24tVGV4dC1kZXNjcmlwdGlvbiwgIzNGM0Y0Nik7XG5cbiRuYXYtdW5kZXJsaW5lLWdhcDogICAgICAgICAgICAgICAgIDFyZW07XG4kbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAuMTI1cmVtO1xuLy8kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuXG4iLCJcbi8vPT09PT09PT09PSAgU1ZHICA9PT09PT09PT09Ly9cbnN2Zy5pbmZvLWNpcmNsZSB7XG4gICAgcGF0aCwgbGluZSB7XG4gICAgICAgIHN0cm9rZTogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxufVxuXG4vLz09PT09PT09PT0gIExJRU5TL0JVVFRPTlMgID09PT09PT09PT0vL1xuICAgIC5wcmltYXJ5LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDEycHggMjBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblx0Y29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiA1NnB4O1xuXHRnYXA6IDhweDtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHdpZHRoOiBpbmhlcml0O1xuXHRAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHsgLy8gVGFyZ2V0aW5nIFhTIGFuZCBzbWFsbGVyIHNjcmVlbnNcblx0ICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblx0fVxuXHRcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQsICYuYnV0dG9uLWRpc2FibGVkICB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1yZWd1bGFyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXkgIWltcG9ydGFudDtcblx0ICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3ZnIHtcblx0XHRwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JleTtcblx0XHR9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuXG4gICAgICAgICAgICAmOmhvdmVyLCwgJjpmb2N1c3tcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuXHRcdC8qIGhvdmVyIHNoYWRvdyAqL1xuXHRcdGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRjb2xvcjogI0ZGRkZGRjtcblx0ICAgIH1cblx0ICAgICY6YWN0aXZlIHtcblx0XHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWRhcmtlc3Q7XG5cdFx0LyogcHJlc3NlZCBzaGFkb3cgKi9cblx0XHRib3gtc2hhZG93OiAwcHggMnB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEwKSBpbnNldDtcblx0XHRjb2xvcjogI0ZGRkZGRjtcblx0ICAgIH1cdFxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcblx0cGFkZGluZzogMTJweCAyMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcblxuXHRjb2xvcjokYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblx0YmFja2dyb3VuZDogdmFyKC0td2hpdGUsICNGRkYpO1xuXHRcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiA1NnB4O1xuXHRnYXA6IDhweDtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR3aWR0aDphdXRvO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7IC8vIFRhcmdldGluZyBYUyBhbmQgc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblx0ICAgIGhlaWdodDogMTAwJTtcblxuXHR9XG5cdFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG5cdFx0c3Ryb2tlOiAkYnJhbmQtcHJpbWFyeVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1kaXNhYmxlZC1idG4tYmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWRpc2FibGVkLWJ0bi10ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3Vze1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuXHRcdC8qIGhvdmVyIHNoYWRvdyAqL1xuXHRcdGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRjb2xvcjokYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1x0XHRcblx0ICAgIH1cblx0ICAgICY6YWN0aXZlIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblx0XHRjb2xvcjokYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHQ7XG5cdFx0c3ZnIHtcblx0XHQgICAgcGF0aCwgbGluZSB7XG5cdFx0XHRzdHJva2U6ICRicmFuZC1wcmltYXJ5O1xuXHRcdCAgICB9XG5cdFx0fVxuXHQgICAgfVx0XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIFxuYSwgYnV0dG9uIHtcbiAgICBcbiAgICAmLnByaW1hcnktYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYnRuLWJnKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtZXh0cmEtYm9sZCgpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYnRuLXRleHQpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbmltYXRlZC1iZy13cmFwcGVyIHtcbiAgICAgICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtY29sb3JzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFsdC1idG4tYmcpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYWx0LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbmltYXRlZC1iZy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hbHQtYnRuLWJnKSwgMTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWRpc2FibGVkLWJ0bi1iZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktZGlzYWJsZWQtYnRuLXRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2Vjb25kYXJ5LWJ0biB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1idG4tYm9yZGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1idG4tYmcpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWJ0bi10ZXh0KTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbmltYXRlZC1iZy13cmFwcGVyIHtcbiAgICAgICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWx0LWNvbG9ycyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWJ0bi1ib3JkZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtYnRuLWJnKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFuaW1hdGVkLWJnLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtaG92ZXItYnRuLWJnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtaG92ZXItYnRuLXRleHQpO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi1ib3JkZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1kaXNhYmxlZC1idG4tYmcpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLXRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1zaGFkb3cpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1ob3Zlci1idG4tY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggNXB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRlcnRpYXJ5LWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtZXh0cmEtYm9sZCgpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KTtcblxuICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ncmVlbi1ob3Zlci1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ncmVlbi1ob3Zlci1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWdyZWVuLWhvdmVyLWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsdC1jb2xvcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYWx0LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWFsdC1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1hbHQtYnRuLXRleHQpO1xuXG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi53aGl0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnF1YXJ0ZXJ5LWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgJGdyZXktZGFya2VzdCAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWx0LWNvbG9ycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1ob3Zlci1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktaG92ZXItYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktaG92ZXItYWx0LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByaW1hcnktcm91bmQtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYXJyb3ctYnRuLWJnKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hcnJvdy1idG4taWNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFycm93LWJ0bi1zaGFkb3cpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggNXB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFycm93LWJ0bi1zaGFkb3cpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWNvbmRhcnktcm91bmQtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYmcpO1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWJvcmRlcik7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4taWNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWhvdmVyLWJnKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLXNoYWRvdyk7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4taG92ZXItaWNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggNXB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLXNoYWRvdyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PSAgQ0hFQ0tCT1ggID09PT09PT09PT0vL1xuW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICArIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWxhYmVsKTtcblxuICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtaG92ZXItZWZmZWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtYm9yZGVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1iZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1ob3Zlci1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIERpc2FibGVkIGNoZWNrYm94ICovXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1kaXNhYmxlZC1sYWJlbCk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtZGlzYWJsZWQtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtZGlzYWJsZWQtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1hY3RpdmUtYmcpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vPT09PT0gRk9SIEFDQ0VTU0lCSUxJVFkgUFVSUE9TRVMgQFRPRE8gVE8gQkUgQ09ORklSTUVEIFdJVEggREVTSUdOIFRFQU1cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PSAgUkFESU8gID09PT09PT09PT0vL1xuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpLFxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIHtcbiAgICArIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblxuICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8taG92ZXItZWZmZWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tYm9yZGVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1iZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tZG90KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWhvdmVyLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRGlzYWJsZWQgY2hlY2tib3ggKi9cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWRpc2FibGVkLWxhYmVsKTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1kaXNhYmxlZC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1kaXNhYmxlZC1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLy89PT09PSBGT1IgQUNDRVNTSUJJTElUWSBQVVJQT1NFUyBAVE9ETyBUTyBCRSBDT05GSVJNRUQgV0lUSCBERVNJR04gVEVBTVxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrYm94LWVycm9yIHtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWxhYmVsKTtcblxuICAgIC5leGNsYW1hdGlvbi1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWJvcmRlcik7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItaWNvbik7XG4gICAgfVxufVxuXG5zZWxlY3Quc2VsZWN0Mi1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLz09PT09PT09PT0gIENIQU1QIFRFWFQrKyAgPT09PT09PT09PS8vXG5bdHlwZT1cInRleHRcIl0sIFt0eXBlPVwibnVtYmVyXCJdLCBbdHlwZT1cInRlbFwiXSwgW3R5cGU9XCJlbWFpbFwiXSwgW3R5cGU9XCJwYXNzd29yZFwiXSwgW3R5cGU9XCJlbWFpbFwiXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWJvcmRlcik7XG4gICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgY2FyZXQtY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgfiAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICAuZXhjbGFtYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1pY29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC12YWx1ZSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hY3RpdmUtYm9yZGVyKTtcblxuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFjdGl2ZS1sYWJlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItYm9yZGVyKTtcblxuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWxhYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB+IC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWJvcmRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZHJvcGRvd24tYXJyb3ctZXJyb3JAMngucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItbGFiZWwpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtY29sb3JzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1ib3JkZXIpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtdmFsdWUpO1xuICAgICAgICAgICAgY2FyZXQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtY2FyZXQpO1xuXG4gICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWxhYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWFjdGl2ZS1ib3JkZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1lcnJvci1ib3JkZXIpO1xuXG4gICAgICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtZXJyb3ItbGFiZWwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgfiAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiNFMzIwMzM7IFxuXG4gICAgICAgICAgICAgICAgICAgIC5leGNsYW1hdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMzIwMzM7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09ICBDSEFNUCBURVhUQVJFQSAgPT09PT09PT09PS8vXG4uZm9ybS1mbG9hdGluZyB7XG4gICAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtYm9yZGVyKTtcbiAgICAgICAgY2FyZXQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1jYXJldCk7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLXRleHQpO1xuXG4gICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWxhYmVsKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1sYWJlbC1iZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWFjdGl2ZS1ib3JkZXIpO1xuXG4gICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtYWN0aXZlLWxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09ICBTRUxFQ1QyIFNUWUxFUyBPVkVSV1JJVEUgID09PT09PT09PT0vL1xuLnNlbGVjdC1sYWJlbCB7XG4gICAgLnNlbGVjdC1sYWJlbC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1wbGFjZWhvbGRlcik7XG4gICAgfVxufVxuXG4uc2VsZWN0Mi1jb250YWluZXIge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3QtYm9yZGVyKTtcblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3Qtb3B0aW9ucyk7XG5cbiAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Ryb3Bkb3duLWFycm93QDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LWFjdGl2ZS1zaGFkb3cpO1xuXG4gICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuXG4gICAgICAgICAgICAmLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1hY3RpdmUtb3B0aW9ucy1iZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LWhvdmVyLW9wdGlvbnMtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LW9wZW4tYm9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBDT0xPUlNcbi8vIFVzZSBodHRwOi8vd3d3LmNvbG9yLWJsaW5kbmVzcy5jb20vY29sb3ItbmFtZS1odWUvIGZvciBjb2xvciBuYW1pbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gU3R1ZGlvIEJvaXRlIEJsYW5jaGUgdGhlbWUgY29sb3JzXG4kYnJhbmQtcHJpbWFyeS1kYXJrZXN0OiAjMDAwO1xuJGJyYW5kLXByaW1hcnktZGFyazogIzAwMDtcbiRicmFuZC1wcmltYXJ5OiMwMDA7XG4kYnJhbmQtcHJpbWFyeS1taWRsaWdodDogIzU1QzJFNztcbiRicmFuZC1wcmltYXJ5LWxpZ2h0OiAjRDBGM0ZGO1xuJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q6ICNFOEY5RkY7XG5cbiR3aGl0ZTogI0ZGRkZGRjtcbiR3aGl0ZS1mNzogI2Y3ZjdmNztcbiRzdXZhLWdyZXk6ICNBMUExQUE7XG4kY2xlYXItZGF5OiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcbiRnYWluc2Jvcm86ICNFNEU0RTc7XG4kZ2FpbnNib3JvLWU2OiAjRTRFNEU3O1xuJGxpZ2h0LWN5YW46ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuJGh1bW1pbmctYmlyZDogJGJyYW5kLXByaW1hcnktbGlnaHQ7XG4kZGltLWdyYXk6ICNBMUExQUE7XG4kZGFyay1ncmVlbjogJGJyYW5kLXByaW1hcnktZGFyaztcbiRkYXJrLWRlZXAtc2VhOiAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbiRkZWVwLXNlYTogJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG4kbW91bnRhaW4tbWVhZG93OiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuJGRlZXAtY2xlYXI6ICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuJG11c3RhcmQ6ICNGRkZGRkY7XG4kcmVkOiAjZmEwMDBhO1xuXG5cbi8vXG4vLyBNQVAtR0VUKCkgQVJSQVlTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kY29sb3JzLWJhc2UtdWk6IChcbiAgICB0aXRsZXM6ICRkYXJrLWdyZWVuLFxuICAgIHBhcmFncmFwaHM6ICRkYXJrLWdyZWVuLFxuXG4gICAgcHJpbWFyeS1idG4tYmc6ICRkZWVwLXNlYSxcbiAgICBwcmltYXJ5LWJ0bi10ZXh0OiAkd2hpdGUsXG4gICAgcHJpbWFyeS1kaXNhYmxlZC1idG4tYmc6ICRnYWluc2Jvcm8sXG4gICAgcHJpbWFyeS1kaXNhYmxlZC1idG4tdGV4dDogJGRpbS1ncmF5LFxuICAgIHByaW1hcnktaG92ZXItYnRuLWJnOiAkZGFyay1kZWVwLXNlYSxcbiAgICBwcmltYXJ5LWhvdmVyLWJ0bi1zaGFkb3c6IHJnYmEoJGRhcmstZ3JlZW4sIDAuMyksXG4gICAgcHJpbWFyeS1hbHQtYnRuLWJnOiAkbXVzdGFyZCxcbiAgICBwcmltYXJ5LWFsdC1idG4tdGV4dDogJGRhcmstZ3JlZW4sXG5cbiAgICBzZWNvbmRhcnktYnRuLWJnOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWJ0bi10ZXh0OiAkZGVlcC1zZWEsXG4gICAgc2Vjb25kYXJ5LWJ0bi1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLWJnOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi10ZXh0OiAkZGltLWdyYXksXG4gICAgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBzZWNvbmRhcnktaG92ZXItYnRuLWNvbG9yOiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1iZzogJGRlZXAtc2VhLFxuICAgIHNlY29uZGFyeS1ob3Zlci1idG4tc2hhZG93OiByZ2JhKCRkYXJrLWdyZWVuLCAwLjMpLFxuICAgIHNlY29uZGFyeS1hbHQtYnRuLWJnOiB0cmFuc3BhcmVudCxcbiAgICBzZWNvbmRhcnktYWx0LWJ0bi10ZXh0OiAkd2hpdGUsXG4gICAgc2Vjb25kYXJ5LWFsdC1idG4tYm9yZGVyOiAkbXVzdGFyZCxcbiAgICBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi10ZXh0OiAkZGFyay1ncmVlbixcbiAgICBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi1iZzogJG11c3RhcmQsXG5cbiAgICB0ZXJ0aWFyeS1idG4tdGV4dDogJGRlZXAtc2VhLFxuICAgIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0OiAkbXVzdGFyZCxcbiAgICB0ZXJ0aWFyeS1ncmVlbi1ob3Zlci1idG4tdGV4dDogJGRhcmstZ3JlZW4sXG4gICAgdGVydGlhcnktYWx0LWJ0bi10ZXh0OiAkbXVzdGFyZCxcbiAgICB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQ6ICR3aGl0ZSxcblxuICAgIHF1YXJ0ZXJ5LWJ0bi10ZXh0OiAkZGVlcC1zZWEsXG4gICAgcXVhcnRlcnktYWx0LWJ0bi10ZXh0OiAkbXVzdGFyZCxcbiAgICBxdWFydGVyeS1ob3Zlci1hbHQtYnRuLXRleHQ6ICRkZWVwLXNlYSxcblxuICAgIGNoZWNrYm94LWxhYmVsOiAkZGFyay1ncmVlbixcbiAgICBjaGVja2JveC1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBjaGVja2JveC1iZzogJHdoaXRlLFxuICAgIGNoZWNrYm94LWhvdmVyLWJvcmRlcjogJGRlZXAtc2VhLFxuICAgIGNoZWNrYm94LWhvdmVyLWVmZmVjdDogJGNsZWFyLWRheSxcbiAgICBjaGVja2JveC1hY3RpdmUtYmc6ICRkZWVwLXNlYSxcbiAgICBjaGVja2JveC1kaXNhYmxlZC1sYWJlbDogJGRpbS1ncmF5LFxuICAgIGNoZWNrYm94LWRpc2FibGVkLWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIGNoZWNrYm94LWRpc2FibGVkLWJnOiAkd2hpdGUsXG5cbiAgICByYWRpby1sYWJlbDogJGRhcmstZ3JlZW4sXG4gICAgcmFkaW8tYm9yZGVyOiAkZGltLWdyYXksXG4gICAgcmFkaW8tZG90OiAkZGVlcC1zZWEsXG4gICAgcmFkaW8tYmc6ICR3aGl0ZSxcbiAgICByYWRpby1ob3Zlci1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICByYWRpby1ob3Zlci1lZmZlY3Q6IHJnYmEoJGRpbS1ncmF5LCAwLjA4KSxcbiAgICByYWRpby1hY3RpdmUtYmc6ICRkZWVwLXNlYSxcbiAgICByYWRpby1kaXNhYmxlZC1sYWJlbDogJGRpbS1ncmF5LFxuICAgIHJhZGlvLWRpc2FibGVkLWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIHJhZGlvLWRpc2FibGVkLWJnOiAkd2hpdGUsXG5cbiAgICBpbnB1dC1sYWJlbDogJGRpbS1ncmF5LFxuICAgIGlucHV0LXZhbHVlOiAkZGFyay1ncmVlbixcbiAgICBpbnB1dC1jYXJldDogJGRlZXAtc2VhLFxuICAgIGlucHV0LWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIGlucHV0LWFjdGl2ZS1sYWJlbDogJGRlZXAtc2VhLFxuICAgIGlucHV0LWFjdGl2ZS1ib3JkZXI6ICRkZWVwLXNlYSxcbiAgICBpbnB1dC1lcnJvci1pY29uOiAkd2hpdGUsXG4gICAgaW5wdXQtZXJyb3ItbGFiZWw6ICRyZWQsXG4gICAgaW5wdXQtZXJyb3ItYm9yZGVyOiAkcmVkLFxuICAgIGlucHV0LWFsdC1sYWJlbDogJHdoaXRlLFxuICAgIGlucHV0LWFsdC12YWx1ZTogJHdoaXRlLFxuICAgIGlucHV0LWFsdC1jYXJldDogJG11c3RhcmQsXG4gICAgaW5wdXQtYWx0LWJvcmRlcjogJHdoaXRlLFxuICAgIGlucHV0LWFsdC1hY3RpdmUtbGFiZWw6ICR3aGl0ZSxcbiAgICBpbnB1dC1hbHQtYWN0aXZlLWJvcmRlcjogJG11c3RhcmQsXG4gICAgaW5wdXQtYWx0LWVycm9yLWljb246ICRkZWVwLXNlYSxcbiAgICBpbnB1dC1hbHQtZXJyb3ItbGFiZWw6ICRtdXN0YXJkLFxuICAgIGlucHV0LWFsdC1lcnJvci1ib3JkZXI6ICRtdXN0YXJkLFxuXG4gICAgdGV4dGFyZWEtYm9yZGVyOiAkZGltLWdyYXksXG4gICAgdGV4dGFyZWEtbGFiZWw6ICRkaW0tZ3JheSxcbiAgICB0ZXh0YXJlYS10ZXh0OiAkZGFyay1ncmVlbixcbiAgICB0ZXh0YXJlYS1jYXJldDogJGRlZXAtc2VhLFxuICAgIHRleHRhcmVhLWxhYmVsLWJnOiAkd2hpdGUsXG4gICAgdGV4dGFyZWEtYWN0aXZlLWJvcmRlcjogJGRlZXAtc2VhLFxuICAgIHRleHRhcmVhLWFjdGl2ZS1sYWJlbDogJGRlZXAtc2VhLFxuXG4gICAgc2VsZWN0LXBsYWNlaG9sZGVyOiAkZGltLWdyYXksXG4gICAgc2VsZWN0LW9wdGlvbnM6ICRkYXJrLWRlZXAtc2VhLFxuICAgIHNlbGVjdC1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICBzZWxlY3Qtb3Blbi1ib3JkZXI6ICRkYXJrLWRlZXAtc2VhLFxuICAgIHNlbGVjdC1ob3Zlci1vcHRpb25zLWJnOiAkZ2FpbnNib3JvLFxuICAgIHNlbGVjdC1hY3RpdmUtb3B0aW9ucy1iZzogJHdoaXRlLFxuICAgIHNlbGVjdC1hY3RpdmUtc2hhZG93OiByZ2JhKGJsYWNrLCAwLjE2KSxcblxuICAgIHByaW1hcnktYXJyb3ctYnRuLWJnOiAkbXVzdGFyZCxcbiAgICBwcmltYXJ5LWFycm93LWJ0bi1pY29uOiAkZGFyay1ncmVlbixcbiAgICBwcmltYXJ5LWFycm93LWJ0bi1zaGFkb3c6IHJnYmEoJGRhcmstZ3JlZW4sIDAuNzUpLFxuXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1iZzogdHJhbnNwYXJlbnQsXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1ib3JkZXI6ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLWljb246ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLXNoYWRvdzogcmdiYSgkZGFyay1ncmVlbiwgMC43NSksXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1ob3Zlci1iZzogJG11c3RhcmQsXG4gICAgc2Vjb25kYXJ5LWFycm93LWJ0bi1ob3Zlci1pY29uOiAkZGFyay1ncmVlbixcblxuICAgIGxpbmstY29sb3I6ICRkZWVwLXNlYSxcbiAgICBsaW5rLWhvdmVyLWNvbG9yOiAkZGFyay1ncmVlbixcblxuICAgIHRpdGxlLWxpbmU6ICR3aGl0ZSxcbiAgICB0aXRsZS1saW5lLWFsdDogJG11c3RhcmRcbik7XG5cbiRjb2xvcnMtaGVhZGVyOiAoXG4gICAgYmFja2dyb3VuZDojMWU2Zjg3LFxuICAgIGJhY2tncm91bmQtaXRlbXM6ICRyZWQsXG4gICAgbGluay10ZXh0OiAkd2hpdGUsXG4gICAgbGluay1ob3Zlci10ZXh0OiAkbXVzdGFyZCxcbik7XG5cbiRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyOiAoXG4gICAgYmFja2dyb3VuZDogJGNsZWFyLWRheSxcbiAgICBjYXRlZ29yeS1saW5rOiAkZGFyay1ncmVlbixcbiAgICBjYXRlZ29yeS1saW5rLWFjdGl2ZTogJGRlZXAtc2VhLFxuICAgIHNlc3Npb24taW1nLWJhY2tncm91bmQ6ICR3aGl0ZSxcbiAgICBzZXNzaW9uLWhvdmVyOiAkZGVlcC1zZWEsXG4gICAgc2Vzc2lvbi1vcGVuOiAkd2hpdGUsXG4gICAgbmFuby1wYW5lOiAkY2xlYXItZGF5LFxuICAgIG5hbm8tc2xpZGVyOiAkZGVlcC1zZWFcbik7XG5cbiRjb2xvcnMtZm9vdGVyOiAoXG4gICAgYWR2YW50YWdlLWJhY2tncm91bmQ6ICRkYXJrLWdyZWVuLFxuICAgIGFkdmFudGFnZS10ZXh0OiAkd2hpdGUsXG4gICAgbWFpbi1jb250ZW50LWJhY2tncm91bmQ6ICRkZWVwLXNlYSxcbiAgICBtYWluLWNvbnRlbnQtdGV4dDogJHdoaXRlLFxuICAgIG1haW4tY29udGVudC1saW5rLWNvbG9yOiBjdXJyZW50Q29sb3IsXG4gICAgbWFpbi1jb250ZW50LWxpbmstaG92ZXItY29sb3I6ICRtdXN0YXJkLFxuICAgIHNvY2lhbC1ob3Zlci1iYWNrZ3JvdW5kOiAkbXVzdGFyZCxcbiAgICBzb2NpYWwtaG92ZXItbG9nbzogJGRhcmstZ3JlZW4sXG4pO1xuXG4kY29sb3JzLWhlcm86IChcbiAgICBiYWNrZ3JvdW5kOiAkZGVlcC1zZWEsXG4gICAgdGV4dDogJHdoaXRlLFxuKTtcbiRjb2xvcnMtaGVyby13ZWxjb21lOiAoXG4gICAgY29kZS1iZy1pbmFjdGl2ZTogJG11c3RhcmQsXG4gICAgY29kZS1iZy1hY3RpdmU6ICRkYXJrLWRlZXAtc2VhLFxuICAgIHBob3RvLWJnLWFsdDokd2hpdGUtZjcsXG4gICAgcGhvdG8tYmc6JHdoaXRlLFxuICAgIHRpbGUtYWN0aXZlLWJnOiAkd2hpdGUsXG4gICAgdGlsZS1hY3RpdmUtdGV4dDogJGRhcmstZ3JlZW4sXG4gICAgdGlsZS1saW5rOiAkd2hpdGUsXG4gICAgdGlsZS1hY3RpdmUtbGluazogJGRhcmstZ3JlZW4sXG4gICAgdGlsZS1tb2JpbGUtYmc6ICR3aGl0ZSxcbiAgICB0aWxlLW1vYmlsZS10ZXh0OiAkZGFyay1ncmVlbixcbiAgICB0aWxlLW1vYmlsZS1saW5rOiAkZGFyay1ncmVlblxuKTtcblxuJGNvbG9ycy1sb2dpbjogKFxuICAgIGJhY2tncm91bmQ6ICRkYXJrLWRlZXAtc2VhXG4pO1xuXG4kY29sb3JzLWhvbWVwYWdlLXByZXNlbnRhdGlvbjogKFxuICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyZWVuLFxuICAgIHRleHQ6ICR3aGl0ZSxcbik7XG5cbiRjb2xvcnMtYW5pbWF0ZWQtY3VydmU6IChcbiAgICBjdXJ2ZS1iZzogJG1vdW50YWluLW1lYWRvdyxcbik7XG5cbiRjb2xvcnMtZ2FsbGVyeS1vdmVybGF5OiAoXG4gICAgYmFja2dyb3VuZDogJGNsZWFyLWRheSxcbiAgICBpbWFnZS1iYWNrZ3JvdW5kOiAkd2hpdGUsXG4gICAgYXJyb3dzOiAkZGFyay1ncmVlbixcbiAgICBoZWFkaW5nczogJHdoaXRlLFxuICAgIGJvcmRlcjogJGdhaW5zYm9yby1lNixcbiAgICBib3JkZXItYWN0aXZlOiAkZGVlcC1zZWEsXG4pO1xuXG4kY29sb3JzLWltYWdlLXRleHQ6IChcbiAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmVlbixcbiAgICB0ZXh0czogJHdoaXRlXG4pO1xuXG4kY29sb3JzLXByb2R1Y3QtdGlsZTogKFxuICAgIGJhY2tncm91bmQ6ICRjbGVhci1kYXksXG4gICAgaG92ZXItMTogJGRlZXAtc2VhLFxuICAgIGhvdmVyLTI6ICRkYXJrLWdyZWVuXG4pO1xuXG4kY29sb3JzLWN1c3RvbWl6ZTogKFxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSxcbiAgICBsYXlvdXQtY2VsbC1iYWNrZ3JvdW5kOiAkaHVtbWluZy1iaXJkLFxuICAgIGJvcmRlcnM6ICRnYWluc2Jvcm8tZTYsXG4gICAgYm9yZGVycy1ob3ZlcjogJGRlZXAtc2VhLFxuICAgIHRleHQtaG92ZXI6ICRkZWVwLXNlYSxcbiAgICBwYXJ0LWluYWN0aXZlOiRzdXZhLWdyZXksXG4gICAgcGFydC1hY3RpdmU6ICRkZWVwLXNlYSxcbiAgICBzdGVwczogJGRlZXAtc2VhLFxuICAgIHByZXZpZXctYmc6ICRjbGVhci1kYXksXG4gICAgcHJldmlldy1pbWctYmc6ICR3aGl0ZSxcbiAgICBuYW1lOiAkZGFyay1ncmVlbixcbiAgICByYW5kb20tYnV0dG9uOiAkZGVlcC1zZWEsXG4gICAgaW5wdXQtcGxhY2Vob2xkZXI6ICRkaW0tZ3JheSxcbiAgICBpbnB1dC1jb250ZW50OiAkZGFyay1ncmVlbixcbiAgICBlcnJvcjogJHJlZCxcbiAgICBpbmNsdWRlZC1pdGVtczogJHN1dmEtZ3JleSxcbiAgICBpbmNsdWRlZC1pdGVtcy1idG46ICRkZWVwLXNlYSxcbik7XG5cbiRjb2xvcnMtcG9wdXA6IChcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGUsXG4gICAgYmFja2dyb3VuZC1mYWRlOiByZ2JhKDAsIDAsIDAsIDAuNzUpLFxuICAgIGJ0bi1jbG9zZTogJGRhcmstZ3JlZW5cbik7XG5cbiRjb2xvcnMtbm90aWNlOiAoXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWN5YW4sXG4gICAgcGFydGljbGUtY29sb3ItMTogJG1vdW50YWluLW1lYWRvdyxcbiAgICBwYXJ0aWNsZS1jb2xvci0yOiAkbXVzdGFyZCxcbiAgICBwYXJ0aWNsZS1ib3JkZXI6ICRkYXJrLWdyZWVuXG4pO1xuXG4kY29sb3JzLW1lc3NhZ2VzOiAoXG4gICAgdGV4dC13aGl0ZTogJHdoaXRlLFxuICAgIGJhY2tncm91bmQtaW5mbzogJGxpZ2h0LWN5YW4sXG4gICAgYmFja2dyb3VuZC13YXJuaW5nOiAkbXVzdGFyZCxcbiAgICBiYWNrZ3JvdW5kLWVycm9yOiAkcmVkLFxuICAgIGJhY2tncm91bmQtc3VjY2VzczogJG1vdW50YWluLW1lYWRvdyxcbiAgICBjbG9zZS1idG46ICRkYXJrLWdyZWVuLFxuICAgIGNsb3NlLWJ0bi13aGl0ZTogJHdoaXRlLFxuKTtcblxuJGNvbG9ycy1jaGVja291dC1wcm9jZXNzOiAoXG4gICAgcGFnZS1iYWNrZ3JvdW5kOiAjRjRGNEY1LFxuICAgIGNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlLFxuICAgIGFkZC1jaGlsZC1iYWNrZ3JvdW5kOiAkbGlnaHQtY3lhbixcbiAgICBleHRyYS1wb3Nlcy1iYWNrZ3JvdW5kOiAkZGFyay1kZWVwLXNlYSxcbiAgICBleHRyYS1wb3Nlcy10ZXh0OiAkd2hpdGUsXG4gICAgbWVudS1pbmFjdGl2ZTokc3V2YS1ncmV5LFxuICAgIG1lbnUtYWN0aXZlOiAkZGVlcC1zZWEsXG4gICAgYm9yZGVyOiAkZ2FpbnNib3JvLWU2LFxuICAgIGJ1dHRvbi10ZXh0OiAkZGVlcC1zZWEsXG4gICAgaGlnaGxpZ2h0LXRleHQ6ICRkZWVwLXNlYSxcbiAgICBjaGVja2JveC1sYWJlbDogJGRhcmstZ3JlZW4sXG4gICAgZGlzYWJsZWQ6ICRkaW0tZ3JheSxcbiAgICBjaGVja21hcmstaWNvbjogJGRlZXAtc2VhLFxuICAgIGVycm9yOiAkcmVkXG4pO1xuXG5cbiRjb2xvcnMtdGV4dC1wYWdlOiAoXG4gICAgaGVhZGluZy1iYWNrZ3JvdW5kOiAkZGVlcC1zZWEsXG4gICAgaGVhZGluZzogJHdoaXRlLFxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSxcbik7XG5cblxuJGNvbG9ycy1tYXA6IChcbiAgICBiYWNrZ3JvdW5kOiAkZGVlcC1zZWEsXG4gICAgaW50ZXJhY3RpdmUtY29sb3I6ICRtdXN0YXJkLFxuICAgIHNlY29uZGFyeS1jb2xvcjogJGRhcmstZ3JlZW4sXG4gICAgc2Vjb25kYXJ5LWJvcmRlcjogJGRlZXAtY2xlYXIsXG4gICAgbGlnaHQ6ICR3aGl0ZSxcbiAgICBsaWdodC1ib3JkZXI6ICRnYWluc2Jvcm8tZTYsXG5cbik7XG4iLCJhc2lkZSB7XG4gICAgJi5hc2lkZS1sb2NhdGlvbnMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBiYWNrZ3JvdW5kKTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgW3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgIGNhcmV0LWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcblxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZyA+ICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZyA+ICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbiB7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwMHZtYXggbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICAuaW5mb3Mge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2VsZWN0LWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIHNlY29uZGFyeS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWJvcmRlcik7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgLmluZm9zIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0LWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgJi5tb2JpbGUtb3ZlcmxheSB7XG4gICAgICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLmFkZC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGFkZC1jaGlsZC1iYWNrZ3JvdW5kKTtcbn1cbiIsIi5jaGVja291dC1jb25maXJtYXRpb24ge1xuICAgIC5jb250ZW50IHtcbiAgICAgICAgLm9yZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrLWluc3RydWN0aW9ucyB7XG4gICAgICAgIC50aGFua3Mge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLmNoZWNrLWluc3RydWN0aW9ucyB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG5cbiAgICAgICAgICAgIC50ZXh0LCAubm90aWNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jaGVja291dC1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICAuaGFzLXRvcC1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQsIC5ib2xkIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLnNlcGFyYXRvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsLFxuICAgICAgICAuaW5mby1sYWJlbCxcbiAgICAgICAgLmZsb2F0aW5nLWVsZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDpkaXNhYmxlZCB7XG4gICAgICAgICAgICAmIH4gLmluZm8sXG4gICAgICAgICAgICAmIH4gLmluZm8tbGFiZWwsXG4gICAgICAgICAgICAmIH4gLmZsb2F0aW5nLWVsZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgZGlzYWJsZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZsb2F0aW5nLWVsZW0ge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG5cbiAgICAgICAgICAgICYucGljdHVyZXMge1xuICAgICAgICAgICAgICAgIC5wYXltZW50LW1ldGhvZC5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdC1sYWJlbCB7XG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNoZWNrb3V0LXJldmlldyB7XG4gICAgLmhhcy1ib3R0b20tYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKDMwcHgpO1xuICAgIH1cbiAgICAuaGFzLXRvcC1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMjRweCk7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAuZXh0cmEtaW5mbyB7XG4gICAgICAgIC5pcy1zbWFsbCB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3RhbCB7XG4gICAgICAgICAgICAucHJpY2UuaXMtZnJlZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucmV2aWV3LXBhcnQge1xuICAgICAgICAmLmlzLXNoaXBwaW5nLFxuICAgICAgICAmLmlzLXBheW1lbnQge1xuICAgICAgICAgICAgLmVsZW0ge1xuICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLmhhcy1ib3R0b20tYm9yZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oMjNweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmhhcy10b3AtYm9yZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hpbGQtdGlsZSB7XG4gICAgLnBhY2thZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAucGFja2FnZS1zdW1tYXJ5IHtcbiAgICAgICAgLnF0eSBzcGFuLCAub3JpZ2luYWwtcHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAucXR5e1xuICAgICAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcblxuICAgICAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kcm9wZG93bi1hcnJvdy1jb2xvcmVkQDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS5pcy1mcmVlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgaGlnaGxpZ2h0LXRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2x1Yi1zdWJzY3JpcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjb250ZW50LWJhY2tncm91bmQpO1xuXG4gICAgLmJvdHRvbSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGV0dGVyLWFuaW1hdGlvbiB7XG4gICAgc3ZnIHtcblx0cmVjdCxcblx0cGF0aCxcblx0bGluZVxuXHR7XG5cdCAgICBzdHJva2U6ICRicmFuZC1wcmltYXJ5LWRhcms7XG5cdH1cblx0ZWxsaXBzZSB7XG5cdCAgICBzdHJva2U6bm9uZTtcblx0fVxuXHRcblx0cmVjdCxcblx0cGF0aCxcblx0ZWxsaXBzZSB7XG5cdCAgICBmaWxsOiAjRDNFNkVDO1xuXHR9XG4gICAgfVxuXG4gICAgLmNoZWNrbWFyayB7XG5cdHJlY3QsXG5cdHBhdGgsXG5cdGVsbGlwc2Uge1xuXHQgICAgZmlsbDogIzIyQzU1RTtcblx0fVxuXG5cdC8vIEVuc3VyZSB0aGUgc3Ryb2tlIGNvbG9yIG9mIHRoZSBjaGVja21hcmsgcGF0aCByZW1haW5zIHdoaXRlXG5cdHBhdGgge1xuXHQgICAgc3Ryb2tlOiAjZmZmO1xuXHR9XG4gICAgfVxuICAgIFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgcGFnZS1iYWNrZ3JvdW5kKTtcbiAgICB9XG59XG4iLCIucGFja2FnZS1wYXJ0IHtcbiAgICAmLmlzLXJldmlldyB7XG4gICAgICAgIC5wYXJ0LWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmlzLXJldmlldykge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLnBhY2thZ2UtdGl0bGUge1xuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcnQtY29udGVudCB7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIH1cblxuICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuXG4gICAgICAgIC5leHRyYS1wb3NlcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgZXh0cmEtcG9zZXMtYmFja2dyb3VuZCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGV4dHJhLXBvc2VzLXRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgIH1cblxuICAgIC5sYXlvdXQtaW1nIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxufVxuIiwiLnN1bW1hcnkge1xuICAgIC5kZXRhaWwge1xuICAgICAgICAmLmlzLWJvbGQge1xuICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaGlnaGxpZ3RoZWQge1xuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpbmFsLXRvdGFsIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWhlbHAge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb21pc2VzIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zdXJ2ZXktZm9ybSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbiAgICAuZXhwZXJpZW5jZSB7XG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGVycm9yKTtcbiAgICB9XG5cbiAgICAudGhhbmtzIHtcbiAgICAgICAgLmNoZWNrbWFyay1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjaGVja21hcmstaWNvbik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucG9wdXAge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1wb3B1cCwgYmFja2dyb3VuZC1mYWRlKTtcblxuICAgIC5wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLXBvcHVwLCBiYWNrZ3JvdW5kKTtcblxuICAgICAgICAucG9wdXAtY2xvc2UtYnRuIHtcbiAgICAgICAgICAgIHN2ZyBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1wb3B1cCwgYnRuLWNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3B1cC1jb250ZW50IHtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnR5cGUtYmFja2dyb3VuZCB7XG4gICAgLnBpY3R1cmVzLWxpc3Qge1xuICAgICAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICAgICAgJjpob3ZlciwgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMtaG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5iYWNrZ3JvdW5kLW5hbWUsIC5iYWNrZ3JvdW5kLXByaWNlLCAucHJlbWl1bS1wcmljZSAge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubG9hZC1tb3JlIHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsICYuZmF2b3JpdGVkIHtcblx0XHRjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgICAgICAuZmF2b3JpdGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jdXN0b21pemUvZmF2b3JpdGUtaWNvbi1maWxsZWQucG5nJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmF2b3JpdGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2N1c3RvbWl6ZS9mYXZvcml0ZS1pY29uLW91dGxpbmUucG5nJyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJhY2tncm91bmQtbmFtZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIC5waWN0dXJlcy1saXN0IHtcbiAgICAgICAgICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmZhdm9yaXRle1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJi5mYXZvcml0ZWQge1xuICAgICAgICAgICAgICAgICAgICAuZmF2b3JpdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY3VzdG9taXplL2Zhdm9yaXRlLWljb24tZmlsbGVkLnBuZycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZhdm9yaXRlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY3VzdG9taXplL2Zhdm9yaXRlLWljb24tb3V0bGluZS5wbmcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudHlwZS1ncmFkZXN7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBpbnB1dC1wbGFjZWhvbGRlcikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGlucHV0LWNvbnRlbnQpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLnR5cGUtbGF5b3V0IHtcbiAgICAubGF5b3V0cy1saXN0e1xuICAgICAgICAubGF5b3V0LXdyYXBwZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMtaG92ZXIpO1xuXG4gICAgICAgICAgICAgICAgJiB+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGF5b3V0LWRpc3BsYXkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyZXk7XG5cbiAgICAgICAgICAgIC5jZWxsIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JleTtcblxuICAgICAgICAgICAgICAgIC5iZyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50eXBlLXBob25le1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5wdXQtcGxhY2Vob2xkZXIpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBpbnB1dC1jb250ZW50KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi50eXBlLXBvc2V7XG4gICAgLnBpY3R1cmVzLWxpc3R7XG4gICAgICAgIC5pbWctd3JhcHBlcntcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWR7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzLWhvdmVyKTtcblxuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzLWhvdmVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGl7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycy1ob3Zlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuXHRcdGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmRvd25sb2FkcyB7XG5cbiAgICAuZG93bmxvYWQtbGluayBhe1xuXHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIHN2Zywgc3ZnICoge1xuXHQgICAgd2lkdGg6IDMycHg7XG5cdCAgICBoZWlnaHQ6IDMycHg7XG5cdCAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgIGZpbGw6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnktZGFyaztcbiAgICAgICAgICAgIHN2Zywgc3ZnICoge1xuXHRcdGZpbGw6ICRicmFuZC1wcmltYXJ5LWRhcms7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVx0XG4gICAgfVxufVxuIiwiLmxvZ2luIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcblxuICAgIC5sb2dpbi1uYXYgLmxvZ2luLW5hdi1lbGVtZW50LnNlbGVjdGVkICB7XG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG4gICAgXG4gICAgLmxvZ2luX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgIH1cblxuICAgIC5yZW1vdmUtY29kZXtcbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICBzdHJva2U6JGdyZXktZGFya2VzdDsgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWxvZ2luIHtcbiAgICAgICAgLmxvZ2luLWNvZGVze1xuICAgICAgICAgICAgJjpmb2N1c3tcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kYXJrZXItcHJpbWFyeS1jb2xvciwgJGJyYW5kLXByaW1hcnktZGFyayk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0td2hpdGUsICNGRkYpICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDFweCA0cHggMHB4ICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuXHQgICAgfVxuXG5cdH1cbiAgICB9XG4gICAgLmxvZ2luX19hZGQtY29kZS1idG4ge1xuXHRjb2xvcjokYnJhbmQtcHJpbWFyeTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnk7XG5cbiAgICAgICAgJjpob3Zlcntcblx0ICAgIGJhY2tncm91bmQ6IHZhcigtLU5hbkMtTGlnaHQtcHJpbWFyeSwgJGJyYW5kLXByaW1hcnktbGlnaHRlc3QpO1xuXHQgICAgLyogaG92ZXIgc2hhZG93ICovXG5cdCAgICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdH1cblx0JjphY3RpdmUge1xuXHQgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cdH1cdFxuICAgIH1cblxuICAgIC5mb3JtLWxvZ2luX19zdWJtaXQge1xuXHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnk7XG5cblx0Jjpob3Zlcntcblx0ICAgIGJhY2tncm91bmQ6IHZhcigtLU5hbkMtSG92ZXIsICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0KTtcblx0fVxuXHQmOmFjdGl2ZSB7XG5cdCAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcblx0fVx0XG4gICAgfVxuXG4gICAgXG4gICAgXG59XG4iLCIucGFja2FnZS10aWxlIHtcbiAgICAubGluazpob3ZlciB7XG4gICAgICAgICYgfiAucGFja2FnZSwgJiB+IC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLXByb2R1Y3QtdGlsZSwgaG92ZXItMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmIH4gLm5hbWUge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1wcm9kdWN0LXRpbGUsIGhvdmVyLTIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltZy13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG4gICAgfVxufVxuIiwiLmFuaW1hdGVkLWN1cnZle1xuICAgIC5iYWNrZ3JvdW5ke1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYW5pbWF0ZWQtY3VydmUsIGN1cnZlLWJnKTtcbiAgICB9XG59XG4iLCIuaGVhZGVyLW1hcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0LWJvcmRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgIHNwYW57XG4gICAgICAgICYuY2xvc2Utb3ZlcmxheXtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJoZWFkZXIuY2hlY2tvdXR7XG4gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNvbnRlbnQtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7O1xuXG4gICAgLmxvZ297XG5cdHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICAuY2hlY2tvdXQtbmF2e1xuXHRjb2xvcjogJGdyZXk7XG5cdC8qIExhYmVsL0xhYmVsIG1lZGl1bSAqL1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bGluZS1oZWlnaHQ6IDIwcHg7IC8qIDEyNSUgKi9cblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdC8qIExhYmVsL0xhYmVsIG1lZGl1bSAqL1xuICAgICAgICB1bHtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGEscHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG5cdFx0ICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZleyBcbiAgICAgICAgICAgICAgICAgICAgYSxwe1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0ICAgIGNvbnRlbnQ6ICcnO1xuXHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICBib3R0b206IDA7XG5cdFx0XHQgICAgbGVmdDogNTAlO1xuXHRcdFx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdCAgICB3aWR0aDogNzAlO1xuXHRcdFx0ICAgIGhlaWdodDogMnB4OyAvLyBBZGp1c3QgdGhpY2tuZXNzIG9mIHRoZSBcImJvcmRlclwiXG5cdFx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktZGFya2VzdDtcblx0XHRcdH1cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG5cdFx0Ji5jb21wbGV0ZWR7XG5cdFx0ICAgIGEscHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXHRcdH1cbiAgICAgICAgICAgICAgICAmLmNvbXBsZXRlZHtcbiAgICAgICAgICAgICAgICAgICAgaS5jYXJldHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaS5jb21wbGV0ZWQtaWNvbntcblxuXHRcdCAgICB0b3A6IDE0cHggIWltcG9ydGFudDtcblx0XHQgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdFx0XHR0b3A6IDMycHggIWltcG9ydGFudDtcblx0XHQgICAgXG5cdFx0ICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyQzU1RTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpLmNhcmV0e1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgbWVudS1pbmFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgIC5jaGVja291dC1uYXYge1xuXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLy5uYXZpZ2F0aW9uIHtcbiAgICAgICAgLy8gICAgdWwge1xuICAgICAgICAvLyAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99XG4gICAgICAgIC8vXG4gICAgICAgIC8vLm1vYmlsZS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgLy8gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcbiAgICAgICAgLy8gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG4gICAgICAgIC8vfVxuICAgICAgICAvL1xuICAgICAgICAvLy5wcmljZXN7XG4gICAgICAgIC8vICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBzdGVwcyk7XG4gICAgICAgIC8vfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIC8vLm5hdmlnYXRpb24ge1xuICAgICAgICAvLyAgICB1bCB7XG4gICAgICAgIC8vICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuICAgICAgICAvLyAgICB9XG4gICAgICAgIC8vfVxuICAgIH1cbn1cbiIsIi5jaGVja291dC1wYWdlLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0ZXN0O1xuICAgIC5uZXdzbGV0dGVyLXNpZ251cCwgLmFkZC13ZWJjb2Rle1xuXHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodDtcblx0Ym9yZGVyOiAycHggc29saWQgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG4gICAgfVxufVxuXG4uYmctYmFkZ2V7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG59XG5cbi51cHNlbGwtY3RhLWJ1dHRvbnN7XG4gICAgcGFkZGluZy10b3A6MjRweDtcbn1cbiIsIi5hc2lkZS1jdXN0b21pemV7XG4gICAgYmFja2dyb3VuZDogJGdyZXktbGlnaHRlc3Q7XG4gICAgYm9yZGVyLWNvbG9yOm1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuXG4gICAgLnN0ZXB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuXHQuc3RlcC10aXRsZSB7XG5cdCAgICBjb2xvcjogJGdyZXktZGFyazsgXG5cdCAgICBmb250LXNpemU6IDE0cHg7XG5cdCAgICBmb250LXdlaWdodDogNDAwO1xuXHR9XG5cblxuXHRzdmd7XG5cdCAgICBwYXRoIHtcblx0XHRzdHJva2U6ICRncmV5LWRhcms7XG5cdCAgICB9XG5cdCAgICBjaXJjbGUge1xuXHRcdHN0cm9rZTogJGdyZXktZGFyaztcblx0ICAgIH1cblx0ICAgIGxpbmUge1xuXHRcdHN0cm9rZTogJGdyZXktZGFyaztcblx0ICAgIH1cblx0fVxuXG4gICAgICAgIC5lcnJvci1pY29uIHtcbiAgICAgICAgICAgIHN2ZyBjaXJjbGUsIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcblx0ICAgICYuYWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcblx0XHQmOmhvdmVye1xuXHRcdCAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcblx0XHR9XG5cdCAgICB9XG5cdH1cbiAgICB9XG59XG4iLCIuaGVhZGVyLWN1c3RvbWl6ZXtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG5cbiAgICAubmF2aWdhdGlvbntcbiAgICAgICAgaDF7XG5cdCAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVse1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHBhcnQtaW5hY3RpdmUpO1xuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUgcHtcblx0XHQgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cdFx0fVxuICAgICAgICAgICAgICAgICYuY29tcGxldGVke1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTowLjk7XG5cbiAgICAgICAgICAgICAgICAgICAgaS5jYXJldHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHBhcnQtYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaS5jb21wbGV0ZWQtaWNvbntcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcGFydC1hY3RpdmUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkuY2FyZXR7XG4gICAgICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgICAgICp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBwYXJ0LWluYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZXMge1xuXHRcblx0XG4gICAgICAgIC50b3RhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG5cdCAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblx0XHRjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb25hdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcblx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgLm5hdmlnYXRpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAvL2JvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubW9iaWxlLW5hdiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcblx0YmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ncmVlbiwgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQpO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogMDtcbiAgICAgICAgLnByaWNlcyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgc3RlcHMpO1xuXG4gICAgICAgICAgICAudG90YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRvbmF0aW9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cdC50ZXJ0aWFyeS1idXR0b257XG5cblx0ICAgIGRpc3BsYXk6IGZsZXg7XG5cdCAgICB3aWR0aDogMzAwcHg7XG5cdCAgICBoZWlnaHQ6IDU2cHg7XG5cdCAgICBwYWRkaW5nOiA4cHggMjBweDtcblx0ICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHQgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ICAgIGdhcDogOHB4O1xuXHQgICAgZmxleC1zaHJpbms6IDA7XG5cdCAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXHQgICAgYm9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnk7O1xuXHQgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUsICNGRkYpO1xuXHQgICAgc3Bhbntcblx0XHRjb2xvcjogJGJyYW5kLXByaW1hcnk7O1xuXHRcdC8qIEJpZyBidXR0b24gc3R5bGUgKi9cblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0ICAgIH1cblx0ICAgIHN2Z3tcblx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdHBhdGgge1xuXHRcdCAgICBzdHJva2U6ICRicmFuZC1wcmltYXJ5O1xuXHRcdH1cblx0XHRsaW5lIHtcblx0XHQgICAgc3Ryb2tlOiAkYnJhbmQtcHJpbWFyeTtcblx0XHR9XG5cdCAgICB9XG5cblx0ICAgIDpob3ZlciwgOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1saWdodDtcblx0XHQvKiBob3ZlciBzaGFkb3cgKi9cblx0XHRib3gtc2hhZG93OiAwcHggM3B4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHQgICAgfVxuXG5cdCAgICBcblx0fVxuXHQudGVydGlhcnktYnV0dG9uOmhvdmVyLCAudGVydGlhcnktYnV0dG9uOmZvY3VzIHtcblx0ICAgIGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0O1xuXHQgICAgLyogaG92ZXIgc2hhZG93ICovXG5cdCAgICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdCAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdH1cblxuXHRcbiAgICB9XG59XG4iLCIucHJldmlldy1jdXN0b21pemV7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgXG5cbiAgICAucHJldmlldy1tb250YWdle1xuIFx0YmFja2dyb3VuZDogJGdyZXktbGlnaHRlc3Q7XG5cbiAgICAgICAgJi5oYXMtYmd7XG4gICAgICAgICAgICAuaW1hZ2Utd3JhcHBlcntcbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZS13cmFwcGVye1xuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0OyBcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJhbmRvbS1iYWNrZ3JvdW5ke1xuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHJhbmRvbS1idXR0b24pO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHJhbmRvbS1idXR0b24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgLnN2Zy1iYWNrZ3JvdW5ke1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcmFuZG9tLWJ1dHRvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW57XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHJhbmRvbS1idXR0b24pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICAucHJldmlldy1tb250YWdlIHtcblx0ICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgICAuaW5jbHVkZWQtZm9ybWF0cyB7XG4gICAgICAgICAgICAgICAgLnRvcCB7XG4gICAgICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBpbmNsdWRlZC1pdGVtcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4uaXMtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudGVydGlhcnktYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBpbmNsdWRlZC1pdGVtcy1idG4pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYnRuLXRleHQpIGNhbGMoMTAwJS8zKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUvMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcblxuICAgIH1cbn1cbiIsIi50b29scy1jdXN0b21pemV7XG4gICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYmFja2dyb3VuZCk7XG5cbiAgICAmOmFmdGVye1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAudG9vbHMtY29udGVudCB7XG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKXtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKXtcblxuICAgIH1cbn1cbiIsIi5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIC5mb290ZXJfX3dyYXBwZXIge1xuICAgICAgICAmLmlzLW1haW4tY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeS1kYXJrZXN0O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIG1haW4tY29udGVudC10ZXh0KTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIG1haW4tY29udGVudC1saW5rLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWZvb3RlciwgbWFpbi1jb250ZW50LWxpbmstaG92ZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItYWR2YW50YWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBhZHZhbnRhZ2UtdGV4dCk7XG5cbiAgICAgICAgLmZvb3Rlci1hZHZhbnRhZ2VfX3RleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLXNvY2lhbHMge1xuICAgICAgICAuZm9vdGVyLXNvY2lhbHNfX2xpbmsge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICByZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIHNvY2lhbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+IGcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbWFwLWdldCgkY29sb3JzLWZvb3Rlciwgc29jaWFsLWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIHNvY2lhbC1ob3Zlci1sb2dvKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXJfX3dlYnNpdGUge1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICB9XG5cbiAgICAuZm9vdGVyLW5hdiB7XG4gICAgICAgIC5mb290ZXItbmF2X19saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAuZm9vdGVyLWNvbnRhY3RzIHtcbiAgICAgICAgICAgIC5mb290ZXItY29udGFjdHNfX2xpbmsge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmhlYWRlci1jYXRlZ29yeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNhdGVnb3J5LWhlYWRlciwgYmFja2dyb3VuZCk7XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICAuc2VsZWN0ZWQtc2Vzc2lvbi1zZWxlY3RvcixcbiAgICAgICAgLnNjcm9sbGluZy13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXIsIHNlc3Npb24tb3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLnNjcm9sbGluZy13cmFwcGVyIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggOHB4IDMwcHggcmdiYSgwLDAsMCwuMTYpKTtcblxuICAgICAgICAuc2Nyb2xsIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwxKSAxMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUscmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW5vLXBhbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWNhdGVnb3J5LWhlYWRlciwgbmFuby1wYW5lKTtcblxuICAgICAgICAgICAgLm5hbm8tc2xpZGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyLCBuYW5vLXNsaWRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Vzc2lvbi1zZWxlY3RvciwgLnNlbGVjdGVkLXNlc3Npb24tc2VsZWN0b3Ige1xuXHRjb2xvcjokZ3JleS1kYXJrO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5uYW1lLCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgICAgICB9XG5cdCAgICAuc2Vzc2lvbi1uYW1le1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXHQgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmltZy13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXIsIHNlc3Npb24taW1nLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogNXB4IDVweCAyMHB4IHJnYmEoMCwgMCwgIDAsIDAuMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc3VwcG9ydC1tb2RlLWJhbm5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLVN0YXR1cy1JbmZvLWNvbG9ySW5mb0FjdGl2ZSwgIzI1NjNFQik7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAvKiAxMjUlICovXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDA7XG5cblxuICAgIC8vIEFkanVzdCB0b3AgaWYgcHJlY2VkZWQgYnkgLm1lc3NhZ2VzLnN1cHBvcnQtbW9kZVxuICAgIC5tZXNzYWdlcy5zdXBwb3J0LW1vZGUgKyAmIHtcblx0dG9wOiA0OXB4O1xuICAgIH1cblxuICAgIFxufVxuXG4uc2Vhc29uYWwtcHJvbW8tYmFubmVye1xuICAgIFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuXG4gICAgLnByb21vLWNvbHVtbjEse1xuXHQucHJvbW8tdGl0bGV7XG5cdCAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdH1cblxuXHQucHJvbW8tZGVzY3JpcHRpb257XG5cdCAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdH1cbiAgICB9XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGRiA3OS4zNSUsICRicmFuZC1wcmltYXJ5LWxpZ2h0IDc5LjM2JSk7XG59XG5cbi5zZWFzb25hbC1wcm9tby1iYW5uZXItcHJvbW8tcGFnZXtcbiAgICBcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcblxuICAgIC5wcm9tby10aXRsZXtcblx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5wcm9tby1kZXNjcmlwdGlvbntcblx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgIH1cblxufVxuXG5cbmhlYWRlcntcblxuICAgIFxuICAgICYuY29ubmVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUsICNGRkYpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXk7XG5cdHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIH1cbiAgICAmLnN1cHBvcnQtbW9kZSB7XG5cdG1hcmdpbi10b3A6NTBweDtcbiAgICB9XG5cbiAgICBhLm1haW4taGVhZGVyLWxpbmsge1xuXHRjb2xvcjogJGdyZXktZGFyaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQmLnNlbGVjdGVkIHtcblx0ICAgIGJvcmRlcjogMDtcblx0ICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0d2lkdGg6IDcwJTtcblx0XHRoZWlnaHQ6IDJweDsgXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgIH1cblx0fVxuXG5cdFxuXHQmOmhvdmVyIHtcblx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXHR9XG5cblx0JjphY3RpdmUge1xuXHQgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7IC8vIFByZXNzZWQgc3RhdGVcblx0fVxuXG5cdCYuaW5hY3RpdmUge1xuXHQgICAgY29sb3I6ICRncmV5OyAvLyBJbmFjdGl2ZSBzdGF0ZVxuXHR9XG4gICAgfVxuICAgIG5hdiB1bCBsaS5jYXJ0LWljb24gYSBzcGFuLml0ZW0tY291bnR7XG5cdGJhY2tncm91bmQtY29sb3I6JGdyZXktZGFya2VzdDtcbiAgICB9XG5cbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUsICNGRkYpO1xuICAgIHBhZGRpbmctdG9wOjIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OjUwcHg7XG4gICAgcGFkZGluZy1yaWdodDo1MHB4O1xuICAgIC5oZWFkZXItaW5mb3tcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA0MHB4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7IFxuXHRwIHtcblx0ICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0fVxuXHQubGFuZy1zd2l0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDcuNXB4IDZweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13aGl0ZSwgI0ZGRik7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktZ3JlZW4sICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0KTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7IC8vIEFuY2hvciB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRncmV5LWxpZ2h0O1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7IC8vIEFuY2hvciB0ZXh0IGNvbG9yIG9uIGhvdmVyL2ZvY3VzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbm5lY3RlZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSwgI0ZGRik7IC8vIERlZmF1bHQgYmFja2dyb3VuZCBmb3IgY29ubmVjdGVkIHN0YXRlXG4gICAgICAgIFxuICAgICAgICAvLyBTZXQgZGVmYXVsdCBjb2xvciB3aGVuIC5sYW5nLXN3aXRjaC5jb25uZWN0ZWRcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbnN1cmUgdGhlIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBpcyAkZ3JleS1saWdodCBmb3IgY29ubmVjdGVkXG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWdyZWVuLCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodCk7IC8vIEhvdmVyIGJhY2tncm91bmQgZm9yIGNvbm5lY3RlZFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTsgLy8gQW5jaG9yIHRleHQgY29sb3Igb24gaG92ZXIvZm9jdXMgZm9yIGNvbm5lY3RlZFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiAgICB9XG4gICAgbmF2e1xuICAgICAgICB1bHtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtbWVkaXVtKCk7XG5cdFx0ICAgIGNvbG9yOiAjRkZGO1xuXHRcdCAgICBmb250LXNpemU6IDE2cHg7XG5cdFx0ICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHQgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtaGVhZGVyLCBsaW5rLWhvdmVyLXRleHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgICAgICAgIGF7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsIGxpbmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogI0ZGRjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jYXJ0LWxpbmstd3JhcHBlcntcbiAgICAgICAgICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtaGVhZGVyLCBsaW5rLXRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWhlYWRlciwgYmFja2dyb3VuZC1pdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cdFx0LmhlYWRlci1sb2dvdXR7XG5cdFx0ICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcblx0XHQgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi5oZXJvLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZXJvLCBiYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWhlcm8sIHRleHQpO1xufVxuIiwiLmhlcm8taG9tZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJGJyYW5kLXByaW1hcnkgNTUuNSUsICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0IDEwMCUpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtaGVybywgdGV4dCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0cGFkZGluZy10b3A6IDY0cHg7XG4gICAgfVxuICAgIFxuICAgIC5jb2wtMTIgYnV0dG9uLmxvZ2luX19hZGQtY29kZS1idG4sIC5jb2wtbWQtMTIgYnV0dG9uLmxvZ2luX19hZGQtY29kZS1idG4ge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWJvdHRvbToyMHB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0c3Zne1xuXHQgICAgbGluZSB7XG5cdFx0c3Ryb2tlOiAkYnJhbmQtcHJpbWFyeTsgXG5cdCAgICB9XG5cblx0fVxuICAgIH1cbiAgICAuY29sLTEyIGJ1dHRvbi5mb3JtLWxvZ2luX19zdWJtaXQsIC5jb2wtbWQtMTIgYnV0dG9uLmZvcm0tbG9naW5fX3N1Ym1pdCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDsgXG4gICAgfVxuICAgIFxufVxuIiwiLmhlcm8td2VsY29tZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHQubW9iaWxlLWFkZC1jb2RlIHtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6JGJyYW5kLXByaW1hcnktbGlnaHRlc3Q7XG5cdH1cbiAgICB9XG5cbiAgICBcbiAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblxuICAgIC5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdi1waWxscyAuc2hvdyA+IC5uYXYtbGluayB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIH1cblxuICAgIFxuXG4gICAgLnNlY29uZGFyeS1yb3VuZC1idG4ge1xuICAgICAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1iZyk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFycm93LWJ0bi1ib3JkZXIpO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZC1jb2Rlcy13cmFwcGVyIHtcbiAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHQ7IFxuXHQgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIG1hcC1nZXQoJGNvbG9ycy1oZXJvLXdlbGNvbWUsIGNvZGUtYmctYWN0aXZlKTtcblx0ICAgIC50ZXh0c3tcblx0XHRjb2xvcjogJGJyYW5kLXByaW1hcnktZGFyayAhaW1wb3J0YW50O1xuXHQgICAgfVxuXHQgICAgLmNvZGVze1xuXHRcdGlucHV0e1xuXHRcdCAgICBjb2xvcjogJGJyYW5kLXByaW1hcnktZGFyayAhaW1wb3J0YW50O1xuXHRcdCAgICBib3JkZXItY29sb3I6dmFyKC0tbWlkLWdyaSwgJGdyZXktZGFya2VzdCk7XG5cdFx0ICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHRcdGxhYmVse1xuXHRcdCAgICBjb2xvcjogdmFyKC0tbWlkLWdyaSwgJGdyZXktZGFya2VzdCk7XG5cdFx0fVxuXHQgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGFjYXJkc3tcbiAgICAgICAgLmRhdGFjYXJke1xuICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC5waG90b3N7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICB9XG5cblx0ICAgIFxuICAgICAgICAgICAgLnBob3RvLWNvbnRhaW5lcntcblx0XHQmOm50aC1jaGlsZCgxKXtcblx0XHQgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTJweDtcblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoMil7XG5cdFx0ICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1x0XHQgICAgXG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDMpe1xuXHRcdCAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMnB4OyAgXG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDQpe1xuXHRcdCAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTJweDtcblx0XHR9XG5cdFx0XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksJjpudGgtY2hpbGQoMyl7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1oZXJvLXdlbGNvbWUsIHBob3RvLWJnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubW9yZXtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMzZweCk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1oZXJvLXdlbGNvbWUsIHRpbGUtYWN0aXZlLWxpbmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5pbWFnZS10ZXh0IHtcbiAgICAucm93IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC10ZXh0cyB7XG4gICAgICAgICAgICAqIHtcblx0XHRjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tZXNzYWdlcyB7XG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICAmLmlzLWluZm8sICYuaXMtd2FybmluZyB7XG4gICAgICAgICAgICAuY2xvc2UtYnRuIHtcbiAgICAgICAgICAgICAgICBzdmcgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwX2dldCgkY29sb3JzLW1lc3NhZ2VzLCBjbG9zZS1idG4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtZXJyb3IsICYuaXMtc3VjY2VzcyB7XG4gICAgICAgICAgICAuY2xvc2UtYnRuIHtcbiAgICAgICAgICAgICAgICBzdmcgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwX2dldCgkY29sb3JzLW1lc3NhZ2VzLCBjbG9zZS1idG4td2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaW5mbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIGJhY2tncm91bmQtaW5mbyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLXdhcm5pbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCBiYWNrZ3JvdW5kLXdhcm5pbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIGJhY2tncm91bmQtZXJyb3IpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgdGV4dC13aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCBiYWNrZ3JvdW5kLXN1Y2Nlc3MpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgdGV4dC13aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBwe1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cblxuICAgICAgICAucGFydGljbGVze1xuICAgICAgICAgICAgJi5wYXJ0aWNsZS0xe1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBhcnRpY2xlLTJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRpY2xlLTN7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1ib3JkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wYXJ0aWNsZS00e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wYXJ0aWNsZS01e1xuICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtYm9yZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucGFydGljbGUtNntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuLm5vdGljZS1iYXJ7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgYmFja2dyb3VuZCk7XG5cbiAgICBwe1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICB9XG5cbiAgICAucGFydGljbGVze1xuICAgICAgICAmLnBhcnRpY2xlLTF7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucGFydGljbGUtMntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTIpO1xuICAgICAgICB9XG4gICAgICAgICYucGFydGljbGUtM3tcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtYm9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgICAmLnBhcnRpY2xlLTR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0xKTtcbiAgICAgICAgfVxuICAgICAgICAmLnBhcnRpY2xlLTV7XG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICAgICAgJi5wYXJ0aWNsZS02e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIub3JkZXJpbmctd2lkZ2V0LXNsaWRlcntcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcbiAgICAub3JkZXJpbmctd2lkZ2V0LWl0ZW17XG5cdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuICAgIH1cbn1cbiIsIi50ZXh0LXBhZ2UtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLXRleHQtcGFnZSwgYmFja2dyb3VuZCk7XG5cbiAgICAuaGVhZGluZy13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIG1hcF9nZXQoJGNvbG9ycy10ZXh0LXBhZ2UsIGhlYWRpbmctYmFja2dyb3VuZCk7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy10ZXh0LXBhZ2UsIGhlYWRpbmcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmN1c3RvbWl6ZS1wYWdle1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHByZXZpZXctYmcpO1xuXG4gICAgJi5zY3JvbGwtZGlzYWJsZWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/