@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: #88D04B;
}
a:hover, a:focus {
  color: #3D6E1D;
}

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

.primary-button {
  padding: 12px 20px;
  justify-content: center;
  align-items: center;
  border-radius: 16px;
  background: #529621;
  border: 1px solid #529621;
  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: #3D6E1D;
  /* 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: #2D4B1C;
  /* 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: #529621 !important;
  border: 1px solid #529621;
  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: #529621;
}
.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: #F8FBF6;
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
  color: #529621 !important;
}
.secondary-button:not(.disabled):active {
  border: 1px solid #529621;
  color: #529621 !important;
  box-shadow: none;
  background: #CAEEA8;
}
.secondary-button:not(.disabled):active svg path, .secondary-button:not(.disabled):active svg line {
  stroke: #529621;
}

a.primary-btn, button.primary-btn {
  background-color: #88D04B;
  box-shadow: 0 0 0 rgba(61, 110, 29, 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: #88D04B;
}
a.primary-btn.alt-colors, button.primary-btn.alt-colors {
  background-color: #FFFFFF;
  color: #3D6E1D;
}
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: #3D6E1D;
}
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(61, 110, 29, 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(61, 110, 29, 0.3);
}
a.secondary-btn, button.secondary-btn {
  border-color: #88D04B;
  background-color: #FFFFFF;
  box-shadow: 0 0 0 rgba(61, 110, 29, 0.3);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #88D04B;
}
a.secondary-btn svg path, a.secondary-btn svg line, button.secondary-btn svg path, button.secondary-btn svg line {
  stroke: #88D04B;
}
a.secondary-btn .animated-bg-wrapper .animated-background, button.secondary-btn .animated-bg-wrapper .animated-background {
  background-color: #88D04B;
}
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: #3D6E1D;
}
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: #3D6E1D;
}
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(61, 110, 29, 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(61, 110, 29, 0.3);
}
a.tertiary-btn, button.tertiary-btn {
  background: linear-gradient(90deg, #88D04B 33.3333333333%, transparent 0 66.6666666667%, #88D04B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  color: #88D04B;
}
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, #3D6E1D 33.3333333333%, transparent 0 66.6666666667%, #3D6E1D 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #3D6E1D;
}
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, #88D04B 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, #88D04B 33.3333333333%, transparent 0 66.6666666667%, #88D04B 0) var(--d, 100%) 100%/300% 1px no-repeat;
  color: #88D04B;
}
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: #3D6E1D;
}
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(61, 110, 29, 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(61, 110, 29, 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(61, 110, 29, 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: #3D6E1D;
}
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(61, 110, 29, 0.75);
}

[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #3D6E1D;
}
[type=checkbox]:not(:checked) + label .animated-background,
[type=checkbox]:checked + label .animated-background {
  background-color: #F8FBF6;
}
[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  /* checkbox aspect */
}
[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: #88D04B;
}
[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  /* Disabled checkbox */
}
[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: #88D04B;
  border-color: #88D04B;
}
[type=checkbox]:not(:checked):checked:focus + label::before,
[type=checkbox]:checked:checked:focus + label::before {
  border-color: #A1A1AA;
}

[type=radio]:not(:checked) + label,
[type=radio]:checked + label {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #18181B;
}
[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,
[type=radio]:checked + label {
  /* checkbox aspect */
}
[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: #88D04B;
}
[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: #88D04B;
}
[type=radio]:not(:checked),
[type=radio]:checked {
  /* Disabled checkbox */
}
[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: #88D04B;
}
[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: #3D6E1D;
  border-color: #88D04B;
}
[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: #88D04B;
}
[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: #88D04B;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #3D6E1D;
}
.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: #88D04B;
}
.form-floating textarea.form-control:focus + label {
  color: #88D04B;
}

.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: #88D04B;
}
.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: #88D04B;
}

aside.aside-locations {
  background: #88D04B;
}
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: #3D6E1D;
}
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: #3D6E1D;
}
aside.aside-locations .location.active .infos .icon span {
  color: #FFFFFF;
}
aside.aside-locations .location.active .select-location a {
  color: #3D6E1D;
}
aside.aside-locations .location.active .select-location a:hover {
  color: #3D6E1D;
}
aside.aside-locations .location:not(:last-child) {
  border-bottom: 1px solid #88D04B;
}
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: #CAEEA8;
}

.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: #88D04B;
}
.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: #88D04B;
}
.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: #88D04B;
}
.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: #88D04B;
}

.letter-animation svg rect,
.letter-animation svg path,
.letter-animation svg line {
  stroke: #3D6E1D;
}
.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: #88D04B;
  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: #88D04B;
}
.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: #88D04B;
}

.popup {
  background: rgba(0, 0, 0, 0.75);
}
.popup .popup-wrapper {
  background: #FFFFFF;
}
.popup .popup-wrapper .popup-close-btn svg line {
  stroke: #3D6E1D;
}
.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: #88D04B;
}
.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: #3D6E1D !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 #88D04B;
}
.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: #3D6E1D !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: #88D04B;
}
.type-pose .pictures-list .img-wrapper:hover img, .type-pose .pictures-list .img-wrapper.selected img {
  border-color: #88D04B;
}
.type-pose .pictures-list .img-wrapper i {
  background: #88D04B;
}
.type-pose .pictures-list .img-wrapper img {
  border-color: #E4E4E7;
  border-width: 2px;
}

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

.login {
  background-color: #fff;
}
.login .login-nav .login-nav-element.selected {
  border-bottom: 2px solid #529621;
}
.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, #3D6E1D);
  background: var(--white, #FFF) !important;
  box-shadow: 0px 1px 4px 0px #88D04B;
}
.login .login__add-code-btn {
  color: #529621;
  border: 1px solid #529621;
}
.login .login__add-code-btn:hover {
  background: var(--NanC-Light-primary, #F8FBF6);
  /* hover shadow */
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
}
.login .login__add-code-btn:active {
  background: #529621;
}
.login .form-login__submit {
  background: #529621;
  border: 1px solid #529621;
}
.login .form-login__submit:hover {
  background: var(--NanC-Hover, #88D04B);
}
.login .form-login__submit:active {
  background: #529621;
}

.package-tile .link:hover ~ .package, .package-tile .link:hover ~ .price {
  color: #88D04B;
}
.package-tile .link:hover ~ .name {
  color: #3D6E1D;
}
.package-tile .img-wrapper {
  background-color: #F8FBF6;
}

.animated-curve .background {
  background-color: #3D6E1D;
}

.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;
}
@media (max-width: 1023.98px) {
  header.checkout .checkout-nav ul li i.completed-icon {
    top: 32px !important;
  }
}
header.checkout .checkout-nav ul li i.completed-icon {
  background-color: #22C55E;
}
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: #CAEEA8;
  border: 2px solid #88D04B;
}

.bg-badge {
  background-color: #88D04B;
}

.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: #F8FBF6;
  }
  .aside-customize .step.active:hover {
    background: #F8FBF6;
  }
}

.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: #88D04B;
}
.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: #88D04B;
}
.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, #88D04B);
    justify-content: center;
    padding: 0;
  }
  .mobile-nav .prices {
    color: #88D04B;
  }
  .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 #529621;
    background: var(--white, #FFF);
  }
  .mobile-nav .tertiary-button span {
    color: #529621;
    /* 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: #529621;
  }
  .mobile-nav .tertiary-button svg line {
    stroke: #529621;
  }
  .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: #529621;
  }
  .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: #529621;
  }
}

.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: #88D04B;
}
.preview-customize .preview-montage .random-background i:before {
  background-color: #88D04B;
}
.preview-customize .preview-montage .random-background i svg .svg-background {
  fill: #88D04B;
}
.preview-customize .preview-montage .random-background span {
  color: #88D04B;
  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: #88D04B !important;
    background: linear-gradient(90deg, #88D04B 33.3333333333%, transparent 0 66.6666666667%, #88D04B 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: #2D4B1C;
  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: #88D04B;
  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: #3D6E1D;
}
.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: #F8FBF6;
}
.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: #F8FBF6;
}
.header-category .scrolling-wrapper .nano-pane .nano-slider {
  background: #88D04B;
}
.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 #CAEEA8;
}
.seasonal-promo-banner .promo-column1 .promo-title {
  color: #529621;
}
.seasonal-promo-banner .promo-column1 .promo-description {
  color: #529621;
}
.seasonal-promo-banner {
  background: linear-gradient(180deg, #FFF 79.35%, #CAEEA8 79.36%);
}

.seasonal-promo-banner-promo-page {
  background: #F8FBF6;
}
.seasonal-promo-banner-promo-page .promo-title {
  color: #529621;
}
.seasonal-promo-banner-promo-page .promo-description {
  color: #529621;
}

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 {
  background-color: #529621;
  color: var(--white, #FFF);
  padding-top: 20px;
  padding-left: 50px;
  padding-right: 50px;
}
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: #529621;
}
header .header-info .lang-switch:hover {
  border: 1px solid var(--white, #FFF);
  background: var(--primary-green, #88D04B);
}
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 #529621;
  background: var(--white, #FFF);
}
header .header-info .lang-switch.connected a {
  color: #529621;
}
header .header-info .lang-switch.connected {
  background: #FFF;
}
header .header-info .lang-switch.connected:hover, header .header-info .lang-switch.connected:focus {
  background: var(--primary-green, #88D04B);
}
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: #88D04B;
  color: #FFFFFF;
}

.hero-home {
  background: linear-gradient(180deg, #529621 55.5%, #88D04B 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: #529621;
}
.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;
}
@media (max-width: 1023.98px) {
  .hero-welcome .mobile-add-code {
    background-color: #F8FBF6;
  }
}
.hero-welcome {
  color: #18181B;
}
.hero-welcome .nav-pills .nav-link.active, .hero-welcome .nav-pills .show > .nav-link {
  border: 1px solid #88D04B;
  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: #CAEEA8;
}
.hero-welcome .add-codes-wrapper .content {
  background: #88D04B;
}
.hero-welcome .add-codes-wrapper .content .texts {
  color: #3D6E1D !important;
}
.hero-welcome .add-codes-wrapper .content .codes input {
  color: #3D6E1D !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: #3D6E1D;
}

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

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

.ordering-widget-slider {
  background: #F8FBF6;
}
.ordering-widget-slider .ordering-widget-item {
  background: #CAEEA8;
}

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

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

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL2Nzcy90aGVtZS5zdHVkaW8tZW5mYW50c2NsaWsuY3NzIiwibWFwcGluZ3MiOiJBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFBRjtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFERjtBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFGRjtBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFIRjtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFKRjtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFMRjtBQVFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFORjtBQVNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFQRjtBQVVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFSRjtBQVdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFURjtBQVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFWRjtBQWFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFYRjtBQWNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFaRjtBQWVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFiRjtBQWdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBZEY7QUFpQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQWZGO0FDNUZBO0VDR0k7RUFDQTtFREZBLGNFSlc7QUhtR2Y7O0FDeEZBOzs7O0VDTkk7RUFDQTtFRFVBO0FENEZKOztBQ3pGQTs7RUNFSTtFQUNBO0FGNEZKOztBQ3ZGUTtFQUNJO0FEMEZaO0FDckZJO0VBQ0k7QUR1RlI7O0FDL0VBO0VDTEk7RUFDQTtBRndGSjs7QUM1RUE7RUFDSTtBRCtFSjtBQzdFSTtFQUNJO0FEK0VSOztBSW5JSTtFQUNJLGVDSVE7QUxrSWhCOztBSWpJSTtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJDTmU7RURPZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VGY0c7RUFDQTtFRWJIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUpxSUQ7QUlwSUM7RUFqQkc7SUFrQkM7SUFDTztFSnVJVjtBQUNGO0FJcElZO0VBQ0k7QUpzSWhCO0FJbElRO0VBQ0k7RUFDQTtFQUNQO0FKb0lMO0FJbElFO0VBQ2tCLGVEeENiO0FINEtQO0FJNUhZO0VBQ1YsbUJDN0NtQjtFRDhDbkI7RUFDQTtFQUNBO0FKOEhGO0FJNUhLO0VBQ0g7RUFDQSxtQkNyRHNCO0VEc0R0QjtFQUNBO0VBQ0E7QUo4SEY7O0FJdkhJO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUZoREc7RUFDQTtFRWlESDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKeUhEO0FJdkhDO0VBcEJHO0lBcUJRO0lBQ1A7RUowSEg7QUFDRjtBSXRIWTtFQUNWLGVDekZjO0FMaU5oQjtBSXBIUTtFQUNJO0VGaEdSO0VBQ0E7RUVpR1E7QUp1SFo7QUlsSFk7RUFDVixtQkNuR3VCO0VEb0d2QjtFQUNBO0VBQ0E7QUpvSEY7QUlsSEs7RUFDSDtFQUNBO0VBQ0E7RUFDQSxtQkM3R29CO0FMaU90QjtBSWxITTtFQUNILGVDbEhhO0FMc09oQjs7QUl6R0k7RUFDSTtFQUNBO0VGdEdKO0VBQ0E7RUV1R0k7QUo2R1I7QUkxR1k7RUFDSTtBSjRHaEI7QUl2R1k7RUFDSTtBSnlHaEI7QUlyR1E7RUFDSTtFQUNBO0FKdUdaO0FJcEdnQjtFQUNJO0FKc0dwQjtBSWpHZ0I7RUFDSTtBSm1HcEI7QUk5RlE7RUFDSTtFRm5LUjtFQUNBO0VFb0tRO0FKaUdaO0FJN0ZZO0VBQ0k7QUorRmhCO0FJNUZZO0VBQ0k7QUo4RmhCO0FJekZJO0VBQ0k7RUFDQTtFQUNBO0VGM0pKO0VBQ0E7RUU0Skk7QUo0RlI7QUl6Rlk7RUFDSTtBSjJGaEI7QUl0Rlk7RUFDSTtBSndGaEI7QUlwRlE7RUZ0TUo7RUFDQTtBRjZSSjtBSXBGUTtFQUNJO0VBQ0E7RUFDQTtBSnNGWjtBSW5GZ0I7RUFDSTtBSnFGcEI7QUloRmdCO0VBQ0k7QUprRnBCO0FJN0VnQjtFQUNJO0FKK0VwQjtBSTVFd0I7RUFDSTtBSjhFNUI7QUl2RVE7RUFDSTtFQUNBO0VBQ0E7QUp5RVo7QUlyRVk7RUFDSTtFQUNBO0FKdUVoQjtBSXBFb0I7RUFDSTtBSnNFeEI7QUlqRVk7RUFDSTtBSm1FaEI7QUk5REk7RUFDSTtFRnRPSjtFQUNBO0VFdU9JO0FKaUVSO0FJN0RnQjtFQUNJO0VBQ0E7QUorRHBCO0FJMURRO0VBQ0k7RUFDQTtBSjREWjtBSXpEZ0I7RUFDSTtFQUNBO0FKMkRwQjtBSXREUTtFQUNJO0VBQ0E7QUp3RFo7QUlyRGdCO0VBQ0k7RUFDQTtBSnVEcEI7QUlqRFk7RUFDSTtFQUNBO0FKbURoQjtBSTlDSTtFQUNJO0VGL1NKO0VBQ0E7RUVnVEksY0R0VE87QUh1V2Y7QUk5Q1k7RUZwU1I7RUFDQTtBRnFWSjtBSTdDUTtFQUNJO0VBQ0E7QUorQ1o7QUk1Q2dCO0VBQ0k7RUFDQTtBSjhDcEI7QUl4Q0k7RUFDSTtBSjBDUjtBSXZDWTtFQUNJO0FKeUNoQjtBSXJDUTtFQUNJO0FKdUNaO0FJcENRO0VBQ0k7QUpzQ1o7QUlsQ0k7RUFDSTtFQUNBO0FKb0NSO0FJakNZO0VBQ0k7QUptQ2hCO0FJL0JRO0VBQ0k7RUFDQTtBSmlDWjtBSTlCZ0I7RUFDSTtBSmdDcEI7QUkzQlE7RUFDSTtBSjZCWjs7QUlyQkk7O0VGdFhBO0VBQ0E7RUV1WEk7QUowQlI7QUl4QlE7O0VBQ0k7QUoyQlo7QUloQ0k7O0VBUUk7QUo0QlI7QUkzQlE7O0VBQ0k7RUFDQTtBSjhCWjtBSXZCZ0I7OztFQUNJO0FKMkJwQjtBSWhEQTs7RUEyQkk7QUp5Qko7QUl2QlE7O0VBQ0k7QUowQlo7QUl4Qlk7O0VBQ0k7RUFDQTtBSjJCaEI7QUlwQlk7O0VBQ0k7RUFDQTtBSnVCaEI7QUlqQmdCOztFQUVJO0FKbUJwQjs7QUlUSTs7RUZqYkE7RUFDQTtFRWtiSSxjRHhiTztBSHNjZjtBSVpROztFQUNJO0FKZVo7QUlwQkk7O0VBUUk7QUpnQlI7QUlmUTs7RUFDSTtFQUNBO0FKa0JaO0FJZlE7O0VBQ0k7QUprQlo7QUlYZ0I7OztFQUNJO0FKZXBCO0FJeENBOztFQStCSTtBSmFKO0FJWFE7O0VBQ0k7QUpjWjtBSVpZOztFQUNJO0VBQ0E7QUplaEI7QUlSWTs7RUFDSTtBSldoQjtBSUxnQjs7RUFFSTtBSk9wQjs7QUlBQTtFQUNJO0FKR0o7QUlESTtFQUNJO0VBQ0E7QUpHUjs7QUlDQTtFQUNJO0FKRUo7O0FJRUE7RUFDSTtFRjNlQTtFQUNBO0VFNGVBLGNEbGdCVztFQ21nQlgsb0JEbmdCVztFQ29nQlg7QUpFSjtBSUFJO0VBRUk7RUFDQTtBSkNSO0FJR1E7RUZ4Z0JKO0VBQ0E7RUV5Z0JRLGNEL2dCRztBSCtnQmY7QUlJWTtFQUNJO0VBQ0E7QUpGaEI7QUlNUTtFQUNJO0VBQ0E7QUpKWjtBSU1ZO0VBQ0k7QUpKaEI7QUlRUTtFQUNJO0FKTlo7QUlRWTtFQUNJO0FKTmhCO0FJVWdCO0VBQ0k7QUpScEI7QUlXd0I7RUFDSTtBSlQ1QjtBSWNnQjtFQUNJO0FKWnBCO0FJaUJRO0VBQ0k7RUFDQTtFQUNBO0FKZlo7QUlpQlk7RUFDSTtBSmZoQjtBSWtCWTtFQUNJO0FKaEJoQjtBSW1CWTtFQUNJO0FKakJoQjtBSW1CZ0I7RUFDSTtBSmpCcEI7QUlvQmdCO0VBQ0k7QUpsQnBCO0FJb0JvQjtFQUNJO0VBQ0E7QUpsQnhCOztBSTRCSTtFQUNJO0VBQ0E7RUYxa0JKO0VBQ0E7RUUya0JJO0FKeEJSO0FJMEJRO0VGOWxCSjtFQUNBO0VFK2xCUTtFQUNBO0FKdkJaO0FJMEJRO0VBQ0k7QUp4Qlo7QUkwQlk7RUFDSTtBSnhCaEI7O0FJZ0NJO0VGaG5CQTtFQUNBO0VFaW5CSTtBSjVCUjs7QUlpQ0k7RUFDSTtBSjlCUjtBSWdDUTtFRjFtQko7RUFDQTtFRTJtQlE7QUo3Qlo7QUkrQlk7RUY5bkJSO0VBQ0E7QUZrbUJKO0FJaUNZO0VBQ0k7QUovQmhCO0FJb0NJO0VBQ0k7QUpsQ1I7QUlvQ1E7RUY3bkJKO0VBQ0E7RUU4bkJRLGNEbnBCQTtBSGtuQlo7QUltQ1k7RUFDSTtBSmpDaEI7QUlvQ1k7RUFDSTtBSmxDaEI7QUl3Q1E7RUFDSTtBSnRDWjs7QU01bkJJO0VBQ0k7QU4rbkJSO0FNN25CUTtFQUNJO0FOK25CWjtBTTVuQlE7RUFDSTtFQUNBO0VBQ0E7QU44bkJaO0FNNW5CWTtFQUNJO0FOOG5CaEI7QU0xbkJnQjtFQUNJO0FONG5CcEI7QU10bkJZO0VBQ0k7QU53bkJoQjtBTXBuQm9CO0VBQ0k7QU5zbkJ4QjtBTWxuQmdCO0VBQ0k7RUFDQTtBTm9uQnBCO0FNam5Cd0I7RUFDSTtBTm1uQjVCO0FNM21CWTtFQUNJO0VBQ0E7RUFDQTtBTjZtQmhCO0FNM21CZ0I7RUFDSTtBTjZtQnBCO0FNMW1Cd0I7RUFDSTtBTjRtQjVCO0FNcm1Cb0I7RUFDSTtBTnVtQnhCO0FNcm1Cd0I7RUFDSTtBTnVtQjVCO0FNaG1CWTtFQUNJO0FOa21CaEI7QU05bEJZO0VBQ0k7QU5nbUJoQjtBTTVsQmdCO0VBQ0k7QU44bEJwQjtBTTVsQm9CO0VBQ0k7QU44bEJ4QjtBTzdtQkk7RUR5Qlk7SUFDSTtFTnVsQmxCO0FBQ0Y7O0FROXJCQTtFQUNJO0FSaXNCSjs7QVNoc0JRO0VQb0JKO0VBQ0E7QUZnckJKO0FTL3JCUTtFUGNKO0VBQ0E7QUZvckJKO0FPL25CSTtFRTlESTtJQUNJO0VUZ3NCVjtFUzlyQlU7SVBLUjtJQUNBO0VGNHJCRjtBQUNGOztBVXB0QkE7RUFDSTtBVnV0Qko7QVV0dEJJO0VBQ0k7QVZ3dEJSO0FVcnRCUTtFUkFKO0VBQ0E7QUZ3dEJKO0FVcHRCSTtFUldBO0VBQ0E7QUY0c0JKO0FVcHRCSTtFQUNJO0FWc3RCUjtBVWx0QlE7Ozs7RVJFSjtFQUNBO0FGc3RCSjtBVWp0Qlk7RUFHSTtBVml0QmhCO0FVN3NCUTtFQUNJLGNQbENBO0FIaXZCWjtBVTVzQmdCO0VBQ0k7QVY4c0JwQjtBVXZzQlE7RUFDSSxjUC9DRztBSHd2QmY7QVV0c0JRO0VBQ0ksY1BuREc7QUgydkJmOztBVzN2Qkk7RUFDSTtFQUNBO0FYOHZCUjtBVzV2Qkk7RUFDSTtFQUNBO0FYOHZCUjtBVzN2Qkk7RUFDSTtBWDZ2QlI7QVd6dkJRO0VBQ0ksY1JmRztBSDB3QmY7QVd2dkJZO0VBQ0k7QVh5dkJoQjtBV3R2Qlk7RVRGUjtFQUNBO0FGMnZCSjtBVy91QmdCO0VUR1o7RUFDQTtBRit1Qko7QU8xc0JJO0VJakNJO0lBQ0k7RVg4dUJWO0VXNXVCTTtJQUNJO0VYOHVCVjtBQUNGOztBWTd4Qkk7RUFDSTtBWmd5QlI7QVk1eEJRO0VBQ0ksY1RORztBSG95QmY7QVl0eEJvQjtFQUNJO0Fad3hCeEI7QVlseEJRO0VBQ0k7QVpveEJaO0FZanhCUTtFVllKO0VBQ0E7QUZ3d0JKOztBYS95QkE7RUFDSTtBYmt6Qko7QWFoekJJO0VBQ0k7QWJrekJSO0FhaHpCUTtFQUNJO0Fia3pCWjs7QWN2ekJDOzs7RUFJSSxlVENnQjtBTHd6QnJCO0FjdnpCQztFQUNJO0FkeXpCTDtBY3R6QkM7OztFQUdJO0Fkd3pCTDtBY256QkM7OztFQUdJO0FkcXpCTDtBY2p6QkM7RUFDSTtBZG16Qkw7QWMveUJJO0VBQ0k7QWRpekJSOztBZWgxQlE7RUFDSTtBZm0xQlo7QWUvMEJJO0VBQ0k7QWZpMUJSO0FlNzBCUTtFYk5KO0VBQ0E7QUZzMUJKO0FleDBCSTtFQUNJO0FmMDBCUjtBZXgwQlE7RUFDSTtFQUNBO0FmMDBCWjtBZXQwQkk7RWJRQTtFQUNBO0FGaTBCSjtBZXQwQkk7RUFDSTtBZncwQlI7O0FnQngyQlk7RWRtQ1I7RUFDQTtBRnkwQko7QWdCdjJCWTtFZDZCUjtFQUNBO0VjNUJZO0FoQjAyQmhCO0FnQnQyQlE7RUFDSTtBaEJ3MkJaO0FnQm4yQlE7RWRDSjtFQUNBO0FGcTJCSjtBZ0JqMkJRO0VkTEo7RUFDQTtBRnkyQko7O0FpQmg0QkE7RUFDSTtBakJtNEJKO0FpQi8zQlk7RWZpQlI7RUFDQTtBRmkzQko7QWlCNzNCSTtFQUNJO0FqQiszQlI7QWlCMzNCUTtFQUNJO0FqQjYzQlo7O0FrQjk0QkE7RUFDSTtBbEJpNUJKO0FrQi80Qkk7RUFDSTtBbEJpNUJSO0FrQjk0Qlk7RUFDSTtBbEJnNUJoQjtBa0IzNEJZO0VoQnlCUjtFQUNBO0FGcTNCSjs7QW1CeDVCZ0I7RUFDSTtBbkIyNUJwQjtBbUJ4NUJnQjtFakJjWjtFQUNBO0VpQmJnQixjaEJUTDtBSG82QmY7QW1CcjVCZ0I7RWpCTVo7RUFDQTtFaUJMZ0IsY2hCZmI7QUh1NkJQO0FtQnA1Qlk7RUFDVixjaEJ0QmE7QUg0NkJmO0FtQnI1QmdCO0VBQ0k7QW5CdTVCcEI7QW1CbjVCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuQnE1QmhCO0FtQmw1Qlk7RUFDSTtBbkJvNUJoQjtBbUJqNUJZO0VBQ0ksY2hCdENUO0FIeTdCUDtBT2gzQkk7RVkzQlk7SUFDSTtFbkI4NEJsQjtFbUIzNEJrQjtJQUNJO0VuQjY0QnRCO0VtQno0QmM7SUFDSTtFbkIyNEJsQjtBQUNGOztBb0J0OEJJO0VBQ0k7QXBCeThCUjtBb0J0OEJJO0VBQ0k7QXBCdzhCUjs7QXFCNThCUTtFQUNJO0FyQis4Qlo7QXFCNzhCWTtFQUNJO0FyQis4QmhCO0FxQjc4QmdCO0VuQmNaO0VBQ0E7RW1CYmdCLGNsQlRMO0FIeTlCZjtBcUIzOEJRO0VBQ0k7RUFDQTtBckI2OEJaO0FxQjM4Qlk7RUFDSTtFQUNBO0FyQjY4QmhCO0FxQjM4QmdCO0VBQ0kseUJsQnJCYjtBSGsrQlA7O0FzQnArQkk7RUFDSTtBdEJ1K0JSO0FzQnArQkk7RUFDSTtBdEJzK0JSOztBdUIxK0JRO0VBQ0k7QXZCNitCWjtBdUIzK0JZO0VBQ0k7QXZCNitCaEI7QXVCMytCZ0I7RUFDSTtBdkI2K0JwQjtBdUJ6K0JZO0VBQ0k7QXZCMitCaEI7QXVCeCtCWTtFQUNJO0VBQ2Q7QXZCMCtCRjs7QXdCMy9CSTtFQUNILGNuQktlO0FMeS9CaEI7QXdCNy9CUTtFQUNIO0VBQ0E7RUFDQTtFQUNPO0F4QisvQlo7QXdCNS9CUTtFQUNJLGNuQkxTO0FMbWdDckI7QXdCNy9CWTtFQUNWLGFuQlBtQjtBTHNnQ3JCOztBeUI3Z0NBO0VBQ0k7QXpCZ2hDSjtBeUI5Z0NJO0VBQ0g7QXpCZ2hDRDtBeUI3Z0NJO0V2QmVBO0VBQ0E7QUZpZ0NKO0F5QjNnQ1k7RUFDSSxldEJiRDtBSDBoQ2Y7QXlCcmdDWTtFQUNWO0VBQ0E7RUFDQTtBekJ1Z0NGO0F5QmxnQ0k7RUFDSCxjcEJ2QmU7RW9Cd0JmO0F6Qm9nQ0Q7QXlCbGdDUTtFQUNIO0VBQ0E7RUFDQTtBekJvZ0NMO0F5QmxnQ0M7RUFDSSxtQnBCaENXO0FMb2lDaEI7QXlCaGdDSTtFQUNILG1CcEJyQ2U7RW9Cc0NmO0F6QmtnQ0Q7QXlCaGdDQztFQUNJO0F6QmtnQ0w7QXlCaGdDQztFQUNJLG1CcEI1Q1c7QUw4aUNoQjs7QTBCcGpDUTtFQUNJO0ExQnVqQ1o7QTBCcGpDUTtFQUNJO0ExQnNqQ1o7QTBCbGpDSTtFQUNJLHlCckJEaUI7QUxxakN6Qjs7QTJCL2pDSTtFQUNJO0EzQmtrQ1I7O0E0QnBrQ0E7RUFDSTtFQUNBO0E1QnVrQ0o7QTRCbmtDZ0I7RUFDSSxlekJOTDtBSDJrQ2Y7O0E2QjVrQ0E7RUFDSTtFQUNBO0VBQ0E7QTdCK2tDSjtBNkI3a0NJO0VBQ0g7QTdCK2tDRDtBNkI1a0NJO0VBQ0gsYzFCUE07RTBCUU47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCOGtDRDtBNkIza0NnQjtFQUNJLGMxQm5CUjtFMEJvQk47QTdCNmtDTjtBNkJ6a0NvQjtFQUNqQjtFQUNBLGMxQjNCWTtBSHNtQ2Y7QTZCMWtDRztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUIxQnBDUTtBSGduQ2Y7QTZCcmtDTTtFQUNIO0VBQ0EsYzFCN0NZO0FIb25DZjtBNkJqa0M0QjtFQUNJLGUxQnBEakI7QUh1bkNmO0E2QjdqQ2dCO0VBRVY7QTdCOGpDTjtBTy9pQ0k7RXNCakJZO0lBSWI7RTdCZ2tDRDtBQUNGO0E2QnJrQ2dCO0VBT0k7QTdCaWtDcEI7QTZCOWpDZ0I7RUFDVjtBN0Jna0NOO0E2QjdqQ3dCO0VBQ0k7QTdCK2pDNUI7QU83akNJO0VzQllZO0lBQ0k7SUFDQTtFN0JvakNsQjtFNkJoakNzQjtJQUNJO0lBQ0E7RTdCa2pDMUI7QUFDRjtBOEJucENBO0VBQ0kseUIzQktZO0FIZ3BDaEI7QThCcHBDSTtFQUNILG1CekJPcUI7RXlCTnJCO0E5QnNwQ0Q7O0E4QmxwQ0E7RUFDSTtBOUJxcENKOztBOEJscENBO0VBQ0k7QTlCcXBDSjs7QStCbHFDQTtFQUNJLG1CNUJLWTtFNEJKWjtBL0JxcUNKO0ErQm5xQ0k7RUFDSSxjNUJISTtBSHdxQ1o7QStCcHFDQztFQUNJLGM1QkxPO0U0Qk1QO0VBQ0E7QS9Cc3FDTDtBK0JqcUNLO0VBQ0gsZTVCYlU7QUhnckNaO0ErQmpxQ0s7RUFDSCxlNUJoQlU7QUhtckNaO0ErQmpxQ0s7RUFDSCxlNUJuQlU7QUhzckNaO0ErQjlwQ1k7RUFDSTtBL0JncUNoQjtBTzVuQ0k7RXdCL0JDO0lBQ0gsbUIxQnRCdUI7RUxvckN2QjtFK0I3cENBO0lBQ0ksbUIxQnhCbUI7RUx1ckN2QjtBQUNGOztBZ0Nuc0NBO0VBQ0k7RUFDQTtBaENzc0NKO0FnQ25zQ1E7RUFDSCxjN0JMVTtBSDBzQ2Y7QWdDanNDWTtFQUNJO0FoQ21zQ2hCO0FnQ2pzQ2dCO0VBQ0ksYzdCWGI7QUg4c0NQO0FnQ2pzQ2dCO0VBQ1YsYzdCaEJTO0FIbXRDZjtBZ0Nqc0NnQjtFOUJHWjtFQUNBO0U4QkZnQjtBaENvc0NwQjtBZ0Noc0M0QjtFQUNJO0FoQ2tzQ2hDO0FnQzlyQ29CO0VBQ0k7RTlCT3BCO0VBQ0E7QUYwckNKO0FnQzdyQ2dCO0VBQ0k7QWhDK3JDcEI7QWdDMXJDd0I7RUFDSTtBaEM0ckM1QjtBZ0NqckNRO0U5QmhCSjtFQUNBO0U4QmlCSztFQUNQLGM3QnhEYTtBSDR1Q2Y7QWdDanJDUTtFOUJ0Q0o7RUFDQTtFOEJ1Q0MsYzdCNURPO0FIZ3ZDWjtBT3RxQ0k7RXlCNUVKO0lBbUVRO0VoQ21yQ047RWdDanJDTTtJQUNJO0VoQ21yQ1Y7RWdDanJDVTtJQUNJO0VoQ21yQ2Q7QUFDRjtBT2pyQ0k7RTBCNUVKO0lBRVE7SUFDUDtJQUNBO0lBQ0E7RWpDK3ZDQztFaUM5dkNNO0lBQ0k7RWpDZ3dDVjtFaUM5dkNVO0kvQjZCUjtJQUNBO0VGb3VDRjtFaUM5dkNVO0kvQlNSO0lBQ0E7RUZ3dkNGO0VpQzd2Q0Q7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqQzh2Q0g7RWlDN3ZDRztJQUNILGM1QnhCYztJNEJ5QmQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFakMrdkNBO0VpQzd2Q0c7SUFDSDtFakMrdkNBO0VpQzl2Q0E7SUFDSSxlNUJsQ1U7RUxreUNkO0VpQzl2Q0E7SUFDSSxlNUJyQ1U7RUxxeUNkO0VpQzV2Q0c7SUFDSCxtQjlCN0NXO0k4QjhDWDtJQUNBO0lBQ0EsYzVCN0NjO0VMMnlDZDtFaUN6dkNEO0lBQ0ksbUI5QnREUTtJOEJ1RFI7SUFDQTtJQUNBLGM1QnREVztFTGl6Q2Q7QUFDRjs7QWtDMXpDQTtFQUNJO0FsQzZ6Q0o7QWtDM3pDSTtFQUNGLG1CL0JFYztBSDJ6Q2hCO0FrQ3p6Q2dCO0VBQ0k7QWxDMnpDcEI7QWtDcnpDWTtFQUNJLHlCL0JYSDtFK0JZWDtBbEN1ekNGO0FrQ2x6Q1k7RUFDSTtBbENvekNoQjtBa0NsekNnQjtFQUNJO0FsQ296Q3BCO0FrQ2h6Q29CO0VBQ0k7QWxDa3pDeEI7QWtDN3lDWTtFQUNJO0VoQ2ZaO0VBQ0E7QUYrekNKO0FPMXdDSTtFMkIvQkk7SUFDSDtFbEM0eUNIO0VrQ3p5Q2tCO0lBQ0k7RWxDMnlDdEI7RWtDenlDc0I7SWhDOUNwQjtJQUNBO0VGMDFDRjtFa0N2eUNzQjtJQUNJO0lBQ0E7RWxDeXlDMUI7QUFDRjtBbUN0MkNBO0VBQ0k7QW5DdzJDSjtBbUN0MkNJO0VBQ0k7QW5DdzJDUjtBbUNwMkNRO0VBQ0k7QW5DczJDWjtBT255Q0k7RTRCNUVKO0lBY1E7RW5DcTJDTjtBQUNGO0FvQ3AzQ0E7RUFDSTtBcENzM0NKO0FvQ3AzQ1E7RUFDSSx5Qi9CRVk7RStCRFo7QXBDczNDWjtBb0NwM0NZO0VBQ0k7QXBDczNDaEI7QW9DcDNDZ0I7RUFDSTtBcENzM0NwQjtBb0NoM0NJO0VBQ0kseUIvQlRpQjtFK0JVakI7QXBDazNDUjtBb0NoM0NRO0VsQ0NKO0VBQ0E7QUZrM0NKO0FvQzEyQ29CO0VBQ0k7QXBDNDJDeEI7QW9DMTJDb0I7RUFDSTtBcEM0MkN4QjtBb0N6MkNvQjtFQUNJO0FwQzIyQ3hCO0FvQ3AyQ0k7RWxDeEJBO0VBQ0E7QUYrM0NKO0FvQ24yQ1E7RWxDYko7RUFDQTtBRm0zQ0o7QU85MENJO0U2QmxCUTtJbENwQ1I7SUFDQTtFRnc0Q0Y7QUFDRjs7QXFDaDZDQTtFQUNJO0FyQ202Q0o7QXFDaDZDUTs7RUFFSTtBckNrNkNaO0FxQzU1Q0k7RUFDSTtBckM4NUNSO0FxQzM1Q1k7RUFDSTtBckM2NUNoQjtBcUMxNUNZO0VBQ0k7QXJDNDVDaEI7QXFDeDVDUTtFQUNJO0FyQzA1Q1o7QXFDeDVDWTtFQUNJO0FyQzA1Q2hCO0FxQ3I1Q0k7RUFDSCxjbENqQ1c7QUh3N0NaO0FxQ3I1Q1k7RUFDSSxjbENyQ0Q7QUg0N0NmO0FxQ3I1Q0s7RUFDVyxjbEN4Q0Q7QUgrN0NmO0FxQ241Q1E7RUFDSTtFQUNBO0FyQ3E1Q1o7O0FzQ3A4Q0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDdThDSjtBc0NuOENJO0VBQ0g7QXRDcThDRDs7QXNDLzdDQTtFQUVJO0F0Q2k4Q0o7QXNDOTdDQztFQUNJLGNqQzNCVztBTDI5Q2hCO0FzQzc3Q0M7RUFDSSxjakMvQlc7QUw4OUNoQjtBc0N6OENBO0VBYUk7QXRDKzdDSjs7QXNDNTdDQTtFQUVJLG1CakNwQ3FCO0FMaytDekI7QXNDNTdDSTtFQUNILGNqQzFDZTtBTHcrQ2hCO0FzQzM3Q0k7RUFDSCxjakM5Q2U7QUwyK0NoQjs7QXNDcDdDSTtFQUNJO0VBQ1A7RUFDQTtBdEN1N0NEO0FzQ3I3Q0k7RUFDSDtBdEN1N0NEO0FzQ3A3Q0k7RUFDSCxjbkN2RVc7RW1Dd0VYO0F0Q3M3Q0Q7QXNDcjdDQztFQUNJO0VBQ0E7QXRDdTdDTDtBc0NyN0NZO0VBQ1Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5Qm5DdEZhO0FINmdEZjtBc0NsN0NDO0VBQ0ksY25DNUZVO0FIZ2hEZjtBc0NqN0NDO0VBQ0ksY25DaEdVO0FIbWhEZjtBc0NoN0NDO0VBQ0ksY25DbEdFO0FIb2hEUDtBc0MvNkNJO0VBQ0gseUJuQ3hHYztBSHloRGY7QXNDOTlDQTtFQWlESSx5QmpDckdZO0VpQ3NHWjtFQUNBO0VBQ0E7RUFDQTtBdENnN0NKO0FzQy82Q0k7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDaTdDRDtBc0NoN0NDO0VBQ0k7QXRDazdDTDtBc0NoN0NDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CakM3SFk7QUwraURoQjtBc0NoN0NJO0VBQ0k7RUFDQTtBdENrN0NSO0FzQ2g3Q1E7RUFDSTtBdENrN0NaO0FzQzk2Q0k7RUFDSSxjbkM1SUs7QUg0akRiO0FzQy82Q1E7RUFDSTtBdENpN0NaO0FzQzc2Q0k7RUFDSTtFQUNBO0F0Qys2Q1I7QXNDNTZDUTtFQUNJLGNqQ3JKSTtBTG1rRGhCO0FzQ3A3Q0k7RUFVSTtBdEM2NkNSO0FzQzM2Q1E7RUFDSTtBdEM2NkNaO0FzQzU2Q1k7RUFDSTtBdEM4NkNoQjtBc0NuNkNnQjtFcENoS1o7RUFDQTtFb0NpS0U7RUFDQTtFQUNBO0VBQ0E7QXRDczZDTjtBc0NyNkNvQjtFQUNJO0F0Q3U2Q3hCO0FzQ2w2Q29CO0VBQ2pCO0F0Q282Q0g7QXNDajZDNEI7RUFDSTtBdENtNkNoQztBc0M3NUNvQjtFQUNJO0VBQ0E7QXRDKzVDeEI7QXNDNTVDRTtFQUNJO0VBQ0E7QXRDODVDTjs7QXVDN21EQTtFQUNJO0VBQ0E7QXZDZ25ESjs7QXdDbG5EQTtFQUNJO0VBQ0E7QXhDcW5ESjtBTzNpREk7RWlDNUVKO0lBS0M7RXhDc25EQztBQUNGO0F3Q3BuREk7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDc25ERDtBd0NwbkRLO0VBQ0gsZW5DVGM7QUwrbkRoQjtBd0NqbkRJO0VBQ0g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeENtbkREOztBeUM5b0RBO0VBQ0k7QXpDaXBESjtBT3RrREk7RWtDeEVIO0lBQ0kseUJwQ01vQjtFTDJvRHZCO0FBQ0Y7QXlDdnBEQTtFQVVJLGN0Q1RXO0FIeXBEZjtBeUM5b0RJO0VBQ0g7RUFDQTtBekNncEREO0F5QzFvRFE7RUFDSTtFQUNBO0VBQ0E7QXpDNG9EWjtBeUN6b0RnQjtFQUNJO0F6QzJvRHBCO0F5Q25vRFk7RUFDSSxtQnBDMUJNO0FMK3BEdEI7QXlDam9EUTtFQUNJO0F6Q21vRFo7QXlDbG9ESztFQUNIO0F6Q29vREY7QXlDam9ERTtFQUNJO0VBQ0E7RUFDQTtBekNtb0ROO0F5Q2pvREU7RUFDSTtBekNtb0ROO0F5QzVuRFE7RUFDRztBekM4bkRYO0F5QzVuRFk7RUFDSTtFQUNkO0VBQ0E7QXpDOG5ERjtBeUN6bkRFO0VBQ0k7QXpDMm5ETjtBeUN6bkRFO0VBQ0k7QXpDMm5ETjtBeUN6bkRFO0VBQ0k7QXpDMm5ETjtBeUN6bkRFO0VBQ0k7QXpDMm5ETjtBeUN4bkRnQjtFQUNJO0F6QzBuRHBCO0F5Q3ZuRGdCO0VBQ0k7RXZDbERoQjtFQUNBO0V1Q21EZ0I7QXpDMG5EcEI7O0EwQ2x0RFE7RUFDSSx5QnZDRkc7QUh1dERmO0EwQ2p0RFk7RUFDVixjdkNQYTtBSDB0RGY7O0EyQ3Z0RGdCO0VBQ0k7QTNDMHREcEI7QTJDbnREZ0I7RUFDSTtBM0NxdERwQjtBMkNodERRO0VBQ0k7QTNDa3REWjtBMkMvc0RRO0VBQ0k7QTNDaXREWjtBMkM5c0RRO0VBQ0k7RUFDQTtBM0NndERaO0EyQzdzRFE7RUFDSTtFQUNBO0EzQytzRFo7QTJDNXNEUTtFekNkSjtFQUNBO0FGNnRESjtBMkMzc0RZO0VBQ0k7QTNDNnNEaEI7QTJDMXNEWTtFQUNJO0EzQzRzRGhCO0EyQzFzRFk7RUFDSTtBM0M0c0RoQjtBMkMxc0RZO0VBQ0k7QTNDNHNEaEI7QTJDMXNEWTtFQUNJO0EzQzRzRGhCO0EyQzFzRFk7RUFDSTtBM0M0c0RoQjs7QTRDcndEQTtFQUNJO0E1Q3d3REo7QTRDdHdESTtFMUNrQkE7RUFDQTtBRnV2REo7QTRDcndEUTtFQUNJO0E1Q3V3RFo7QTRDcHdEUTtFQUNJO0E1Q3N3RFo7QTRDcHdEUTtFQUNJO0E1Q3N3RFo7QTRDcHdEUTtFQUNJO0E1Q3N3RFo7QTRDcHdEUTtFQUNJO0E1Q3N3RFo7QTRDcHdEUTtFQUNJO0E1Q3N3RFo7O0E2Q2h5REE7RUFDSSxtQnhDVXFCO0FMeXhEekI7QTZDbHlESTtFQUNILG1CeENPcUI7QUw2eER0Qjs7QThDdnlEQTtFQUNJO0E5QzB5REo7QThDeHlESTtFQUNJO0E5QzB5RFI7QThDeHlEUTtFQUNJO0E5QzB5RFo7O0ErQ2p6REE7RUFDSTtBL0NvekRKO0ErQ2x6REk7RUFDSTtBL0NvekRSLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy90aGVtZS5zdHVkaW8tZW5mYW50c2NsaWsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9hcHAuYmFzZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL19jb25maWcvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zY3NzL19jb25maWcvX2Jvb3RzdHJhcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL2FwcC51aS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL19jb25maWcvX2NvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtYnJhbmNoL2xvY2F0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2FkZC1jaGlsZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1jb25maXJtYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hlY2tvdXQtZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1yZXZpZXcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hpbGQtdGlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jbHViLXN1YnNjcmlwdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9sZXR0ZXItYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3BhY2thZ2UtcGFydC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9zdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3N1cnZleS1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvcG9wdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvZ3JhZGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvcGhvbmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9wb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9kb3dubG9hZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvbG9naW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL3BhY2thZ2UtdGlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2FuaW1hdGVkLWN1cnZlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtYnJhbmNoL2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2NoZWNrb3V0LXByb2Nlc3MvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtcHJvY2Vzcy9wYWdlLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvYXNpZGUtY3VzdG9taXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY3VzdG9taXplL2hlYWRlci1jdXN0b21pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvbW9iaWxlLW5hdi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9wcmV2aWV3LWN1c3RvbWl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS90b29scy1jdXN0b21pemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZWFkZXItY2F0ZWdvcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLWRlZmF1bHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLWhvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLXdlbGNvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9pbWFnZS10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvbWVzc2FnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9ub3RpY2UtYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvb3JkZXJpbmctd2lkZ2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvdGV4dC1wYWdlLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYWdlcy9jdXN0b21pemUtcGFnZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIDEuIEltcG9ydCBmb250c1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVRoaW4udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogMTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1UaGluSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1MaWdodEl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1NZWRpdW1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1TZW1pQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLVNlbWlCb2xkSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1BvcHBpbnMtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUJvbGRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1FeHRyYUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1FeHRyYUJvbGRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvUG9wcGlucy1CbGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9Qb3BwaW5zLUJsYWNrSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vLyAyLiBJbXBvcnQgYWxsIGZ1bmN0aW9uLCBtaXhpbnMgYW5kIHZhcmlhYmxlcyBmcm9tIGNvbW1vbiBzdHlsZXNcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL3Njc3MvYXBwLmZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9zY3NzL19jb25maWcvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL3Njc3MvX2NvbmZpZy9ib290c3RyYXBcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvc2Nzcy9fY29uZmlnL2Vhc2luZ1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3V0aWxpdGllc1wiO1xuXG4vLyAzLiBJbmNsdWRlIGFueSBkZWZhdWx0IHZhcmlhYmxlIG92ZXJyaWRlcyBoZXJlXG5AaW1wb3J0IFwiYXBwLmNvbmZpZ1wiO1xuXG4vLyA0LiBBZGQgYWRkaXRpb25hbCBjdXN0b20gY29kZSBoZXJlXG5AaW1wb3J0IFwiYXBwLmJhc2VcIjtcbkBpbXBvcnQgXCJhcHAudWlcIjtcbi8vO1xuQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtYnJhbmNoL2xvY2F0aW9ucy5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvYWRkLWNoaWxkLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY2hlY2tvdXQtcHJvY2Vzcy9jaGVja291dC1jb25maXJtYXRpb24uc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoZWNrb3V0LWZvcm0uc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2NoZWNrb3V0LXJldmlldy5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2hpbGQtdGlsZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3MvY2x1Yi1zdWJzY3JpcHRpb24uc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL2xldHRlci1hbmltYXRpb24uc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jaGVja291dC1wcm9jZXNzL3BhY2thZ2UtcGFydC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3Mvc3VtbWFyeS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2NoZWNrb3V0LXByb2Nlc3Mvc3VydmV5LWZvcm0uc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvcG9wdXAuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvYmFja2dyb3VuZC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2N1c3RvbWl6ZS90b29scy9ncmFkZXMuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9jdXN0b21pemUvdG9vbHMvbGF5b3V0LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL3Bob25lLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvY3VzdG9taXplL3Rvb2xzL3Bvc2Uuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvbW9kdWxlcy9kb3dubG9hZC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9tb2R1bGVzL2xvZ2luLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL21vZHVsZXMvcGFja2FnZS10aWxlLnNjc3NcIjtcbkBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9hbmltYXRlZC1jdXJ2ZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jYXRlZ29yeS9wYWNrYWdlLWxpc3Rpbmcuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvY2hlY2tvdXQtYnJhbmNoL2hlYWRlci5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1wcm9jZXNzL2hlYWRlci5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jaGVja291dC1wcm9jZXNzL3BhZ2UtY29udGVudC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvYXNpZGUtY3VzdG9taXplLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9oZWFkZXItY3VzdG9taXplLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9tb2JpbGUtbmF2LnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2N1c3RvbWl6ZS9wcmV2aWV3LWN1c3RvbWl6ZS5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9jdXN0b21pemUvdG9vbHMtY3VzdG9taXplLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2Zvb3Rlci5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZWFkZXItY2F0ZWdvcnkuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVhZGVyLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2hlcm9zL2hlcm8tZGVmYXVsdC5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9oZXJvcy9oZXJvLWhvbWUuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvaGVyb3MvaGVyby13ZWxjb21lLnNjc3NcIjsgQGltcG9ydCBcIi92YXIvd3d3L2h0bWwvZXByb29mLWRlbW8yL3Jlc291cmNlcy90aGVtZXMvc3R1ZGlvLWVuZmFudHNjbGlrL2Fzc2V0cy9zY3NzL3BhcnRpYWxzL3NlY3Rpb25zL2ltYWdlLXRleHQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvbWVzc2FnZXMuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvbm90aWNlLWJhci5zY3NzXCI7IEBpbXBvcnQgXCIvdmFyL3d3dy9odG1sL2Vwcm9vZi1kZW1vMi9yZXNvdXJjZXMvdGhlbWVzL3N0dWRpby1lbmZhbnRzY2xpay9hc3NldHMvc2Nzcy9wYXJ0aWFscy9zZWN0aW9ucy9vcmRlcmluZy13aWRnZXQuc2Nzc1wiOyBAaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFydGlhbHMvc2VjdGlvbnMvdGV4dC1wYWdlLWNvbnRlbnQuc2Nzc1wiO1xuLy87XG5AaW1wb3J0IFwiL3Zhci93d3cvaHRtbC9lcHJvb2YtZGVtbzIvcmVzb3VyY2VzL3RoZW1lcy9zdHVkaW8tZW5mYW50c2NsaWsvYXNzZXRzL3Njc3MvcGFnZXMvY3VzdG9taXplLXBhZ2Uuc2Nzc1wiO1xuIiwiLy9cbi8vIFJvb3Qgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYm9keSB7XG4gICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xufVxuXG4vL1xuLy8gSGVhZGluZyBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCAubGlrZS1oMSxcbmgyLCAubGlrZS1oMixcbmgzLCAubGlrZS1oMyxcbmg0LCAubGlrZS1oNCB7XG4gICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbmg1LCAubGlrZS1oNSxcbmg2LCAubGlrZS1oNiB7XG4gICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG59XG5cbi50aXRsZS13aXRoLWxpbmV7XG5cbiAgICAmLnllbGxvd3tcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGl0bGUtbGluZS1hbHQpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRpdGxlLWxpbmUpO1xuICAgIH1cbn1cblxuLy9cbi8vIFRleHQgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5zdHJvbmcge1xuICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbn1cblxuLy9cbi8vIExpbmsgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIHtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGxpbmstY29sb3IpO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgbGluay1ob3Zlci1jb2xvcik7XG4gICAgfVxufVxuIiwiQG1peGluIHBvcHBpbnMtbGlnaHQoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWl4aW4gcG9wcGlucygpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLWl0YWxpYygpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1tZWRpdW0oKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gcG9wcGlucy1ib2xkKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtYm9sZC1pdGFsaWMoKSB7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIHBvcHBpbnMtZXh0cmEtYm9sZCgpIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbkBtaXhpbiBwb3BwaW5zLWJsYWNrKCkge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbiIsIi8vIE92ZXJyaWRlIGFueSBib290c3RyYXAgZGVmYXVsdCB2YXJpYWJsZSBoZXJlXG4kZ3JleS1kYXJrZXN0OiAjMTgxODFCOyBcbiRncmV5LWRhcms6ICM1MjUyNUI7XG4kZ3JleTogI0ExQTFBQTtcbiRncmV5LXJlZ3VsYXI6ICNFNEU0RTc7IFxuJGdyZXktbGlnaHQ6ICNGNEY0RjU7IFxuJGdyZXktbGlnaHRlc3Q6ICNGQUZBRkE7IFxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHhzOiAwLFxuICAgIHhzOiA0ODBweCxcbiAgICBzbTogNzY4cHgsXG4gICAgbWQ6IDEwMjRweCxcbiAgICBsZzogMTQ0MHB4LFxuICAgIHhsOiAxOTIwcHgsXG4pO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIG1kOiA5NjBweCxcbiAgICBsZzogMTIyMHB4LFxuICAgIHhsOiAxNjAwcHgsXG4pO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLWd1dHRlci13aWR0aDogMTZweDtcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LXNpemUtcm9vdDogMTZweDtcblxuJGhyLW1hcmdpbi15OiAwO1xuJGhyLW9wYWNpdHk6IDE7XG5cblxuLy9Ub29sdGlwc1xuJHRvb2x0aXAtZm9udC1zaXplOiAxNHB4O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAzMDBweDtcbiR0b29sdGlwLWNvbG9yOiB2YXIoLS1jb2xvci1UZXh0SWNvbi1UZXh0LXNlY29uZGFyeSwgIzNGM0Y0Nik7XG4kdG9vbHRpcC1iZzogdmFyKC0td2hpdGUsICNGRkYpO1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICRncmV5O1xuJHRvb2x0aXAtb3BhY2l0eTogMTtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiA4cHg7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgJGdyZXktbGlnaHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuJG5hdi1saW5rLWNvbG9yIDogIHZhcigtLWNvbG9yLVRleHQtYW5kLWljb24tVGV4dC1kZXNjcmlwdGlvbiwgIzNGM0Y0Nik7XG5cbiRuYXYtdW5kZXJsaW5lLWdhcDogICAgICAgICAgICAgICAgIDFyZW07XG4kbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAuMTI1cmVtO1xuLy8kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuXG4iLCJcbi8vPT09PT09PT09PSAgU1ZHICA9PT09PT09PT09Ly9cbnN2Zy5pbmZvLWNpcmNsZSB7XG4gICAgcGF0aCwgbGluZSB7XG4gICAgICAgIHN0cm9rZTogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxufVxuXG4vLz09PT09PT09PT0gIExJRU5TL0JVVFRPTlMgID09PT09PT09PT0vL1xuICAgIC5wcmltYXJ5LWJ1dHRvbiB7XG5cdHBhZGRpbmc6IDEycHggMjBweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblx0Y29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiA1NnB4O1xuXHRnYXA6IDhweDtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHdpZHRoOiBpbmhlcml0O1xuXHRAbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHsgLy8gVGFyZ2V0aW5nIFhTIGFuZCBzbWFsbGVyIHNjcmVlbnNcblx0ICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblx0fVxuXHRcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQsICYuYnV0dG9uLWRpc2FibGVkICB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1yZWd1bGFyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXkgIWltcG9ydGFudDtcblx0ICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3ZnIHtcblx0XHRwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JleTtcblx0XHR9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuXG4gICAgICAgICAgICAmOmhvdmVyLCwgJjpmb2N1c3tcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuXHRcdC8qIGhvdmVyIHNoYWRvdyAqL1xuXHRcdGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRjb2xvcjogI0ZGRkZGRjtcblx0ICAgIH1cblx0ICAgICY6YWN0aXZlIHtcblx0XHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWRhcmtlc3Q7XG5cdFx0LyogcHJlc3NlZCBzaGFkb3cgKi9cblx0XHRib3gtc2hhZG93OiAwcHggMnB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEwKSBpbnNldDtcblx0XHRjb2xvcjogI0ZGRkZGRjtcblx0ICAgIH1cdFxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcblx0cGFkZGluZzogMTJweCAyMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcblxuXHRjb2xvcjokYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblx0YmFja2dyb3VuZDogdmFyKC0td2hpdGUsICNGRkYpO1xuXHRcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiA1NnB4O1xuXHRnYXA6IDhweDtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR3aWR0aDphdXRvO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7IC8vIFRhcmdldGluZyBYUyBhbmQgc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblx0ICAgIGhlaWdodDogMTAwJTtcblxuXHR9XG5cdFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG5cdFx0c3Ryb2tlOiAkYnJhbmQtcHJpbWFyeVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1kaXNhYmxlZC1idG4tYmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWRpc2FibGVkLWJ0bi10ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3Vze1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuXHRcdC8qIGhvdmVyIHNoYWRvdyAqL1xuXHRcdGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRjb2xvcjokYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1x0XHRcblx0ICAgIH1cblx0ICAgICY6YWN0aXZlIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblx0XHRjb2xvcjokYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHQ7XG5cdFx0c3ZnIHtcblx0XHQgICAgcGF0aCwgbGluZSB7XG5cdFx0XHRzdHJva2U6ICRicmFuZC1wcmltYXJ5O1xuXHRcdCAgICB9XG5cdFx0fVxuXHQgICAgfVx0XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIFxuYSwgYnV0dG9uIHtcbiAgICBcbiAgICAmLnByaW1hcnktYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYnRuLWJnKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtZXh0cmEtYm9sZCgpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYnRuLXRleHQpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbmltYXRlZC1iZy13cmFwcGVyIHtcbiAgICAgICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtY29sb3JzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFsdC1idG4tYmcpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYWx0LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbmltYXRlZC1iZy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hbHQtYnRuLWJnKSwgMTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWRpc2FibGVkLWJ0bi1iZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktZGlzYWJsZWQtYnRuLXRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2Vjb25kYXJ5LWJ0biB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1idG4tYm9yZGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1idG4tYmcpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1ob3Zlci1idG4tc2hhZG93KTtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1leHRyYS1ib2xkKCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWJ0bi10ZXh0KTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbmltYXRlZC1iZy13cmFwcGVyIHtcbiAgICAgICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWx0LWNvbG9ycyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWJ0bi1ib3JkZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtYnRuLWJnKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtYnRuLXRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFuaW1hdGVkLWJnLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC5hbmltYXRlZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtaG92ZXItYnRuLWJnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hbHQtaG92ZXItYnRuLXRleHQpO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYWx0LWhvdmVyLWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWRpc2FibGVkLWJ0bi1ib3JkZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1kaXNhYmxlZC1idG4tYmcpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLXRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1zaGFkb3cpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1jb2xvcik7XG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwYXRoLCBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1ob3Zlci1idG4tY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggNXB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktaG92ZXItYnRuLXNoYWRvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRlcnRpYXJ5LWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtZXh0cmEtYm9sZCgpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KTtcblxuICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ncmVlbi1ob3Zlci1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ncmVlbi1ob3Zlci1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWdyZWVuLWhvdmVyLWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsdC1jb2xvcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktYWx0LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWFsdC1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1hbHQtYnRuLXRleHQpO1xuXG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi53aGl0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGVydGlhcnktaG92ZXItYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCkgY2FsYygxMDAlIC8gMyksIHRyYW5zcGFyZW50IDAgY2FsYygyMDAlIC8gMyksIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCkgMCkgdmFyKC0tZCwgMTAwJSkgMTAwJSAvMzAwJSAxcHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWhvdmVyLWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1ob3Zlci1idG4tdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnF1YXJ0ZXJ5LWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWJ0bi10ZXh0KSBjYWxjKDEwMCUgLyAzKSwgdHJhbnNwYXJlbnQgMCBjYWxjKDIwMCUgLyAzKSwgJGdyZXktZGFya2VzdCAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWx0LWNvbG9ycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHF1YXJ0ZXJ5LWFsdC1idG4tdGV4dCk7XG5cbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBxdWFydGVyeS1ob3Zlci1hbHQtYnRuLXRleHQpIGNhbGMoMTAwJSAvIDMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJSAvIDMpLCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktaG92ZXItYWx0LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcXVhcnRlcnktaG92ZXItYWx0LWJ0bi10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByaW1hcnktcm91bmQtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHByaW1hcnktYXJyb3ctYnRuLWJnKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcHJpbWFyeS1hcnJvdy1idG4taWNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFycm93LWJ0bi1zaGFkb3cpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggNXB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBwcmltYXJ5LWFycm93LWJ0bi1zaGFkb3cpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWNvbmRhcnktcm91bmQtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYmcpO1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWJvcmRlcik7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgsIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4taWNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWhvdmVyLWJnKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLXNoYWRvdyk7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4taG92ZXItaWNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggNXB4IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLXNoYWRvdyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PSAgQ0hFQ0tCT1ggID09PT09PT09PT0vL1xuW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICArIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWxhYmVsKTtcblxuICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtaG92ZXItZWZmZWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtYm9yZGVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1iZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1ob3Zlci1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIERpc2FibGVkIGNoZWNrYm94ICovXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1kaXNhYmxlZC1sYWJlbCk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtZGlzYWJsZWQtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtZGlzYWJsZWQtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBjaGVja2JveC1hY3RpdmUtYmcpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGNoZWNrYm94LWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vPT09PT0gRk9SIEFDQ0VTU0lCSUxJVFkgUFVSUE9TRVMgQFRPRE8gVE8gQkUgQ09ORklSTUVEIFdJVEggREVTSUdOIFRFQU1cbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgY2hlY2tib3gtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vPT09PT09PT09PSAgUkFESU8gID09PT09PT09PT0vL1xuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpLFxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIHtcbiAgICArIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblxuICAgICAgICAuYW5pbWF0ZWQtYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8taG92ZXItZWZmZWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tYm9yZGVyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1iZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tZG90KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWhvdmVyLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRGlzYWJsZWQgY2hlY2tib3ggKi9cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHJhZGlvLWRpc2FibGVkLWxhYmVsKTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1kaXNhYmxlZC1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1kaXNhYmxlZC1iZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgcmFkaW8tYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLy89PT09PSBGT1IgQUNDRVNTSUJJTElUWSBQVVJQT1NFUyBAVE9ETyBUTyBCRSBDT05GSVJNRUQgV0lUSCBERVNJR04gVEVBTVxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCByYWRpby1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrYm94LWVycm9yIHtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWxhYmVsKTtcblxuICAgIC5leGNsYW1hdGlvbi1pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWJvcmRlcik7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItaWNvbik7XG4gICAgfVxufVxuXG5zZWxlY3Quc2VsZWN0Mi1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLz09PT09PT09PT0gIENIQU1QIFRFWFQrKyAgPT09PT09PT09PS8vXG5bdHlwZT1cInRleHRcIl0sIFt0eXBlPVwibnVtYmVyXCJdLCBbdHlwZT1cInRlbFwiXSwgW3R5cGU9XCJlbWFpbFwiXSwgW3R5cGU9XCJwYXNzd29yZFwiXSwgW3R5cGU9XCJlbWFpbFwiXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWJvcmRlcik7XG4gICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgY2FyZXQtY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgfiAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICAuZXhjbGFtYXRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1lcnJvci1pY29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC12YWx1ZSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hY3RpdmUtYm9yZGVyKTtcblxuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFjdGl2ZS1sYWJlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItYm9yZGVyKTtcblxuICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWxhYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiB+IC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWVycm9yLWJvcmRlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZHJvcGRvd24tYXJyb3ctZXJyb3JAMngucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtZXJyb3ItbGFiZWwpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtY29sb3JzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1ib3JkZXIpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtdmFsdWUpO1xuICAgICAgICAgICAgY2FyZXQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtY2FyZXQpO1xuXG4gICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWxhYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgaW5wdXQtYWx0LWFjdGl2ZS1ib3JkZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIGlucHV0LWFsdC1lcnJvci1ib3JkZXIpO1xuXG4gICAgICAgICAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBpbnB1dC1hbHQtZXJyb3ItbGFiZWwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgfiAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiNFMzIwMzM7IFxuXG4gICAgICAgICAgICAgICAgICAgIC5leGNsYW1hdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMzIwMzM7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09ICBDSEFNUCBURVhUQVJFQSAgPT09PT09PT09PS8vXG4uZm9ybS1mbG9hdGluZyB7XG4gICAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtYm9yZGVyKTtcbiAgICAgICAgY2FyZXQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1jYXJldCk7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLXRleHQpO1xuXG4gICAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWxhYmVsKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXh0YXJlYS1sYWJlbC1iZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRleHRhcmVhLWFjdGl2ZS1ib3JkZXIpO1xuXG4gICAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgdGV4dGFyZWEtYWN0aXZlLWxhYmVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy89PT09PT09PT09ICBTRUxFQ1QyIFNUWUxFUyBPVkVSV1JJVEUgID09PT09PT09PT0vL1xuLnNlbGVjdC1sYWJlbCB7XG4gICAgLnNlbGVjdC1sYWJlbC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucygpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1wbGFjZWhvbGRlcik7XG4gICAgfVxufVxuXG4uc2VsZWN0Mi1jb250YWluZXIge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3QtYm9yZGVyKTtcblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWxlY3Qtb3B0aW9ucyk7XG5cbiAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Ryb3Bkb3duLWFycm93QDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LWFjdGl2ZS1zaGFkb3cpO1xuXG4gICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuXG4gICAgICAgICAgICAmLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlbGVjdC1hY3RpdmUtb3B0aW9ucy1iZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LWhvdmVyLW9wdGlvbnMtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtYmFzZS11aSwgc2VsZWN0LW9wZW4tYm9yZGVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBDT0xPUlNcbi8vIFVzZSBodHRwOi8vd3d3LmNvbG9yLWJsaW5kbmVzcy5jb20vY29sb3ItbmFtZS1odWUvIGZvciBjb2xvciBuYW1pbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEVuZmFudHNjbGljayB0aGVtZSBjb2xvcnNcbiRicmFuZC1wcmltYXJ5LWRhcmtlc3Q6ICMyRDRCMUM7XG4kYnJhbmQtcHJpbWFyeS1kYXJrOiAjM0Q2RTFEO1xuJGJyYW5kLXByaW1hcnk6ICM1Mjk2MjE7XG4kYnJhbmQtcHJpbWFyeS1taWRsaWdodDogIzg4RDA0QjtcbiRicmFuZC1wcmltYXJ5LWxpZ2h0OiAjQ0FFRUE4O1xuJGJyYW5kLXByaW1hcnktbGlnaHRlc3Q6ICNGOEZCRjY7XG5cblxuJHdoaXRlOiAjRkZGRkZGO1xuJHdoaXRlLWY3OiAjZjdmN2Y3O1xuJHN1dmEtZ3JleTogI0ExQTFBQTtcbiRjbGVhci1kYXk6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuJGdhaW5zYm9ybzogI0U0RTRFNztcbiRnYWluc2Jvcm8tZTY6ICNFNEU0RTc7XG4kbGlnaHQtY3lhbjogJGJyYW5kLXByaW1hcnktbGlnaHQ7XG4kaHVtbWluZy1iaXJkOiAkYnJhbmQtcHJpbWFyeS1saWdodDtcbiRkaW0tZ3JheTogI0ExQTFBQTtcbiRkYXJrLWdyZWVuOiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuJGRhcmstZGVlcC1zZWE6ICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0O1xuJGRlZXAtc2VhOiAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbiRtb3VudGFpbi1tZWFkb3c6ICRicmFuZC1wcmltYXJ5LWRhcms7XG4kZGVlcC1jbGVhcjogJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG4kbXVzdGFyZDogI0ZGRkZGRjtcbiRyZWQ6ICNmYTAwMGE7XG5cblxuLy9cbi8vIE1BUC1HRVQoKSBBUlJBWVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjb2xvcnMtYmFzZS11aTogKFxuICAgIHRpdGxlczogJGRhcmstZ3JlZW4sXG4gICAgcGFyYWdyYXBoczogJGRhcmstZ3JlZW4sXG5cbiAgICBwcmltYXJ5LWJ0bi1iZzogJGRlZXAtc2VhLFxuICAgIHByaW1hcnktYnRuLXRleHQ6ICR3aGl0ZSxcbiAgICBwcmltYXJ5LWRpc2FibGVkLWJ0bi1iZzogJGdhaW5zYm9ybyxcbiAgICBwcmltYXJ5LWRpc2FibGVkLWJ0bi10ZXh0OiAkZGltLWdyYXksXG4gICAgcHJpbWFyeS1ob3Zlci1idG4tYmc6ICRkYXJrLWRlZXAtc2VhLFxuICAgIHByaW1hcnktaG92ZXItYnRuLXNoYWRvdzogcmdiYSgkZGFyay1ncmVlbiwgMC4zKSxcbiAgICBwcmltYXJ5LWFsdC1idG4tYmc6ICRtdXN0YXJkLFxuICAgIHByaW1hcnktYWx0LWJ0bi10ZXh0OiAkZGFyay1ncmVlbixcblxuICAgIHNlY29uZGFyeS1idG4tYmc6ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktYnRuLXRleHQ6ICRkZWVwLXNlYSxcbiAgICBzZWNvbmRhcnktYnRuLWJvcmRlcjogJGRlZXAtc2VhLFxuICAgIHNlY29uZGFyeS1kaXNhYmxlZC1idG4tYmc6ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLXRleHQ6ICRkaW0tZ3JheSxcbiAgICBzZWNvbmRhcnktZGlzYWJsZWQtYnRuLWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIHNlY29uZGFyeS1ob3Zlci1idG4tY29sb3I6ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktaG92ZXItYnRuLWJnOiAkZGVlcC1zZWEsXG4gICAgc2Vjb25kYXJ5LWhvdmVyLWJ0bi1zaGFkb3c6IHJnYmEoJGRhcmstZ3JlZW4sIDAuMyksXG4gICAgc2Vjb25kYXJ5LWFsdC1idG4tYmc6IHRyYW5zcGFyZW50LFxuICAgIHNlY29uZGFyeS1hbHQtYnRuLXRleHQ6ICR3aGl0ZSxcbiAgICBzZWNvbmRhcnktYWx0LWJ0bi1ib3JkZXI6ICRtdXN0YXJkLFxuICAgIHNlY29uZGFyeS1hbHQtaG92ZXItYnRuLXRleHQ6ICRkYXJrLWdyZWVuLFxuICAgIHNlY29uZGFyeS1hbHQtaG92ZXItYnRuLWJnOiAkbXVzdGFyZCxcblxuICAgIHRlcnRpYXJ5LWJ0bi10ZXh0OiAkZGVlcC1zZWEsXG4gICAgdGVydGlhcnktaG92ZXItYnRuLXRleHQ6ICRtdXN0YXJkLFxuICAgIHRlcnRpYXJ5LWdyZWVuLWhvdmVyLWJ0bi10ZXh0OiAkZGFyay1ncmVlbixcbiAgICB0ZXJ0aWFyeS1hbHQtYnRuLXRleHQ6ICRtdXN0YXJkLFxuICAgIHRlcnRpYXJ5LWhvdmVyLWFsdC1idG4tdGV4dDogJHdoaXRlLFxuXG4gICAgcXVhcnRlcnktYnRuLXRleHQ6ICRkZWVwLXNlYSxcbiAgICBxdWFydGVyeS1hbHQtYnRuLXRleHQ6ICRtdXN0YXJkLFxuICAgIHF1YXJ0ZXJ5LWhvdmVyLWFsdC1idG4tdGV4dDogJGRlZXAtc2VhLFxuXG4gICAgY2hlY2tib3gtbGFiZWw6ICRkYXJrLWdyZWVuLFxuICAgIGNoZWNrYm94LWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIGNoZWNrYm94LWJnOiAkd2hpdGUsXG4gICAgY2hlY2tib3gtaG92ZXItYm9yZGVyOiAkZGVlcC1zZWEsXG4gICAgY2hlY2tib3gtaG92ZXItZWZmZWN0OiAkY2xlYXItZGF5LFxuICAgIGNoZWNrYm94LWFjdGl2ZS1iZzogJGRlZXAtc2VhLFxuICAgIGNoZWNrYm94LWRpc2FibGVkLWxhYmVsOiAkZGltLWdyYXksXG4gICAgY2hlY2tib3gtZGlzYWJsZWQtYm9yZGVyOiAkZGltLWdyYXksXG4gICAgY2hlY2tib3gtZGlzYWJsZWQtYmc6ICR3aGl0ZSxcblxuICAgIHJhZGlvLWxhYmVsOiAkZGFyay1ncmVlbixcbiAgICByYWRpby1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICByYWRpby1kb3Q6ICRkZWVwLXNlYSxcbiAgICByYWRpby1iZzogJHdoaXRlLFxuICAgIHJhZGlvLWhvdmVyLWJvcmRlcjogJGRlZXAtc2VhLFxuICAgIHJhZGlvLWhvdmVyLWVmZmVjdDogcmdiYSgkZGltLWdyYXksIDAuMDgpLFxuICAgIHJhZGlvLWFjdGl2ZS1iZzogJGRlZXAtc2VhLFxuICAgIHJhZGlvLWRpc2FibGVkLWxhYmVsOiAkZGltLWdyYXksXG4gICAgcmFkaW8tZGlzYWJsZWQtYm9yZGVyOiAkZGltLWdyYXksXG4gICAgcmFkaW8tZGlzYWJsZWQtYmc6ICR3aGl0ZSxcblxuICAgIGlucHV0LWxhYmVsOiAkZGltLWdyYXksXG4gICAgaW5wdXQtdmFsdWU6ICRkYXJrLWdyZWVuLFxuICAgIGlucHV0LWNhcmV0OiAkZGVlcC1zZWEsXG4gICAgaW5wdXQtYm9yZGVyOiAkZGltLWdyYXksXG4gICAgaW5wdXQtYWN0aXZlLWxhYmVsOiAkZGVlcC1zZWEsXG4gICAgaW5wdXQtYWN0aXZlLWJvcmRlcjogJGRlZXAtc2VhLFxuICAgIGlucHV0LWVycm9yLWljb246ICR3aGl0ZSxcbiAgICBpbnB1dC1lcnJvci1sYWJlbDogJHJlZCxcbiAgICBpbnB1dC1lcnJvci1ib3JkZXI6ICRyZWQsXG4gICAgaW5wdXQtYWx0LWxhYmVsOiAkd2hpdGUsXG4gICAgaW5wdXQtYWx0LXZhbHVlOiAkd2hpdGUsXG4gICAgaW5wdXQtYWx0LWNhcmV0OiAkbXVzdGFyZCxcbiAgICBpbnB1dC1hbHQtYm9yZGVyOiAkd2hpdGUsXG4gICAgaW5wdXQtYWx0LWFjdGl2ZS1sYWJlbDogJHdoaXRlLFxuICAgIGlucHV0LWFsdC1hY3RpdmUtYm9yZGVyOiAkbXVzdGFyZCxcbiAgICBpbnB1dC1hbHQtZXJyb3ItaWNvbjogJGRlZXAtc2VhLFxuICAgIGlucHV0LWFsdC1lcnJvci1sYWJlbDogJG11c3RhcmQsXG4gICAgaW5wdXQtYWx0LWVycm9yLWJvcmRlcjogJG11c3RhcmQsXG5cbiAgICB0ZXh0YXJlYS1ib3JkZXI6ICRkaW0tZ3JheSxcbiAgICB0ZXh0YXJlYS1sYWJlbDogJGRpbS1ncmF5LFxuICAgIHRleHRhcmVhLXRleHQ6ICRkYXJrLWdyZWVuLFxuICAgIHRleHRhcmVhLWNhcmV0OiAkZGVlcC1zZWEsXG4gICAgdGV4dGFyZWEtbGFiZWwtYmc6ICR3aGl0ZSxcbiAgICB0ZXh0YXJlYS1hY3RpdmUtYm9yZGVyOiAkZGVlcC1zZWEsXG4gICAgdGV4dGFyZWEtYWN0aXZlLWxhYmVsOiAkZGVlcC1zZWEsXG5cbiAgICBzZWxlY3QtcGxhY2Vob2xkZXI6ICRkaW0tZ3JheSxcbiAgICBzZWxlY3Qtb3B0aW9uczogJGRhcmstZGVlcC1zZWEsXG4gICAgc2VsZWN0LWJvcmRlcjogJGRpbS1ncmF5LFxuICAgIHNlbGVjdC1vcGVuLWJvcmRlcjogJGRhcmstZGVlcC1zZWEsXG4gICAgc2VsZWN0LWhvdmVyLW9wdGlvbnMtYmc6ICRnYWluc2Jvcm8sXG4gICAgc2VsZWN0LWFjdGl2ZS1vcHRpb25zLWJnOiAkd2hpdGUsXG4gICAgc2VsZWN0LWFjdGl2ZS1zaGFkb3c6IHJnYmEoYmxhY2ssIDAuMTYpLFxuXG4gICAgcHJpbWFyeS1hcnJvdy1idG4tYmc6ICRtdXN0YXJkLFxuICAgIHByaW1hcnktYXJyb3ctYnRuLWljb246ICRkYXJrLWdyZWVuLFxuICAgIHByaW1hcnktYXJyb3ctYnRuLXNoYWRvdzogcmdiYSgkZGFyay1ncmVlbiwgMC43NSksXG5cbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLWJnOiB0cmFuc3BhcmVudCxcbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLWJvcmRlcjogJHdoaXRlLFxuICAgIHNlY29uZGFyeS1hcnJvdy1idG4taWNvbjogJHdoaXRlLFxuICAgIHNlY29uZGFyeS1hcnJvdy1idG4tc2hhZG93OiByZ2JhKCRkYXJrLWdyZWVuLCAwLjc1KSxcbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLWhvdmVyLWJnOiAkbXVzdGFyZCxcbiAgICBzZWNvbmRhcnktYXJyb3ctYnRuLWhvdmVyLWljb246ICRkYXJrLWdyZWVuLFxuXG4gICAgbGluay1jb2xvcjogJGRlZXAtc2VhLFxuICAgIGxpbmstaG92ZXItY29sb3I6ICRkYXJrLWdyZWVuLFxuXG4gICAgdGl0bGUtbGluZTogJHdoaXRlLFxuICAgIHRpdGxlLWxpbmUtYWx0OiAkbXVzdGFyZFxuKTtcblxuJGNvbG9ycy1oZWFkZXI6IChcbiAgICBiYWNrZ3JvdW5kOiMxZTZmODcsXG4gICAgYmFja2dyb3VuZC1pdGVtczogJHJlZCxcbiAgICBsaW5rLXRleHQ6ICR3aGl0ZSxcbiAgICBsaW5rLWhvdmVyLXRleHQ6ICRtdXN0YXJkLFxuKTtcblxuJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXI6IChcbiAgICBiYWNrZ3JvdW5kOiAkY2xlYXItZGF5LFxuICAgIGNhdGVnb3J5LWxpbms6ICRkYXJrLWdyZWVuLFxuICAgIGNhdGVnb3J5LWxpbmstYWN0aXZlOiAkZGVlcC1zZWEsXG4gICAgc2Vzc2lvbi1pbWctYmFja2dyb3VuZDogJHdoaXRlLFxuICAgIHNlc3Npb24taG92ZXI6ICRkZWVwLXNlYSxcbiAgICBzZXNzaW9uLW9wZW46ICR3aGl0ZSxcbiAgICBuYW5vLXBhbmU6ICRjbGVhci1kYXksXG4gICAgbmFuby1zbGlkZXI6ICRkZWVwLXNlYVxuKTtcblxuJGNvbG9ycy1mb290ZXI6IChcbiAgICBhZHZhbnRhZ2UtYmFja2dyb3VuZDogJGRhcmstZ3JlZW4sXG4gICAgYWR2YW50YWdlLXRleHQ6ICR3aGl0ZSxcbiAgICBtYWluLWNvbnRlbnQtYmFja2dyb3VuZDogJGRlZXAtc2VhLFxuICAgIG1haW4tY29udGVudC10ZXh0OiAkd2hpdGUsXG4gICAgbWFpbi1jb250ZW50LWxpbmstY29sb3I6IGN1cnJlbnRDb2xvcixcbiAgICBtYWluLWNvbnRlbnQtbGluay1ob3Zlci1jb2xvcjogJG11c3RhcmQsXG4gICAgc29jaWFsLWhvdmVyLWJhY2tncm91bmQ6ICRtdXN0YXJkLFxuICAgIHNvY2lhbC1ob3Zlci1sb2dvOiAkZGFyay1ncmVlbixcbik7XG5cbiRjb2xvcnMtaGVybzogKFxuICAgIGJhY2tncm91bmQ6ICRkZWVwLXNlYSxcbiAgICB0ZXh0OiAkd2hpdGUsXG4pO1xuJGNvbG9ycy1oZXJvLXdlbGNvbWU6IChcbiAgICBjb2RlLWJnLWluYWN0aXZlOiAkbXVzdGFyZCxcbiAgICBjb2RlLWJnLWFjdGl2ZTogJGRhcmstZGVlcC1zZWEsXG4gICAgcGhvdG8tYmctYWx0OiR3aGl0ZS1mNyxcbiAgICBwaG90by1iZzokd2hpdGUsXG4gICAgdGlsZS1hY3RpdmUtYmc6ICR3aGl0ZSxcbiAgICB0aWxlLWFjdGl2ZS10ZXh0OiAkZGFyay1ncmVlbixcbiAgICB0aWxlLWxpbms6ICR3aGl0ZSxcbiAgICB0aWxlLWFjdGl2ZS1saW5rOiAkZGFyay1ncmVlbixcbiAgICB0aWxlLW1vYmlsZS1iZzogJHdoaXRlLFxuICAgIHRpbGUtbW9iaWxlLXRleHQ6ICRkYXJrLWdyZWVuLFxuICAgIHRpbGUtbW9iaWxlLWxpbms6ICRkYXJrLWdyZWVuXG4pO1xuXG4kY29sb3JzLWxvZ2luOiAoXG4gICAgYmFja2dyb3VuZDogJGRhcmstZGVlcC1zZWFcbik7XG5cbiRjb2xvcnMtaG9tZXBhZ2UtcHJlc2VudGF0aW9uOiAoXG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JlZW4sXG4gICAgdGV4dDogJHdoaXRlLFxuKTtcblxuJGNvbG9ycy1hbmltYXRlZC1jdXJ2ZTogKFxuICAgIGN1cnZlLWJnOiAkbW91bnRhaW4tbWVhZG93LFxuKTtcblxuJGNvbG9ycy1nYWxsZXJ5LW92ZXJsYXk6IChcbiAgICBiYWNrZ3JvdW5kOiAkY2xlYXItZGF5LFxuICAgIGltYWdlLWJhY2tncm91bmQ6ICR3aGl0ZSxcbiAgICBhcnJvd3M6ICRkYXJrLWdyZWVuLFxuICAgIGhlYWRpbmdzOiAkd2hpdGUsXG4gICAgYm9yZGVyOiAkZ2FpbnNib3JvLWU2LFxuICAgIGJvcmRlci1hY3RpdmU6ICRkZWVwLXNlYSxcbik7XG5cbiRjb2xvcnMtaW1hZ2UtdGV4dDogKFxuICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyZWVuLFxuICAgIHRleHRzOiAkd2hpdGVcbik7XG5cbiRjb2xvcnMtcHJvZHVjdC10aWxlOiAoXG4gICAgYmFja2dyb3VuZDogJGNsZWFyLWRheSxcbiAgICBob3Zlci0xOiAkZGVlcC1zZWEsXG4gICAgaG92ZXItMjogJGRhcmstZ3JlZW5cbik7XG5cbiRjb2xvcnMtY3VzdG9taXplOiAoXG4gICAgYmFja2dyb3VuZDogJHdoaXRlLFxuICAgIGxheW91dC1jZWxsLWJhY2tncm91bmQ6ICRodW1taW5nLWJpcmQsXG4gICAgYm9yZGVyczogJGdhaW5zYm9yby1lNixcbiAgICBib3JkZXJzLWhvdmVyOiAkZGVlcC1zZWEsXG4gICAgdGV4dC1ob3ZlcjogJGRlZXAtc2VhLFxuICAgIHBhcnQtaW5hY3RpdmU6JHN1dmEtZ3JleSxcbiAgICBwYXJ0LWFjdGl2ZTogJGRlZXAtc2VhLFxuICAgIHN0ZXBzOiAkZGVlcC1zZWEsXG4gICAgcHJldmlldy1iZzogJGNsZWFyLWRheSxcbiAgICBwcmV2aWV3LWltZy1iZzogJHdoaXRlLFxuICAgIG5hbWU6ICRkYXJrLWdyZWVuLFxuICAgIHJhbmRvbS1idXR0b246ICRkZWVwLXNlYSxcbiAgICBpbnB1dC1wbGFjZWhvbGRlcjogJGRpbS1ncmF5LFxuICAgIGlucHV0LWNvbnRlbnQ6ICRkYXJrLWdyZWVuLFxuICAgIGVycm9yOiAkcmVkLFxuICAgIGluY2x1ZGVkLWl0ZW1zOiAkc3V2YS1ncmV5LFxuICAgIGluY2x1ZGVkLWl0ZW1zLWJ0bjogJGRlZXAtc2VhLFxuKTtcblxuJGNvbG9ycy1wb3B1cDogKFxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSxcbiAgICBiYWNrZ3JvdW5kLWZhZGU6IHJnYmEoMCwgMCwgMCwgMC43NSksXG4gICAgYnRuLWNsb3NlOiAkZGFyay1ncmVlblxuKTtcblxuJGNvbG9ycy1ub3RpY2U6IChcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3lhbixcbiAgICBwYXJ0aWNsZS1jb2xvci0xOiAkbW91bnRhaW4tbWVhZG93LFxuICAgIHBhcnRpY2xlLWNvbG9yLTI6ICRtdXN0YXJkLFxuICAgIHBhcnRpY2xlLWJvcmRlcjogJGRhcmstZ3JlZW5cbik7XG5cbiRjb2xvcnMtbWVzc2FnZXM6IChcbiAgICB0ZXh0LXdoaXRlOiAkd2hpdGUsXG4gICAgYmFja2dyb3VuZC1pbmZvOiAkbGlnaHQtY3lhbixcbiAgICBiYWNrZ3JvdW5kLXdhcm5pbmc6ICRtdXN0YXJkLFxuICAgIGJhY2tncm91bmQtZXJyb3I6ICRyZWQsXG4gICAgYmFja2dyb3VuZC1zdWNjZXNzOiAkbW91bnRhaW4tbWVhZG93LFxuICAgIGNsb3NlLWJ0bjogJGRhcmstZ3JlZW4sXG4gICAgY2xvc2UtYnRuLXdoaXRlOiAkd2hpdGUsXG4pO1xuXG4kY29sb3JzLWNoZWNrb3V0LXByb2Nlc3M6IChcbiAgICBwYWdlLWJhY2tncm91bmQ6ICNGNEY0RjUsXG4gICAgY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUsXG4gICAgYWRkLWNoaWxkLWJhY2tncm91bmQ6ICRsaWdodC1jeWFuLFxuICAgIGV4dHJhLXBvc2VzLWJhY2tncm91bmQ6ICRkYXJrLWRlZXAtc2VhLFxuICAgIGV4dHJhLXBvc2VzLXRleHQ6ICR3aGl0ZSxcbiAgICBtZW51LWluYWN0aXZlOiRzdXZhLWdyZXksXG4gICAgbWVudS1hY3RpdmU6ICRkZWVwLXNlYSxcbiAgICBib3JkZXI6ICRnYWluc2Jvcm8tZTYsXG4gICAgYnV0dG9uLXRleHQ6ICRkZWVwLXNlYSxcbiAgICBoaWdobGlnaHQtdGV4dDogJGRlZXAtc2VhLFxuICAgIGNoZWNrYm94LWxhYmVsOiAkZGFyay1ncmVlbixcbiAgICBkaXNhYmxlZDogJGRpbS1ncmF5LFxuICAgIGNoZWNrbWFyay1pY29uOiAkZGVlcC1zZWEsXG4gICAgZXJyb3I6ICRyZWRcbik7XG5cblxuJGNvbG9ycy10ZXh0LXBhZ2U6IChcbiAgICBoZWFkaW5nLWJhY2tncm91bmQ6ICRkZWVwLXNlYSxcbiAgICBoZWFkaW5nOiAkd2hpdGUsXG4gICAgYmFja2dyb3VuZDogJHdoaXRlLFxuKTtcblxuXG4kY29sb3JzLW1hcDogKFxuICAgIGJhY2tncm91bmQ6ICRkZWVwLXNlYSxcbiAgICBpbnRlcmFjdGl2ZS1jb2xvcjogJG11c3RhcmQsXG4gICAgc2Vjb25kYXJ5LWNvbG9yOiAkZGFyay1ncmVlbixcbiAgICBzZWNvbmRhcnktYm9yZGVyOiAkZGVlcC1jbGVhcixcbiAgICBsaWdodDogJHdoaXRlLFxuICAgIGxpZ2h0LWJvcmRlcjogJGdhaW5zYm9yby1lNixcblxuKTtcbiIsImFzaWRlIHtcbiAgICAmLmFzaWRlLWxvY2F0aW9ucyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGJhY2tncm91bmQpO1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICBbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuICAgICAgICAgICAgY2FyZXQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQpO1xuXG5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBnID4gKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnID4gKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBzZWNvbmRhcnktY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uIHtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTAwdm1heCBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBpbnRlcmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1tYXAsIGludGVyYWN0aXZlLWNvbG9yKTtcblxuICAgICAgICAgICAgICAgIC5pbmZvcyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBzZWNvbmRhcnktY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWxlY3QtbG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBzZWNvbmRhcnktY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgc2Vjb25kYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBzZWNvbmRhcnktYm9yZGVyKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAuaW5mb3Mge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWxlY3QtbG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLW1hcCwgaW50ZXJhY3RpdmUtY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1tYXAsIGxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAmLm1vYmlsZS1vdmVybGF5IHtcbiAgICAgICAgICAgIC50aHVtYiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0KTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuYWRkLWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYWRkLWNoaWxkLWJhY2tncm91bmQpO1xufVxuIiwiLmNoZWNrb3V0LWNvbmZpcm1hdGlvbiB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgICAub3JkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2staW5zdHJ1Y3Rpb25zIHtcbiAgICAgICAgLnRoYW5rcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAuY2hlY2staW5zdHJ1Y3Rpb25zIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcblxuICAgICAgICAgICAgLnRleHQsIC5ub3RpY2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNoZWNrb3V0LWZvcm0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjb250ZW50LWJhY2tncm91bmQpO1xuICAgIC5oYXMtdG9wLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCwgLmJvbGQge1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICB9XG5cbiAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgICBbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsXG4gICAgICAgIC5pbmZvLWxhYmVsLFxuICAgICAgICAuZmxvYXRpbmctZWxlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0OmRpc2FibGVkIHtcbiAgICAgICAgICAgICYgfiAuaW5mbyxcbiAgICAgICAgICAgICYgfiAuaW5mby1sYWJlbCxcbiAgICAgICAgICAgICYgfiAuZmxvYXRpbmctZWxlbSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBkaXNhYmxlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmxvYXRpbmctZWxlbSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcblxuICAgICAgICAgICAgJi5waWN0dXJlcyB7XG4gICAgICAgICAgICAgICAgLnBheW1lbnQtbWV0aG9kLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGhpZ2hsaWdodC10ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0LWxhYmVsIHtcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQtcmV2aWV3IHtcbiAgICAuaGFzLWJvdHRvbS1ib3JkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oMzBweCk7XG4gICAgfVxuICAgIC5oYXMtdG9wLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHB4LXRvLXJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjb250ZW50LWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC5leHRyYS1pbmZvIHtcbiAgICAgICAgLmlzLXNtYWxsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvdGFsIHtcbiAgICAgICAgICAgIC5wcmljZS5pcy1mcmVlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGhpZ2hsaWdodC10ZXh0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5yZXZpZXctcGFydCB7XG4gICAgICAgICYuaXMtc2hpcHBpbmcsXG4gICAgICAgICYuaXMtcGF5bWVudCB7XG4gICAgICAgICAgICAuZWxlbSB7XG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAuaGFzLWJvdHRvbS1ib3JkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSgyM3B4KTtcbiAgICAgICAgfVxuICAgICAgICAuaGFzLXRvcC1ib3JkZXIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHB4LXRvLXJlbSgyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jaGlsZC10aWxlIHtcbiAgICAucGFja2FnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBjb250ZW50LWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC5wYWNrYWdlLXN1bW1hcnkge1xuICAgICAgICAucXR5IHNwYW4sIC5vcmlnaW5hbC1wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdHl7XG4gICAgICAgICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuXG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcblxuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Ryb3Bkb3duLWFycm93LWNvbG9yZWRAMngucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLmlzLWZyZWUge1xuICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBoaWdobGlnaHQtdGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICAudGlwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jbHViLXN1YnNjcmlwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbiAgICAuYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGhpZ2hsaWdodC10ZXh0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sZXR0ZXItYW5pbWF0aW9uIHtcbiAgICBzdmcge1xuXHRyZWN0LFxuXHRwYXRoLFxuXHRsaW5lXG5cdHtcblx0ICAgIHN0cm9rZTogJGJyYW5kLXByaW1hcnktZGFyaztcblx0fVxuXHRlbGxpcHNlIHtcblx0ICAgIHN0cm9rZTpub25lO1xuXHR9XG5cdFxuXHRyZWN0LFxuXHRwYXRoLFxuXHRlbGxpcHNlIHtcblx0ICAgIGZpbGw6ICNEM0U2RUM7XG5cdH1cbiAgICB9XG5cbiAgICAuY2hlY2ttYXJrIHtcblx0cmVjdCxcblx0cGF0aCxcblx0ZWxsaXBzZSB7XG5cdCAgICBmaWxsOiAjMjJDNTVFO1xuXHR9XG5cblx0Ly8gRW5zdXJlIHRoZSBzdHJva2UgY29sb3Igb2YgdGhlIGNoZWNrbWFyayBwYXRoIHJlbWFpbnMgd2hpdGVcblx0cGF0aCB7XG5cdCAgICBzdHJva2U6ICNmZmY7XG5cdH1cbiAgICB9XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBwYWdlLWJhY2tncm91bmQpO1xuICAgIH1cbn1cbiIsIi5wYWNrYWdlLXBhcnQge1xuICAgICYuaXMtcmV2aWV3IHtcbiAgICAgICAgLnBhcnQtY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguaXMtcmV2aWV3KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICB9XG5cbiAgICAucGFja2FnZS10aXRsZSB7XG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFydC1jb250ZW50IHtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgfVxuXG4gICAgLmltZy13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG5cbiAgICAgICAgLmV4dHJhLXBvc2VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBleHRyYS1wb3Nlcy1iYWNrZ3JvdW5kKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgZXh0cmEtcG9zZXMtdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgfVxuXG4gICAgLmxheW91dC1pbWcge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICB9XG59XG4iLCIuc3VtbWFyeSB7XG4gICAgLmRldGFpbCB7XG4gICAgICAgICYuaXMtYm9sZCB7XG4gICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1oaWdobGlndGhlZCB7XG4gICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGhpZ2hsaWdodC10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmluYWwtdG90YWwge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcF9nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5lZWQtaGVscCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvbWlzZXMge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnN1cnZleS1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcblxuICAgIC5leHBlcmllbmNlIHtcbiAgICAgICAgLmZpZWxkIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lcnJvciB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgZXJyb3IpO1xuICAgIH1cblxuICAgIC50aGFua3Mge1xuICAgICAgICAuY2hlY2ttYXJrLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGNoZWNrbWFyay1pY29uKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wb3B1cCB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLXBvcHVwLCBiYWNrZ3JvdW5kLWZhZGUpO1xuXG4gICAgLnBvcHVwLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtcG9wdXAsIGJhY2tncm91bmQpO1xuXG4gICAgICAgIC5wb3B1cC1jbG9zZS1idG4ge1xuICAgICAgICAgICAgc3ZnIGxpbmUge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwX2dldCgkY29sb3JzLXBvcHVwLCBidG4tY2xvc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBvcHVwLWNvbnRlbnQge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudHlwZS1iYWNrZ3JvdW5kIHtcbiAgICAucGljdHVyZXMtbGlzdCB7XG4gICAgICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgICAgICAmOmhvdmVyLCAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycy1ob3Zlcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJhY2tncm91bmQtbmFtZSwgLmJhY2tncm91bmQtcHJpY2UsIC5wcmVtaXVtLXByaWNlICB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sb2FkLW1vcmUge1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciwgJi5mYXZvcml0ZWQge1xuXHRcdGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgIC5mYXZvcml0ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2N1c3RvbWl6ZS9mYXZvcml0ZS1pY29uLWZpbGxlZC5wbmcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mYXZvcml0ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY3VzdG9taXplL2Zhdm9yaXRlLWljb24tb3V0bGluZS5wbmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmFja2dyb3VuZC1uYW1lIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgLnBpY3R1cmVzLWxpc3Qge1xuICAgICAgICAgICAgLmltZy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAuZmF2b3JpdGV7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmLmZhdm9yaXRlZCB7XG4gICAgICAgICAgICAgICAgICAgIC5mYXZvcml0ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jdXN0b21pemUvZmF2b3JpdGUtaWNvbi1maWxsZWQucG5nJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmF2b3JpdGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jdXN0b21pemUvZmF2b3JpdGUtaWNvbi1vdXRsaW5lLnBuZycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50eXBlLWdyYWRlc3tcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGlucHV0LXBsYWNlaG9sZGVyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgaW5wdXQtY29udGVudCkgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIudHlwZS1sYXlvdXQge1xuICAgIC5sYXlvdXRzLWxpc3R7XG4gICAgICAgIC5sYXlvdXQtd3JhcHBlciB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcblxuICAgICAgICAgICAgJjpob3ZlciwgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycy1ob3Zlcik7XG5cbiAgICAgICAgICAgICAgICAmIH4gLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYXlvdXQtZGlzcGxheSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleTtcblxuICAgICAgICAgICAgLmNlbGwge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmV5O1xuXG4gICAgICAgICAgICAgICAgLmJnIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnR5cGUtcGhvbmV7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBpbnB1dC1wbGFjZWhvbGRlcikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGlucHV0LWNvbnRlbnQpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLnR5cGUtcG9zZXtcbiAgICAucGljdHVyZXMtbGlzdHtcbiAgICAgICAgLmltZy13cmFwcGVye1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgJjpob3ZlciwgJi5zZWxlY3RlZHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMtaG92ZXIpO1xuXG4gICAgICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMtaG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzLWhvdmVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZG93bmxvYWRzIHtcblxuICAgIC5kb3dubG9hZC1saW5rIGF7XG5cdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgc3ZnLCBzdmcgKiB7XG5cdCAgICB3aWR0aDogMzJweDtcblx0ICAgIGhlaWdodDogMzJweDtcblx0ICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgICAgICAgZmlsbDogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeS1kYXJrO1xuICAgICAgICAgICAgc3ZnLCBzdmcgKiB7XG5cdFx0ZmlsbDogJGJyYW5kLXByaW1hcnktZGFyaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XHRcbiAgICB9XG59XG4iLCIubG9naW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IFxuXG4gICAgLmxvZ2luLW5hdiAubG9naW4tbmF2LWVsZW1lbnQuc2VsZWN0ZWQgIHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuICAgIH1cbiAgICBcbiAgICAubG9naW5fX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgfVxuXG4gICAgLnJlbW92ZS1jb2Rle1xuICAgICAgICBzdmd7XG4gICAgICAgICAgICAqe1xuICAgICAgICAgICAgICAgIHN0cm9rZTokZ3JleS1kYXJrZXN0OyBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tbG9naW4ge1xuICAgICAgICAubG9naW4tY29kZXN7XG4gICAgICAgICAgICAmOmZvY3Vze1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRhcmtlci1wcmltYXJ5LWNvbG9yLCAkYnJhbmQtcHJpbWFyeS1kYXJrKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSwgI0ZGRikgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiAwcHggMXB4IDRweCAwcHggJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG5cdCAgICB9XG5cblx0fVxuICAgIH1cbiAgICAubG9naW5fX2FkZC1jb2RlLWJ0biB7XG5cdGNvbG9yOiRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblxuICAgICAgICAmOmhvdmVye1xuXHQgICAgYmFja2dyb3VuZDogdmFyKC0tTmFuQy1MaWdodC1wcmltYXJ5LCAkYnJhbmQtcHJpbWFyeS1saWdodGVzdCk7XG5cdCAgICAvKiBob3ZlciBzaGFkb3cgKi9cblx0ICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0fVxuXHQmOmFjdGl2ZSB7XG5cdCAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcblx0fVx0XG4gICAgfVxuXG4gICAgLmZvcm0tbG9naW5fX3N1Ym1pdCB7XG5cdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTtcblxuXHQmOmhvdmVye1xuXHQgICAgYmFja2dyb3VuZDogdmFyKC0tTmFuQy1Ib3ZlciwgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQpO1xuXHR9XG5cdCY6YWN0aXZlIHtcblx0ICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXHR9XHRcbiAgICB9XG5cbiAgICBcbiAgICBcbn1cbiIsIi5wYWNrYWdlLXRpbGUge1xuICAgIC5saW5rOmhvdmVyIHtcbiAgICAgICAgJiB+IC5wYWNrYWdlLCAmIH4gLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtcHJvZHVjdC10aWxlLCBob3Zlci0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgfiAubmFtZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLXByb2R1Y3QtdGlsZSwgaG92ZXItMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcbiAgICB9XG59XG4iLCIuYW5pbWF0ZWQtY3VydmV7XG4gICAgLmJhY2tncm91bmR7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1hbmltYXRlZC1jdXJ2ZSwgY3VydmUtYmcpO1xuICAgIH1cbn1cbiIsIi5oZWFkZXItbWFwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLW1hcCwgbGlnaHQtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtbWFwLCBsaWdodCk7XG4gICAgc3BhbntcbiAgICAgICAgJi5jbG9zZS1vdmVybGF5e1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImhlYWRlci5jaGVja291dHtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwX2dldCgkY29sb3JzLWNoZWNrb3V0LXByb2Nlc3MsIGJvcmRlcik7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDs7XG5cbiAgICAubG9nb3tcblx0cGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgfVxuICAgIFxuICAgIC5jaGVja291dC1uYXZ7XG5cdGNvbG9yOiAkZ3JleTtcblx0LyogTGFiZWwvTGFiZWwgbWVkaXVtICovXG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMjBweDsgLyogMTI1JSAqL1xuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0LyogTGFiZWwvTGFiZWwgbWVkaXVtICovXG4gICAgICAgIHVse1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgYSxwe1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcblx0XHQgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmV7IFxuICAgICAgICAgICAgICAgICAgICBhLHB7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHQgICAgY29udGVudDogJyc7XG5cdFx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICAgIGJvdHRvbTogMDtcblx0XHRcdCAgICBsZWZ0OiA1MCU7XG5cdFx0XHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0ICAgIHdpZHRoOiA3MCU7XG5cdFx0XHQgICAgaGVpZ2h0OiAycHg7IC8vIEFkanVzdCB0aGlja25lc3Mgb2YgdGhlIFwiYm9yZGVyXCJcblx0XHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXHRcdFx0fVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cblx0XHQmLmNvbXBsZXRlZHtcblx0XHQgICAgYSxwe1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cdFx0fVxuICAgICAgICAgICAgICAgICYuY29tcGxldGVke1xuICAgICAgICAgICAgICAgICAgICBpLmNhcmV0e1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpLmNvbXBsZXRlZC1pY29ue1xuXG5cdFx0ICAgIHRvcDogMTRweCAhaW1wb3J0YW50O1xuXHRcdCAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdHRvcDogMzJweCAhaW1wb3J0YW50O1xuXHRcdCAgICBcblx0XHQgICAgfVxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJDNTVFO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkuY2FyZXR7XG5cdFx0ICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBtZW51LWluYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcblxuICAgICAgICAgICAgLmNoZWNrb3V0LW5hdiB7XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtY2hlY2tvdXQtcHJvY2VzcywgYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1jaGVja291dC1wcm9jZXNzLCBib3JkZXIpO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vLm5hdmlnYXRpb24ge1xuICAgICAgICAvLyAgICB1bCB7XG4gICAgICAgIC8vICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcbiAgICAgICAgLy8gICAgfVxuICAgICAgICAvL31cbiAgICAgICAgLy9cbiAgICAgICAgLy8ubW9iaWxlLW5hdmlnYXRpb24ge1xuICAgICAgICAvLyAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuICAgICAgICAvLyAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcbiAgICAgICAgLy99XG4gICAgICAgIC8vXG4gICAgICAgIC8vLnByaWNlc3tcbiAgICAgICAgLy8gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHN0ZXBzKTtcbiAgICAgICAgLy99XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLy8ubmF2aWdhdGlvbiB7XG4gICAgICAgIC8vICAgIHVsIHtcbiAgICAgICAgLy8gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99XG4gICAgfVxufVxuIiwiLmNoZWNrb3V0LXBhZ2UtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHRlc3Q7XG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwLCAuYWRkLXdlYmNvZGV7XG5cdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbiAgICB9XG59XG5cbi5iZy1iYWRnZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbn1cblxuLnVwc2VsbC1jdGEtYnV0dG9uc3tcbiAgICBwYWRkaW5nLXRvcDoyNHB4O1xufVxuIiwiLmFzaWRlLWN1c3RvbWl6ZXtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleS1saWdodGVzdDtcbiAgICBib3JkZXItY29sb3I6bWFwX2dldCgkY29sb3JzLWN1c3RvbWl6ZSwgYm9yZGVycyk7XG5cbiAgICAuc3RlcHtcbiAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG5cdC5zdGVwLXRpdGxlIHtcblx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrOyBcblx0ICAgIGZvbnQtc2l6ZTogMTRweDtcblx0ICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblxuXG5cdHN2Z3tcblx0ICAgIHBhdGgge1xuXHRcdHN0cm9rZTogJGdyZXktZGFyaztcblx0ICAgIH1cblx0ICAgIGNpcmNsZSB7XG5cdFx0c3Ryb2tlOiAkZ3JleS1kYXJrO1xuXHQgICAgfVxuXHQgICAgbGluZSB7XG5cdFx0c3Ryb2tlOiAkZ3JleS1kYXJrO1xuXHQgICAgfVxuXHR9XG5cbiAgICAgICAgLmVycm9yLWljb24ge1xuICAgICAgICAgICAgc3ZnIGNpcmNsZSwgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuXHQgICAgJi5hY3RpdmUge1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuXHRcdCY6aG92ZXJ7XG5cdFx0ICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuXHRcdH1cblx0ICAgIH1cblx0fVxuICAgIH1cbn1cbiIsIi5oZWFkZXItY3VzdG9taXple1xuICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcblxuICAgIC5uYXZpZ2F0aW9ue1xuICAgICAgICBoMXtcblx0ICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgdWx7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcGFydC1pbmFjdGl2ZSk7XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSBwe1xuXHRcdCAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcblx0XHR9XG4gICAgICAgICAgICAgICAgJi5jb21wbGV0ZWR7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjAuOTtcblxuICAgICAgICAgICAgICAgICAgICBpLmNhcmV0e1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcGFydC1hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJsYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpLmNvbXBsZXRlZC1pY29ue1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBwYXJ0LWFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaS5jYXJldHtcbiAgICAgICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAgICAgKntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIHBhcnQtaW5hY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlcyB7XG5cdFxuXHRcbiAgICAgICAgLnRvdGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYmxhY2soKTtcblx0ICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXHRcdGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvbmF0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuXHQgICAgY29sb3I6ICRncmV5LWRhcms7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLm5hdmlnYXRpb24ge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBib3JkZXJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5tb2JpbGUtbmF2IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJvcmRlcnMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWdyZWVuLCAkYnJhbmQtcHJpbWFyeS1taWRsaWdodCk7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiAwO1xuICAgICAgICAucHJpY2VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBzdGVwcyk7XG5cbiAgICAgICAgICAgIC50b3RhbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZG9uYXRpb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0LnRlcnRpYXJ5LWJ1dHRvbntcblxuXHQgICAgZGlzcGxheTogZmxleDtcblx0ICAgIHdpZHRoOiAzMDBweDtcblx0ICAgIGhlaWdodDogNTZweDtcblx0ICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuXHQgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdCAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHQgICAgZ2FwOiA4cHg7XG5cdCAgICBmbGV4LXNocmluazogMDtcblx0ICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdCAgICBib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtcHJpbWFyeTs7XG5cdCAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSwgI0ZGRik7XG5cdCAgICBzcGFue1xuXHRcdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTs7XG5cdFx0LyogQmlnIGJ1dHRvbiBzdHlsZSAqL1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHQgICAgfVxuXHQgICAgc3Zne1xuXHRcdG1hcmdpbi1sZWZ0OjA7XG5cdFx0cGF0aCB7XG5cdFx0ICAgIHN0cm9rZTogJGJyYW5kLXByaW1hcnk7XG5cdFx0fVxuXHRcdGxpbmUge1xuXHRcdCAgICBzdHJva2U6ICRicmFuZC1wcmltYXJ5O1xuXHRcdH1cblx0ICAgIH1cblxuXHQgICAgOmhvdmVyLCA6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6ICRncmV5LWxpZ2h0O1xuXHRcdC8qIGhvdmVyIHNoYWRvdyAqL1xuXHRcdGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdCAgICB9XG5cblx0ICAgIFxuXHR9XG5cdC50ZXJ0aWFyeS1idXR0b246aG92ZXIsIC50ZXJ0aWFyeS1idXR0b246Zm9jdXMge1xuXHQgICAgYmFja2dyb3VuZDogJGdyZXktbGlnaHQ7XG5cdCAgICAvKiBob3ZlciBzaGFkb3cgKi9cblx0ICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0ICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0fVxuXG5cdFxuICAgIH1cbn1cbiIsIi5wcmV2aWV3LWN1c3RvbWl6ZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyBcblxuICAgIC5wcmV2aWV3LW1vbnRhZ2V7XG4gXHRiYWNrZ3JvdW5kOiAkZ3JleS1saWdodGVzdDtcblxuICAgICAgICAmLmhhcy1iZ3tcbiAgICAgICAgICAgIC5pbWFnZS13cmFwcGVye1xuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlLXdyYXBwZXJ7XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7IFxuXHRcdGJvcmRlci1yYWRpdXM6IDhweDsgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmFuZG9tLWJhY2tncm91bmR7XG4gICAgICAgICAgICBpe1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcmFuZG9tLWJ1dHRvbik7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcmFuZG9tLWJ1dHRvbik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3Zne1xuICAgICAgICAgICAgICAgICAgICAuc3ZnLWJhY2tncm91bmR7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMtY3VzdG9taXplLCByYW5kb20tYnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcmFuZG9tLWJ1dHRvbik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICAgIC5wcmV2aWV3LW1vbnRhZ2Uge1xuXHQgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICAgIC5pbmNsdWRlZC1mb3JtYXRzIHtcbiAgICAgICAgICAgICAgICAudG9wIHtcbiAgICAgICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGluY2x1ZGVkLWl0ZW1zKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Bhbi5pcy1tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcHBpbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC50ZXJ0aWFyeS1idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGluY2x1ZGVkLWl0ZW1zLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCB0ZXJ0aWFyeS1idG4tdGV4dCkgY2FsYygxMDAlLzMpLCB0cmFuc3BhcmVudCAwIGNhbGMoMjAwJS8zKSwgbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHRlcnRpYXJ5LWJ0bi10ZXh0KSAwKSB2YXIoLS1kLCAxMDAlKSAxMDAlIC8zMDAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuXG4gICAgfVxufVxuIiwiLnRvb2xzLWN1c3RvbWl6ZXtcbiAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBiYWNrZ3JvdW5kKTtcblxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jdXN0b21pemUsIGJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIC50b29scy1jb250ZW50IHtcbiAgICAgICAgLmVycm9yIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY3VzdG9taXplLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pe1xuXG4gICAgfVxufVxuIiwiLmZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDMycHg7XG4gICAgLmZvb3Rlcl9fd3JhcHBlciB7XG4gICAgICAgICYuaXMtbWFpbi1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5LWRhcmtlc3Q7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWZvb3RlciwgbWFpbi1jb250ZW50LXRleHQpO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLWZvb3RlciwgbWFpbi1jb250ZW50LWxpbmstY29sb3IpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBtYWluLWNvbnRlbnQtbGluay1ob3Zlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1hZHZhbnRhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeS1taWRsaWdodDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1mb290ZXIsIGFkdmFudGFnZS10ZXh0KTtcblxuICAgICAgICAuZm9vdGVyLWFkdmFudGFnZV9fdGV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItc29jaWFscyB7XG4gICAgICAgIC5mb290ZXItc29jaWFsc19fbGluayB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cywge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHJlY3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbWFwLWdldCgkY29sb3JzLWZvb3Rlciwgc29jaWFsLWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID4gZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRjb2xvcnMtZm9vdGVyLCBzb2NpYWwtaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbWFwLWdldCgkY29sb3JzLWZvb3Rlciwgc29jaWFsLWhvdmVyLWxvZ28pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fd2Vic2l0ZSB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgIH1cblxuICAgIC5mb290ZXItbmF2IHtcbiAgICAgICAgLmZvb3Rlci1uYXZfX2xpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIC5mb290ZXItY29udGFjdHMge1xuICAgICAgICAgICAgLmZvb3Rlci1jb250YWN0c19fbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ib2xkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGVhZGVyLWNhdGVnb3J5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyLCBiYWNrZ3JvdW5kKTtcblxuICAgICYub3BlbiB7XG4gICAgICAgIC5zZWxlY3RlZC1zZXNzaW9uLXNlbGVjdG9yLFxuICAgICAgICAuc2Nyb2xsaW5nLXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNhdGVnb3J5LWhlYWRlciwgc2Vzc2lvbi1vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAuc2Nyb2xsaW5nLXdyYXBwZXIge1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCA4cHggMzBweCByZ2JhKDAsMCwwLC4xNikpO1xuXG4gICAgICAgIC5zY3JvbGwge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hbm8tcGFuZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRjb2xvcnMtY2F0ZWdvcnktaGVhZGVyLCBuYW5vLXBhbmUpO1xuXG4gICAgICAgICAgICAubmFuby1zbGlkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcF9nZXQoJGNvbG9ycy1jYXRlZ29yeS1oZWFkZXIsIG5hbm8tc2xpZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXNzaW9uLXNlbGVjdG9yLCAuc2VsZWN0ZWQtc2Vzc2lvbi1zZWxlY3RvciB7XG5cdGNvbG9yOiRncmV5LWRhcms7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm5hbWUsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFya2VzdDtcbiAgICAgICAgICAgIH1cblx0ICAgIC5zZXNzaW9uLW5hbWV7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cdCAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwX2dldCgkY29sb3JzLWNhdGVnb3J5LWhlYWRlciwgc2Vzc2lvbi1pbWctYmFja2dyb3VuZCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDIwcHggcmdiYSgwLCAwLCAgMCwgMC4xKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zdXBwb3J0LW1vZGUtYmFubmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItU3RhdHVzLUluZm8tY29sb3JJbmZvQWN0aXZlLCAjMjU2M0VCKTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUsICNGRkYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IC8qIDEyNSUgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwMDtcblxuXG4gICAgLy8gQWRqdXN0IHRvcCBpZiBwcmVjZWRlZCBieSAubWVzc2FnZXMuc3VwcG9ydC1tb2RlXG4gICAgLm1lc3NhZ2VzLnN1cHBvcnQtbW9kZSArICYge1xuXHR0b3A6IDQ5cHg7XG4gICAgfVxuXG4gICAgXG59XG5cbi5zZWFzb25hbC1wcm9tby1iYW5uZXJ7XG4gICAgXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnktbGlnaHQ7XG5cbiAgICAucHJvbW8tY29sdW1uMSx7XG5cdC5wcm9tby10aXRsZXtcblx0ICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0fVxuXG5cdC5wcm9tby1kZXNjcmlwdGlvbntcblx0ICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0fVxuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRkZGIDc5LjM1JSwgJGJyYW5kLXByaW1hcnktbGlnaHQgNzkuMzYlKTtcbn1cblxuLnNlYXNvbmFsLXByb21vLWJhbm5lci1wcm9tby1wYWdle1xuICAgIFxuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuXG4gICAgLnByb21vLXRpdGxle1xuXHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLnByb21vLWRlc2NyaXB0aW9ue1xuXHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxuXG59XG5cblxuaGVhZGVye1xuXG4gICAgXG4gICAgJi5jb25uZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcblx0cGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgfVxuICAgICYuc3VwcG9ydC1tb2RlIHtcblx0bWFyZ2luLXRvcDo1MHB4O1xuICAgIH1cblxuICAgIGEubWFpbi1oZWFkZXItbGluayB7XG5cdGNvbG9yOiAkZ3JleS1kYXJrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCYuc2VsZWN0ZWQge1xuXHQgICAgYm9yZGVyOiAwO1xuXHQgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR3aWR0aDogNzAlO1xuXHRcdGhlaWdodDogMnB4OyBcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgfVxuXHR9XG5cblx0XG5cdCY6aG92ZXIge1xuXHQgICAgY29sb3I6ICRncmV5LWRhcmtlc3Q7XG5cdH1cblxuXHQmOmFjdGl2ZSB7XG5cdCAgICBjb2xvcjogJGdyZXktZGFya2VzdDsgLy8gUHJlc3NlZCBzdGF0ZVxuXHR9XG5cblx0Ji5pbmFjdGl2ZSB7XG5cdCAgICBjb2xvcjogJGdyZXk7IC8vIEluYWN0aXZlIHN0YXRlXG5cdH1cbiAgICB9XG4gICAgbmF2IHVsIGxpLmNhcnQtaWNvbiBhIHNwYW4uaXRlbS1jb3VudHtcblx0YmFja2dyb3VuZC1jb2xvcjokZ3JleS1kYXJrZXN0O1xuICAgIH1cblxuICAgIFxuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSwgI0ZGRik7XG4gICAgcGFkZGluZy10b3A6MjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6NTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjUwcHg7XG4gICAgLmhlYWRlci1pbmZve1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDQwcHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDsgXG5cdHAge1xuXHQgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHR9XG5cdC5sYW5nLXN3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogNy41cHggNnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdoaXRlLCAjRkZGKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ncmVlbiwgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTsgLy8gQW5jaG9yIHRleHQgY29sb3Igb24gaG92ZXJcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLCAjRkZGKTsgLy8gQW5jaG9yIHRleHQgY29sb3Igb24gaG92ZXIvZm9jdXNcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY29ubmVjdGVkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLCAjRkZGKTsgLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGZvciBjb25uZWN0ZWQgc3RhdGVcbiAgICAgICAgXG4gICAgICAgIC8vIFNldCBkZWZhdWx0IGNvbG9yIHdoZW4gLmxhbmctc3dpdGNoLmNvbm5lY3RlZFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGlzICRncmV5LWxpZ2h0IGZvciBjb25uZWN0ZWRcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktZ3JlZW4sICRicmFuZC1wcmltYXJ5LW1pZGxpZ2h0KTsgLy8gSG92ZXIgYmFja2dyb3VuZCBmb3IgY29ubmVjdGVkXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUsICNGRkYpOyAvLyBBbmNob3IgdGV4dCBjb2xvciBvbiBob3Zlci9mb2N1cyBmb3IgY29ubmVjdGVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuICAgIH1cbiAgICBuYXZ7XG4gICAgICAgIHVse1xuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1tZWRpdW0oKTtcblx0XHQgICAgY29sb3I6ICNGRkY7XG5cdFx0ICAgIGZvbnQtc2l6ZTogMTZweDtcblx0XHQgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdCAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3Vze1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZWFkZXIsIGxpbmstaG92ZXItdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICAgICAgICAgICAgYXtcblx0XHRcdGNvbG9yOiAjRkZGO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCwgbGluZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAjRkZGO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmNhcnQtbGluay13cmFwcGVye1xuICAgICAgICAgICAgICAgICAgICBzcGFue1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZWFkZXIsIGxpbmstdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtaGVhZGVyLCBiYWNrZ3JvdW5kLWl0ZW1zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblx0XHQuaGVhZGVyLWxvZ291dHtcblx0XHQgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuXHRcdCAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcblx0XHR9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLmhlcm8tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWhlcm8sIGJhY2tncm91bmQpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMtaGVybywgdGV4dCk7XG59XG4iLCIuaGVyby1ob21lIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkYnJhbmQtcHJpbWFyeSA1NS41JSwgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQgMTAwJSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1oZXJvLCB0ZXh0KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHRwYWRkaW5nLXRvcDogNjRweDtcbiAgICB9XG4gICAgXG4gICAgLmNvbC0xMiBidXR0b24ubG9naW5fX2FkZC1jb2RlLWJ0biwgLmNvbC1tZC0xMiBidXR0b24ubG9naW5fX2FkZC1jb2RlLWJ0biB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tYm90dG9tOjIwcHg7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRzdmd7XG5cdCAgICBsaW5lIHtcblx0XHRzdHJva2U6ICRicmFuZC1wcmltYXJ5OyBcblx0ICAgIH1cblxuXHR9XG4gICAgfVxuICAgIC5jb2wtMTIgYnV0dG9uLmZvcm0tbG9naW5fX3N1Ym1pdCwgLmNvbC1tZC0xMiBidXR0b24uZm9ybS1sb2dpbl9fc3VibWl0IHtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRsaW5lLWhlaWdodDogbm9ybWFsOyBcbiAgICB9XG4gICAgXG59XG4iLCIuaGVyby13ZWxjb21lIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG5cdC5tb2JpbGUtYWRkLWNvZGUge1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjokYnJhbmQtcHJpbWFyeS1saWdodGVzdDtcblx0fVxuICAgIH1cblxuICAgIFxuICAgIGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuXG4gICAgLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLCAubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJyYW5kLXByaW1hcnktbWlkbGlnaHQ7XG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgfVxuXG4gICAgXG5cbiAgICAuc2Vjb25kYXJ5LXJvdW5kLWJ0biB7XG4gICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWJnKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1iYXNlLXVpLCBzZWNvbmRhcnktYXJyb3ctYnRuLWJvcmRlcik7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbWFwLWdldCgkY29sb3JzLWJhc2UtdWksIHNlY29uZGFyeS1hcnJvdy1idG4tYm9yZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLWNvZGVzLXdyYXBwZXIge1xuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeS1saWdodDsgXG5cdCAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAgbWFwLWdldCgkY29sb3JzLWhlcm8td2VsY29tZSwgY29kZS1iZy1hY3RpdmUpO1xuXHQgICAgLnRleHRze1xuXHRcdGNvbG9yOiAkYnJhbmQtcHJpbWFyeS1kYXJrICFpbXBvcnRhbnQ7XG5cdCAgICB9XG5cdCAgICAuY29kZXN7XG5cdFx0aW5wdXR7XG5cdFx0ICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeS1kYXJrICFpbXBvcnRhbnQ7XG5cdFx0ICAgIGJvcmRlci1jb2xvcjp2YXIoLS1taWQtZ3JpLCAkZ3JleS1kYXJrZXN0KTtcblx0XHQgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdFx0bGFiZWx7XG5cdFx0ICAgIGNvbG9yOiB2YXIoLS1taWQtZ3JpLCAkZ3JleS1kYXJrZXN0KTtcblx0XHR9XG5cdCAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0YWNhcmRze1xuICAgICAgICAuZGF0YWNhcmR7XG4gICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLnBob3Rvc3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdG1hcmdpbi1ib3R0b206IDE2cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgICAgIH1cblxuXHQgICAgXG4gICAgICAgICAgICAucGhvdG8tY29udGFpbmVye1xuXHRcdCY6bnRoLWNoaWxkKDEpe1xuXHRcdCAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xuXHRcdH1cblx0XHQmOm50aC1jaGlsZCgyKXtcblx0XHQgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEycHg7XHRcdCAgICBcblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoMyl7XG5cdFx0ICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEycHg7ICBcblx0XHR9XG5cdFx0JjpudGgtY2hpbGQoNCl7XG5cdFx0ICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMnB4O1xuXHRcdH1cblx0XHRcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSwmOm50aC1jaGlsZCgzKXtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwX2dldCgkY29sb3JzLWhlcm8td2VsY29tZSwgcGhvdG8tYmcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tb3Jle1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgzNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9wcGlucy1ibGFjaygpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLWhlcm8td2VsY29tZSwgdGlsZS1hY3RpdmUtbGluayk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmltYWdlLXRleHQge1xuICAgIC5yb3cge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWRhcmtlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXRleHRzIHtcbiAgICAgICAgICAgICoge1xuXHRcdGNvbG9yOiAkZ3JleS1kYXJrZXN0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1lc3NhZ2VzIHtcbiAgICAubWVzc2FnZSB7XG4gICAgICAgICYuaXMtaW5mbywgJi5pcy13YXJuaW5nIHtcbiAgICAgICAgICAgIC5jbG9zZS1idG4ge1xuICAgICAgICAgICAgICAgIHN2ZyBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXBfZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIGNsb3NlLWJ0bik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1lcnJvciwgJi5pcy1zdWNjZXNzIHtcbiAgICAgICAgICAgIC5jbG9zZS1idG4ge1xuICAgICAgICAgICAgICAgIHN2ZyBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBtYXBfZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIGNsb3NlLWJ0bi13aGl0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1pbmZvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgYmFja2dyb3VuZC1pbmZvKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtd2FybmluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIGJhY2tncm91bmQtd2FybmluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWVycm9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1tZXNzYWdlcywgYmFja2dyb3VuZC1lcnJvcik7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCB0ZXh0LXdoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtc3VjY2VzcyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbWVzc2FnZXMsIGJhY2tncm91bmQtc3VjY2Vzcyk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3JzLW1lc3NhZ2VzLCB0ZXh0LXdoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3BwaW5zLWJvbGQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJ0aWNsZXN7XG4gICAgICAgICAgICAmLnBhcnRpY2xlLTF7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGFydGljbGUtMntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucGFydGljbGUtM3tcbiAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWJvcmRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRpY2xlLTR7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRpY2xlLTV7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1ib3JkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wYXJ0aWNsZS02e1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG4ubm90aWNlLWJhcntcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBiYWNrZ3JvdW5kKTtcblxuICAgIHB7XG4gICAgICAgIEBpbmNsdWRlIHBvcHBpbnMtYm9sZCgpO1xuICAgIH1cblxuICAgIC5wYXJ0aWNsZXN7XG4gICAgICAgICYucGFydGljbGUtMXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5wYXJ0aWNsZS0ye1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtY29sb3ItMik7XG4gICAgICAgIH1cbiAgICAgICAgJi5wYXJ0aWNsZS0ze1xuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1ib3JkZXIpO1xuICAgICAgICB9XG4gICAgICAgICYucGFydGljbGUtNHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycy1ub3RpY2UsIHBhcnRpY2xlLWNvbG9yLTEpO1xuICAgICAgICB9XG4gICAgICAgICYucGFydGljbGUtNXtcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgbWFwLWdldCgkY29sb3JzLW5vdGljZSwgcGFydGljbGUtYm9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgICAmLnBhcnRpY2xlLTZ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb2xvcnMtbm90aWNlLCBwYXJ0aWNsZS1jb2xvci0yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5vcmRlcmluZy13aWRnZXQtc2xpZGVye1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWxpZ2h0ZXN0O1xuICAgIC5vcmRlcmluZy13aWRnZXQtaXRlbXtcblx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnktbGlnaHQ7XG4gICAgfVxufVxuIiwiLnRleHQtcGFnZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXBfZ2V0KCRjb2xvcnMtdGV4dC1wYWdlLCBiYWNrZ3JvdW5kKTtcblxuICAgIC5oZWFkaW5nLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgbWFwX2dldCgkY29sb3JzLXRleHQtcGFnZSwgaGVhZGluZy1iYWNrZ3JvdW5kKTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY29sb3JzLXRleHQtcGFnZSwgaGVhZGluZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY3VzdG9taXplLXBhZ2V7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sb3JzLWN1c3RvbWl6ZSwgcHJldmlldy1iZyk7XG5cbiAgICAmLnNjcm9sbC1kaXNhYmxlZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/