:root {
  --color-light: #ffffff;
  --color-dark: rgb(29, 29, 29);
  --color-light-grey: #f3f3f3;
  --color-text: #999999;
  --color-default: var(--color-dark);
}

:root {
  --container-big-width: 1850px;
  --container-width: 1670px;
  --container-large-width: 1540px;
  --container-medium-width: 1290px;
  --container-small-width: 1180px;
  --container-extra-small-width: 980px;
  --container-mini-width: 630px;
  --block-min-width: 540px;
  --block-x-min-width: 500px;
  --block-extra-min-width: 380px;
  --block-min-height: 580px;
  --spacer-big: 30px;
}

@media (min-width: 992px) {
  :root {
    --spacer-big: 30px;
  }
}
@media (min-width: 1681px) {
  :root {
    --spacer-big: 50px;
  }
}
:root {
  --spacer-large: 20px;
}

@media (min-width: 992px) {
  :root {
    --spacer-large: 30px;
  }
}
:root {
  --spacer-medium: 25px;
  --spacer-small: 20px;
  --spacer-extra-small: 10px;
  --transition-default: all 0.3s ease-in-out;
  --font-family: "Nunito Sans", sans-serif;
  --font-family-title: "Nunito Sans", sans-serif;
  --font-family-menu: "Nunito Sans", sans-serif;
  --font-size: 1.125rem;
  --h1-font-size: clamp(2.25rem, 10vw, 8.75rem);
  --h1-font-weight: 600;
  --h1-margin-bottom: 10px;
  --h2-font-size: clamp(2.8125rem, 4vw, 5rem);
  --h2-font-weight: 600;
  --h2-margin-bottom: 10px;
  --h3-font-size: clamp(2.375rem, 5vw, 5.625rem);
  --h3-font-weight: 600;
  --h3-margin-bottom: 10px;
  --h4-font-size: clamp(2.125rem, 2vw, 3.75rem);
  --h4-font-weight: 600;
  --h4-margin-bottom: 10px;
  --h5-font-size: clamp(1.25rem, 2vw, 1.5rem);
  --h5-font-weight: 600;
  --h5-margin-bottom: 10px;
  --h6-font-size: 0.875rem;
  --h6-font-weight: 600;
  --h6-margin-bottom: 10px;
}

@-webkit-keyframes menu-show {
  0% {
    -webkit-transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes menu-show {
  0% {
    -moz-transform: translateY(0%);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@keyframes menu-show {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.animation {
  position: relative;
  overflow: hidden;
  width: 101%;
  display: flex !important;
  align-items: center;
  transform-origin: bottom left;
}

.animation .animated {
  line-height: 1.3;
}

@keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounceScroll {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounceScroll {
  display: inline-block;
  animation: bounceScroll 2s infinite;
}

.textShow {
  transform: translateY(100%);
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.textShow.visible {
  transform: translateY(0);
  transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.animateTop {
  opacity: 0;
  transform: translateY(130px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateTop.visible {
  opacity: 1;
  transform: translateY(0);
}

html, body {
  margin: 0;
  padding: 0;
  cursor: default;
}

img {
  height: auto;
  width: 100%;
}

.object-cover {
  object-fit: cover;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

.h-full {
  height: 100%;
}

.hidden {
  display: none;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-hidden {
  overflow: hidden;
}

.border-bottom {
  border-bottom: 1px solid var(--color-dark);
}

.border-bottom.light-grey {
  border-bottom: 1px solid rgba(18, 18, 18, 0.1);
}

.border-radius {
  border-radius: 6px;
}

.social-elem {
  display: inline-block;
  position: relative;
}

.social-elem a {
  position: relative;
  margin: 0 5px;
}

.social-elem a img {
  width: 30px;
  height: 30px;
}

.social-elem a img.default {
  position: relative;
}

.social-elem a img.hover {
  position: absolute;
  left: 0;
  opacity: 0;
  transition: var(--transition-default);
}

.social-elem a:hover img.default {
  opacity: 0;
  transition: var(--transition-default);
}

.social-elem a:hover img.hover {
  opacity: 1;
  transition: var(--transition-default);
}

.spacer {
  width: 100%;
}

.spacer.big {
  height: var(--spacer-big);
}

.spacer.large {
  height: var(--spacer-large);
}

.spacer.medium {
  height: var(--spacer-medium);
}

.spacer.small {
  height: var(--spacer-small);
}

.spacer.extra-small {
  height: var(--spacer-extra-small);
}

.container {
  width: 100%;
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
  box-sizing: border-box;
}

@media (min-width: 1200px) {
  .container {
    padding: 0 35px;
  }
}
.container.fluid {
  max-width: unset;
}

.container.big {
  max-width: var(--container-big-width);
}

.container.large {
  max-width: var(--container-large-width);
}

.container.medium {
  max-width: var(--container-medium-width);
}

.container.small {
  max-width: var(--container-small-width);
}

.container.extra-small {
  max-width: var(--container-extra-small-width);
}

@media (min-width: 992px) {
  .container.mini {
    max-width: var(--container-mini-width);
  }
}
@media (min-width: 992px) {
  .container.min-width {
    max-width: var(--block-min-width);
  }
}
@media (min-width: 992px) {
  .container.x-min-width {
    max-width: var(--block-x-min-width);
  }
}
@media (min-width: 992px) {
  .container.extra-min-width {
    max-width: var(--block-extra-min-width);
  }
}
.container.relative {
  position: relative;
}

.container.floated-right {
  margin-left: auto;
  margin-right: 0;
}

@media (max-width: 991px) {
  .container.floated-right {
    padding: 0;
  }
}
.container.floated-left {
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 991px) {
  .container.floated-left {
    padding: 0;
  }
}
.p-relative {
  position: relative;
  z-index: 1;
}

.d-flex {
  display: flex;
}

.d-flex::after, .d-flex::before {
  display: none;
}

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

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

.d-flex.align-center {
  align-items: center;
}

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

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

.d-flex.flex-wrap {
  flex-wrap: wrap;
}

.d-flex.justify-center {
  justify-content: center;
}

@media (max-width: 767px) {
  .d-flex.justify-mobile-center {
    justify-content: center;
  }
}
.d-flex.justify-space-between {
  justify-content: space-between;
}

.d-flex.justify-space-evenly {
  justify-content: space-evenly;
}

.d-flex.justify-space-around {
  justify-content: space-around;
}

.d-flex.justify-start {
  justify-content: flex-start;
}

.d-flex.justify-end {
  justify-content: flex-end;
}

.d-flex.justify-desktop-start {
  justify-content: center;
}

@media (min-width: 992px) {
  .d-flex.justify-desktop-start {
    justify-content: flex-start;
  }
}
.d-flex.justify-desktop-end {
  justify-content: flex-start;
}

@media (min-width: 992px) {
  .d-flex.justify-desktop-end {
    justify-content: flex-end;
  }
}
@media (max-width: 991px) {
  .d-flex.justify-mobile-start {
    justify-content: flex-start;
  }
}
@media (max-width: 991px) {
  .d-flex.justify-mobile-center {
    justify-content: center;
  }
}
.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

@media (min-width: 576px) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-none {
    display: none;
  }
}
@media (min-width: 768px) {
  .d-md-block {
    display: block !important;
  }
  .d-md-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-none {
    display: none;
  }
}
@media (min-width: 1601px) {
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
}
.full-width {
  width: 100% !important;
  max-width: 100% !important;
}

.m-0 {
  margin: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.bg-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-section.with-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-dark {
  background-color: var(--color-dark);
}

.bg-dark:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light);
}

.bg-light {
  background-color: var(--color-light);
}

.bg-light:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-dark);
}

.bg-light-grey {
  background-color: var(--color-light-grey);
}

.bg-light-grey:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-dark);
}

.color-dark:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-dark *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-dark);
}

.color-light:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light);
}

.color-light-grey:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light-grey *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light-grey);
}

.color-text:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-text *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-text);
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

@media (min-width: 992px) {
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
}
.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-6 {
  order: 6 !important;
}

@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/");
  src: url("../fonts/?#iefix") format("embedded-opentype"), url("../fonts/NunitoSans10pt-Light.woff2") format("woff2"), url("../fonts/NunitoSans10pt-Light.woff") format("woff"), url("../fonts/NunitoSans10pt-Light.ttf") format("truetype"), url("../fonts/NunitoSans10pt-Light.svg#NunitoSans10pt-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans10pt-Regular.eot");
  src: url("../fonts/NunitoSans10pt-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/NunitoSans10pt-Regular.woff2") format("woff2"), url("../fonts/NunitoSans10pt-Regular.woff") format("woff"), url("../fonts/NunitoSans10pt-Regular.ttf") format("truetype"), url("../fonts/NunitoSans10pt-Regular.svg#NunitoSans10pt-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans10pt-Medium.eot");
  src: url("../fonts/NunitoSans10pt-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/NunitoSans10pt-Medium.woff2") format("woff2"), url("../fonts/NunitoSans10pt-Medium.woff") format("woff"), url("../fonts/NunitoSans10pt-Medium.ttf") format("truetype"), url("../fonts/NunitoSans10pt-Medium.svg#NunitoSans10pt-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans10pt-SemiBold.eot");
  src: url("../fonts/NunitoSans10pt-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/NunitoSans10pt-SemiBold.woff2") format("woff2"), url("../fonts/NunitoSans10pt-SemiBold.woff") format("woff"), url("../fonts/NunitoSans10pt-SemiBold.ttf") format("truetype"), url("../fonts/NunitoSans10pt-SemiBold.svg#NunitoSans10pt-SemiBold") format("svg");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans10pt-Bold.eot");
  src: url("../fonts/NunitoSans10pt-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NunitoSans10pt-Bold.woff2") format("woff2"), url("../fonts/NunitoSans10pt-Bold.woff") format("woff"), url("../fonts/NunitoSans10pt-Bold.ttf") format("truetype"), url("../fonts/NunitoSans10pt-Bold.svg#NunitoSans10pt-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans10pt-Black.eot");
  src: url("../fonts/NunitoSans10pt-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/NunitoSans10pt-Black.woff2") format("woff2"), url("../fonts/NunitoSans10pt-Black.woff") format("woff"), url("../fonts/NunitoSans10pt-Black.ttf") format("truetype"), url("../fonts/NunitoSans10pt-Black.svg#NunitoSans10pt-Black") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  font-weight: 400;
  line-height: 1.3;
  font-smooth: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body .light {
  font-weight: 300;
}

body .regular {
  font-weight: 400;
}

body .medium {
  font-weight: 500;
}

body .semibold {
  font-weight: 600;
}

body .bold {
  font-weight: bold;
}

body .black {
  font-weight: 900;
}

body .p-big {
  font-size: 1.125rem;
}

.inherit {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  display: inherit;
  font-family: inherit;
}

p, .p, strong, b, time, i {
  font-family: var(--font-family);
  color: var(--color-text);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 400;
  line-height: 1.5;
}

a {
  font-family: var(--font-family);
  color: var(--color-text);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 600;
  line-height: 1.5;
}

ul {
  padding-inline-start: 25px;
}

ul, li {
  font-family: var(--font-family);
  color: var(--color-text);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.5;
}

strong, b, .strong {
  font-weight: 700;
  color: var(--color-dark);
}

.text-shadow {
  text-shadow: 1px 1px 0 var(--color-light);
}

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-family-title);
  line-height: 1.2;
  display: block;
  color: var(--color-dark);
}

.h1 p, .h1 .p, .h1 ul, .h1 li, .h1 a, .h1 span, .h1 strong, .h1 .strong, .h1 b, .h1 time, .h1 i, .h2 p, .h2 .p, .h2 ul, .h2 li, .h2 a, .h2 span, .h2 strong, .h2 .strong, .h2 b, .h2 time, .h2 i, .h3 p, .h3 .p, .h3 ul, .h3 li, .h3 a, .h3 span, .h3 strong, .h3 .strong, .h3 b, .h3 time, .h3 i, .h4 p, .h4 .p, .h4 ul, .h4 li, .h4 a, .h4 span, .h4 strong, .h4 .strong, .h4 b, .h4 time, .h4 i, .h5 p, .h5 .p, .h5 ul, .h5 li, .h5 a, .h5 span, .h5 strong, .h5 .strong, .h5 b, .h5 time, .h5 i, .h6 p, .h6 .p, .h6 ul, .h6 li, .h6 a, .h6 span, .h6 strong, .h6 .strong, .h6 b, .h6 time, .h6 i {
  font-family: inherit;
  line-height: inherit;
  font-size: inherit;
  margin-bottom: inherit;
  margin-top: inherit;
}

.h1.p-style, .h2.p-style, .h3.p-style, .h4.p-style, .h5.p-style, .h6.p-style {
  font-family: var(--font-family);
}

.h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 0;
}

.h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 0;
}

.h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 0;
}

.h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 0;
}

.h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 0;
}

.h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 0;
}

.p h1, .p h2, .p h3, .p h4, .p h5, .p h6 {
  font-family: var(--font-family-title);
  line-height: 1.2;
  display: block;
  color: var(--color-dark);
}

.p h1 {
  font-size: calc(var(--h4-font-size) - 10%);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 0;
}

.p h2 {
  font-size: calc(var(--h4-font-size) - 40%);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 0;
}

.p h3 {
  font-size: calc(var(--h5-font-size) + 80%);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 0;
}

.p h4 {
  font-size: calc(var(--h5-font-size) + 50%);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 0;
}

.p h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 0;
}

.p h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 0;
}

.text-underline {
  text-decoration: underline;
}

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

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

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

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

@media (max-width: 991px) {
  .text-mobile-center {
    text-align: center;
  }
}
.text-uppercase {
  text-transform: uppercase;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-extralight {
  font-weight: 200;
}

.text-light {
  font-weight: 300;
}

.text-normal {
  font-weight: 400;
}

.text-semibold {
  font-weight: 500;
}

.text-bold {
  font-weight: 700;
}

.text-extra-bold {
  font-weight: 800;
}

.debug\:css {
  --debug-color: var(--color-default);
}

.debug\:css * {
  outline: 1px dashed var(--debug-color);
}

.debug\:css\:red {
  --debug-color: red;
}

.debug\:css\:red * {
  outline: 1px dashed var(--debug-color);
}

.block-grids {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 10px 25px;
  gap: 10px 25px;
}

@media (min-width: 992px) {
  .block-grids {
    grid-gap: 0px;
    gap: 0px;
  }
}
.block-grids.no-gap {
  grid-gap: 0;
  gap: 0;
}

.block-grids.small-gap {
  grid-gap: 16px;
  gap: 16px;
}

.block-grids.min-gap {
  grid-gap: 32px;
  gap: 32px;
}

@media (min-width: 992px) {
  .block-grids.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.left-big {
    grid-template-columns: 1.7fr 0.3fr;
  }
}
@media (min-width: 1500px) {
  .block-grids.columns-2.left-big {
    grid-template-columns: 1.7fr 0.3fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.left-big .grid:nth-child(2) {
    text-align: right;
  }
}
.block-grids.columns-2.menu-block {
  grid-gap: 0 20px;
  gap: 0 20px;
  margin-top: -60px;
}

@media (min-width: 992px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.menu-block {
    grid-template-columns: 1fr 0.8fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.blog-detail-block {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-2.blog-detail-block {
    grid-template-columns: 0.6fr 1.4fr;
  }
}
.block-grids.columns-2.servizi-block-menu {
  grid-template-columns: 0.9fr 1.1fr;
}

@media (min-width: 992px) {
  .block-grids.columns-2.servizi-block-menu {
    grid-template-columns: 0.9fr 1.1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.grid-footer {
    grid-template-columns: 1.7fr 0.3fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.block-grids.columns-3.vantaggi-grid {
  border-top: 1px solid var(--color-light-grey);
  padding-top: 30px;
  padding-bottom: 30px;
}

@media (min-width: 768px) {
  .block-grids.columns-3.vantaggi-grid {
    grid-template-columns: 0.2fr 0.5fr 0.7fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.vantaggi-grid {
    grid-template-columns: 0.2fr 0.5fr 0.7fr;
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.vantaggi-grid {
    grid-template-columns: 0.2fr 0.5fr 0.7fr;
  }
}
@media (min-width: 576px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.block-grids.columns-5 {
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.block-grids.columns-5.loghi-clienti {
  grid-template-columns: 1fr 1fr;
}

@media (min-width: 576px) {
  .block-grids.columns-5.loghi-clienti {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-5.loghi-clienti {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-5.loghi-clienti {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.block-grids .grid {
  position: relative;
}

.block-grids.inverted .grid:first-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.inverted .grid:first-child {
    order: 2;
  }
}
.block-grids.inverted .grid:last-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.inverted .grid:last-child {
    order: 1;
  }
}
.block-grids.mobile-inverted .grid:first-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted .grid:first-child {
    order: 1;
  }
}
.block-grids.mobile-inverted .grid:last-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted .grid:last-child {
    order: 2;
  }
}
ul.breadcrumbs {
  padding: 10px 0;
  margin: 0;
  list-style: none;
  align-items: center;
  text-align: left;
  display: flex;
  justify-content: start;
  position: relative;
  z-index: 1;
  color: var(--color-dark);
}

ul.breadcrumbs li {
  padding-left: 5px;
  padding-right: 5px;
  color: var(--color-dark);
  display: inline-flex;
  font-size: 12px;
  margin-bottom: 0;
  align-items: center;
}

ul.breadcrumbs li:first-child {
  padding-left: 0;
}

ul.breadcrumbs li a {
  color: var(--color-dark);
  font-size: 12px;
  margin-bottom: 0;
}

ul.breadcrumbs li:after {
  content: ">";
  margin-left: 10px;
}

ul.breadcrumbs li:last-child::after {
  display: none;
}

ul.breadcrumbs.light {
  color: var(--color-light);
}

ul.breadcrumbs.light li {
  color: var(--color-light);
}

ul.breadcrumbs.light li a {
  color: var(--color-light);
}

.bread-abs {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 2;
}

.btn {
  --border-radius: 6px;
  --bg-color: transparent;
  --text-color: var(--color-light);
  --border-color: transparent;
  --bg-color-hover: var(--color-light);
  --text-color-hover: var(--color-dark);
  --border-color-hover: var(--color-dark);
  position: relative;
  font-family: var(--font-family);
  transition: var(--transition-default);
  text-decoration: none;
  cursor: pointer;
  outline: none;
  text-align: center;
  border-radius: var(--border-radius);
  line-height: 1;
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 25px;
  border: 2px solid var(--border-color);
  color: var(--text-color);
}

@media (min-width: 576px) {
  .btn {
    width: auto;
  }
}
.btn span {
  position: relative;
  z-index: 1;
}

.btn:hover, .btn:focus, .btn:active, .btn:not(:disabled):active {
  transition: var(--transition-default);
  color: var(--text-color-hover);
  border: 2px solid var(--border-color-hover);
  background-color: var(--bg-color-hover);
}

.btn:hover:before, .btn:focus:before, .btn:active:before, .btn:not(:disabled):active:before {
  transition: var(--transition-default);
  opacity: 0;
  visibility: hidden;
}

.btn.btn-dark {
  color: var(--color-dark);
  border: 2px solid var(--color-dark);
  border-radius: 6px;
  background: linear-gradient(white, white) padding-box, linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%) border-box;
  transition: border 0.3s ease, background 0.3s ease;
}

.btn.btn-dark:hover, .btn.btn-dark:focus, .btn.btn-dark:active, .btn.btn-dark:not(:disabled):active {
  border-radius: 6px;
  border: 2px solid rgba(0, 0, 0, 0);
}

.btn.btn-grey {
  color: var(--color-dark);
  border: 2px solid var(--color-dark);
  border-radius: 6px;
  background: linear-gradient(#f3f3f3, #f3f3f3) padding-box, linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%) border-box;
  transition: border 0.3s ease, background 0.3s ease;
}

.btn.btn-grey:hover, .btn.btn-grey:focus, .btn.btn-grey:active, .btn.btn-grey:not(:disabled):active {
  border-radius: 6px;
  border: 2px solid rgba(0, 0, 0, 0);
}

.btn.btn-light {
  color: var(--color-light);
  border: 2px solid var(--color-light);
  border-radius: 6px;
  background: linear-gradient(white, white) padding-box, linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%) border-box;
  transition: border 0.3s ease, background 0.3s ease;
}

.btn.btn-light:hover, .btn.btn-light:focus, .btn.btn-light:active, .btn.btn-light:not(:disabled):active {
  border-radius: 6px;
  border: 2px solid rgba(0, 0, 0, 0);
}

.btn.btn-letters {
  margin-top: 15px;
}

@media (min-width: 992px) {
  .btn.btn-letters {
    margin-top: 0;
  }
}
@media (min-width: 1500px) {
  .btn.btn-letters {
    display: inline;
    margin-left: 40px;
    padding: 8px 25px;
  }
}
.btn.w-100 {
  width: 100%;
}

.cursor {
  width: 0;
  height: 0;
  background-color: #ddd;
  border-radius: 50%;
  position: fixed;
  transition-duration: 100ms;
  transition-timing-function: ease-out;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  cursor: default;
}

@media (max-width: 991px) {
  .cursor {
    display: none;
  }
}
.cursor span {
  opacity: 0;
  visibility: hidden;
  font-size: 14px;
  font-weight: 800;
  color: var(--color-light);
  transition-duration: 100ms;
  transition-timing-function: ease-out;
  position: absolute;
}

.cursor span i {
  margin: 0;
  color: var(--color-light);
  font-size: 1.125rem;
}

.cursor.change-color {
  animation: pulseCursor 1s infinite;
}

.cursor.expand {
  width: 60px;
  height: 60px;
  transition-duration: 100ms;
  transition-timing-function: ease-out;
  background-color: var(--color-dark);
}

@media (min-width: 992px) {
  .cursor.expand {
    width: 80px;
    height: 80px;
  }
}
.cursor.expand span {
  transition-duration: 100ms;
  transition-timing-function: ease-out;
}

.cursor.expand span.drag.show {
  opacity: 1;
  visibility: visible;
  font-weight: 800;
}

.cursor.expand span.view.show {
  opacity: 1;
  visibility: visible;
  font-weight: 800;
}

@keyframes pulseCursor {
  0% {
    transform: scale(1.1);
  }
  50% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1.1);
  }
}
.icona-form {
  width: 50px;
  height: 50px;
  cursor: pointer;
}

.form-contatti {
  display: block;
}

.form-contatti .contact-form {
  width: 100%;
}

.form-contatti .contact-form .form-group {
  display: block;
  align-items: center;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 16px;
    gap: 16px;
    margin-bottom: 30px;
  }
}
.form-contatti .contact-form .form-group.bg-group {
  border-radius: 6px;
  background: #54b3ed;
  background: linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%);
  padding: 0;
}

.form-contatti .contact-form .form-group.bg-group.active {
  padding: 2px;
}

.form-contatti .contact-form .form-group.bg-group .sfondo {
  width: 100%;
  padding: 15px;
  background-color: var(--color-light-grey);
  border-radius: 4px;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group.bg-group .sfondo {
    padding: 20px;
  }
}
.form-contatti .contact-form .form-group.bg-group .sfondo.servizi-sfondo {
  padding: 12px 0 12px;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group.bg-group .sfondo.servizi-sfondo {
    padding: 20px 0 14px;
  }
}
.form-contatti .contact-form .form-group.bg-group .sfondo.servizi-sfondo .title-form {
  padding: 0 15px;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group.bg-group .sfondo.servizi-sfondo .title-form {
    padding: 0 20px;
  }
}
.form-contatti .contact-form .form-group:last-child {
  margin-bottom: 0px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group.diff-size .form-input:last-child {
    max-width: 300px;
  }
}
.form-contatti .contact-form .form-group.allegato-form {
  margin-top: 25px;
  margin-bottom: 25px;
}

.form-contatti .contact-form .form-group.check-field {
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input {
  flex: 1;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0px;
  width: 100%;
  position: relative;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input {
    width: auto;
  }
}
.form-contatti .contact-form .form-group .form-input .title-form {
  color: var(--color-dark);
  font-size: 16px;
  font-weight: 600;
  display: block;
  font-family: var(--font-family);
}

.form-contatti .contact-form .form-group .form-input input[type=text], .form-contatti .contact-form .form-group .form-input input[type=number], .form-contatti .contact-form .form-group .form-input input[type=email], .form-contatti .contact-form .form-group .form-input input[type=password], .form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  padding: 10px 0 0 0;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0);
  color: var(--color-text);
  font-size: 16px;
  font-weight: 400;
  font-family: var(--font-family);
}

.form-contatti .contact-form .form-group .form-input input[type=text]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::placeholder, .form-contatti .contact-form .form-group .form-input textarea::placeholder {
  color: var(--color-text);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea:-ms-input-placeholder {
  color: var(--color-text);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea::-ms-input-placeholder {
  color: var(--color-text);
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=number]::-webkit-outer-spin-button, .form-contatti .contact-form .form-group .form-input input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.form-contatti .contact-form .form-group .form-input input[type=number] {
  -moz-appearance: textfield;
}

.form-contatti .contact-form .form-group .form-input select {
  width: 100%;
  outline: none;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  padding: 10px 15px 6px;
  background-color: rgba(0, 0, 0, 0);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-position: 98% center;
  background-repeat: no-repeat;
  background-image: url(../img/icone/select.png);
  background-size: 24px;
  box-sizing: border-box;
  color: var(--color-text);
  position: relative;
  z-index: 1;
  font-size: 16px;
  font-weight: 400;
  font-family: var(--font-family);
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input select {
    padding: 10px 20px 6px;
  }
}
.form-contatti .contact-form .form-group .form-input select + .select-arrow {
  position: absolute;
  right: 15px;
  top: 12px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  font-family: var(--font-family);
}

.form-contatti .contact-form .form-group .form-input.privacy-container {
  display: flex;
  align-items: baseline;
  margin-bottom: 5px;
  position: relative;
}

.form-contatti .contact-form .form-group .form-input.privacy-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 15px;
  width: 15px;
  z-index: 2;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border: 1px solid #999;
  border-radius: 5px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 3px;
  top: 3px;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background: #54b3ed;
  background: linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%);
}

.form-contatti .contact-form .form-group .form-input.privacy-container input:checked ~ .checkmark:after {
  display: block;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label {
  font-size: 16px;
  color: var(--color-dark);
  padding-left: 26px;
  cursor: pointer;
  text-transform: initial !important;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label a {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-dark);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file [type=file] {
  display: none;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
  width: 100%;
  display: block;
  color: var(--color-dark);
  font-style: italic;
  text-decoration: underline;
  font-size: 11px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
    position: absolute;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
  --color-border: var(--color-dark);
  display: flex;
  align-items: center;
  border-radius: 0;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  padding: 10px 0 0 0;
  color: var(--color-dark);
  cursor: pointer;
  overflow: hidden;
  position: relative;
  background-color: rgba(0, 0, 0, 0);
  font-size: 16px;
  font-weight: 600;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
    font-size: 25px;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input svg {
  margin-right: 10px;
  flex-shrink: 0;
  fill: var(--color-default);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input span {
  color: inherit;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transition: var(--transition-default);
  opacity: 0.1;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file::after {
  content: url(../img/icone/upload.svg);
  position: absolute;
  right: 0;
  top: 56%;
  transform: translateY(-50%);
  z-index: 0;
}

@media (max-width: 991px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file::after {
    top: 80%;
    transform: translateY(-50%) scale(0.6);
    right: -10px;
  }
}
.form-contatti .contact-form.menu-contact .form-group {
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form.menu-contact .form-group {
    margin-bottom: 16px;
  }
}
.form-contatti .contact-form.dark .form-group.bg-group {
  background-color: hsla(0, 0%, 100%, 0.08);
}

.form-contatti .contact-form.dark .form-group .form-input .title-form {
  color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input input[type=text], .form-contatti .contact-form.dark .form-group .form-input input[type=number], .form-contatti .contact-form.dark .form-group .form-input input[type=email], .form-contatti .contact-form.dark .form-group .form-input input[type=password], .form-contatti .contact-form.dark .form-group .form-input textarea {
  color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input input[type=text]::placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=number]::placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=email]::placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=password]::placeholder, .form-contatti .contact-form.dark .form-group .form-input textarea::placeholder {
  color: #ccc;
}

.form-contatti .contact-form.dark .form-group .form-input input[type=text]:-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=number]:-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=email]:-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=password]:-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input textarea:-ms-input-placeholder {
  color: #ccc;
}

.form-contatti .contact-form.dark .form-group .form-input input[type=text]::-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=number]::-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=email]::-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input input[type=password]::-ms-input-placeholder, .form-contatti .contact-form.dark .form-group .form-input textarea::-ms-input-placeholder {
  color: #ccc;
}

.form-contatti .contact-form.dark .form-group .form-input select {
  border-bottom: 1px solid var(--color-dark);
  color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input.privacy-container .checkmark {
  border: 1px solid #999;
}

.form-contatti .contact-form.dark .form-group .form-input.privacy-container .checkmark:after {
  background-color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input.privacy-container label {
  color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input.privacy-container label a {
  color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input .pseudo-input-file .pseudo-files-list {
  color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input .pseudo-input-file .pseudo-button-input {
  border-bottom: 1px solid var(--color-light);
  color: var(--color-light);
}

.form-contatti .contact-form.dark .form-group .form-input .pseudo-input-file .pseudo-button-input:hover::before {
  background-color: rgba(0, 0, 0, 0);
}

.form-contatti .type-candidatura {
  display: block;
}

.form-contatti .type-candidatura.hide {
  display: none;
}

.form-contatti .type-candidatura span {
  display: inline-block;
  text-transform: initial;
}

[data-form-toggle] {
  display: none;
}

[data-form-toggle].active {
  display: block;
}

.loader-transition-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f8f7f5;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease-in-out;
}

.loader-transition-overlay.active {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.6s ease-in-out;
}

.scroll-element {
  position: absolute;
  left: -20px;
  transform: rotate(90deg);
  bottom: 90px;
  z-index: 2;
  cursor: pointer;
  padding: 10px;
}

@media (max-width: 768px) {
  .scroll-element {
    bottom: 50px;
    left: -40px;
    transform: rotate(90deg) scale(0.8);
  }
}
.scroll-element .line-vertical-base {
  display: inline-flex;
  width: 45px;
  height: 1px;
  border-top: 1px solid var(--color-light);
  padding-bottom: 3px;
  padding-right: 5px;
}

.scroll-element .text-scroll {
  display: inline-flex;
  margin: 0;
  padding-left: 10px;
  color: var(--color-light);
}

.letters-animation-container {
  position: relative;
}

.letters-animation-container .abs-occhiello {
  position: relative;
  margin-top: 15px;
}

@media (min-width: 1500px) {
  .letters-animation-container .abs-occhiello {
    position: absolute;
    max-width: 280px;
  }
}
@media (min-width: 1500px) {
  .letters-animation-container .letters-animation {
    display: inline;
    vertical-align: middle;
  }
}
@media (min-width: 1500px) {
  .letters-animation-container .letters-animation .letter:first-child {
    margin-left: 16%;
  }
}
.letters-animation-container.azienda .abs-occhiello {
  position: relative;
  margin-top: 15px;
}

@media (min-width: 1500px) {
  .letters-animation-container.azienda .abs-occhiello {
    margin-top: 18px;
    position: absolute;
    max-width: 480px;
  }
}
@media (min-width: 1500px) {
  .letters-animation-container.azienda .letters-animation .letter:first-child {
    margin-left: 420px;
  }
}
.servizi-block {
  display: grid;
  grid-template-columns: repeat(7, 0.5fr);
  gap: 10px;
}

.servizi-block .grid-item {
  overflow: hidden;
  position: relative;
  transition: opacity 0.3s, transform 0.3s;
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.servizi-block .grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.05);
  transition: transform 0.5s ease-in-out;
}

.servizi-block .grid-item .text-show {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 40px 30px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  background-color: rgba(1, 1, 1, 0.4);
  transition: transform 0.5s ease-in-out;
}

.servizi-block .grid-item .text-show .title-grid {
  overflow: hidden;
  display: flex;
}

.servizi-block .grid-item .text-show .title-grid .title {
  transform: translateY(0);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.servizi-block .grid-item .text-show .desc-grid {
  overflow: hidden;
}

.servizi-block .grid-item .text-show .desc-grid .desc {
  transform: translateY(0);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 0.1s;
}

.servizi-block .grid-item .text-show .icon-wrapper {
  display: inline-block;
  cursor: pointer;
  width: 52px;
  height: 52px;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-default);
}

.servizi-block .grid-item .text-show .icon-wrapper .plus-icon .st0 {
  fill: var(--color-light);
}

.servizi-block .grid-item .text-show .icon-wrapper .plus-icon .st1 {
  opacity: 0.4;
}

.servizi-block .grid-item .text-show .icon-wrapper .plus-icon .ring-bg {
  fill: none;
  stroke: rgba(243, 243, 243, 0.4);
  stroke-width: 4;
}

.servizi-block .grid-item .text-show .icon-wrapper .plus-icon .ring-progress {
  fill: none;
  stroke: var(--color-light);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 141.37;
  stroke-dashoffset: 141.37;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset 1s ease;
}

.servizi-block .grid-item.small {
  grid-column: span 7;
}

@media (min-width: 992px) {
  .servizi-block .grid-item.small {
    grid-column: span 3;
  }
}
.servizi-block .grid-item.small img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

@media (min-width: 992px) {
  .servizi-block .grid-item.small img {
    aspect-ratio: 12/10;
  }
}
.servizi-block .grid-item.wide {
  grid-column: span 7;
}

@media (min-width: 992px) {
  .servizi-block .grid-item.wide {
    grid-column: span 4;
  }
}
.servizi-block .grid-item.wide img {
  aspect-ratio: 16/10;
  object-fit: cover;
}

.servizi-block .grid-item:hover img {
  transform: scale(1);
  transition: transform 0.5s ease-in-out;
}

.servizi-block .grid-item:hover .text-show {
  background-color: rgba(1, 1, 1, 0.4);
  transition: transform 0.5s ease-in-out;
}

.servizi-block .grid-item:hover .text-show .title-grid .title {
  transform: translateY(0);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.servizi-block .grid-item:hover .text-show .desc-grid .desc {
  transform: translateY(0);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 0.1s;
}

.servizi-block .grid-item:hover .text-show .icon-wrapper {
  opacity: 1;
  visibility: visible;
  transition: var(--transition-default);
}

.servizi-block .grid-item:hover .text-show .icon-wrapper .plus-icon .ring-progress {
  stroke-dashoffset: 0;
}

.blog-block .bkg-gradient {
  background-image: url("../img/icone/bkg-big.png");
  background-size: 0;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-size 0.8s ease;
}

.blog-block .bkg-gradient .inside {
  transform: scale(1);
  transition: transform 0.8s ease;
}

.blog-block .bkg-gradient .inside .change-color {
  color: initial;
}

.blog-block .bkg-gradient .inside .change-color-p {
  color: var(--color-text);
}

.blog-block .bkg-gradient:hover {
  background-size: cover;
  transition: background-size 0.8s ease;
}

.blog-block .bkg-gradient:hover .inside {
  transform: scale(0.88);
  transition: transform 0.8s ease;
}

.blog-block .bkg-gradient:hover .inside .change-color, .blog-block .bkg-gradient:hover .inside .change-color-p {
  color: var(--color-light);
}

.parallax-image .parallax-animation-image {
  max-height: 970px;
  min-height: 970px;
  overflow: hidden;
  position: relative;
}

.parallax-image .parallax-animation-image img {
  position: absolute;
  left: 0;
  z-index: 0;
  bottom: 0;
  object-fit: cover;
  object-position: bottom;
  height: 100%;
}

@media (min-width: 992px) {
  .parallax-image .parallax-animation-image img {
    bottom: -100px;
    height: 1080px;
  }
}
.blog-detail-block .social-icons a {
  display: inline-block;
  margin-right: 10px;
}

.blog-detail-block .social-icons a:last-child {
  margin-right: 0;
}

.blog-detail-block .social-icons a img {
  width: 50px;
}

.tags-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}

.tags-list li {
  margin-right: 15px;
  margin-bottom: 10px;
}

.loghi-clienti img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
}

.select2-container {
  padding: 0 15px;
}

@media (min-width: 992px) {
  .select2-container {
    padding: 0 20px;
  }
}
.select2-container.select2-container--focus {
  outline: none !important;
  box-shadow: none !important;
}

.select2-container .selection .select2-selection--single {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 0;
  height: 38px;
}

.select2-container .selection .select2-selection--single .select2-selection__rendered {
  color: var(--color-text);
  padding: 10px 0;
  line-height: normal;
  outline: none;
  box-shadow: none;
}

.select2-container .selection .select2-selection--single .select2-selection__arrow {
  width: 25px;
  height: 25px;
  right: 8px;
  appearance: none;
  background-position: 100% center;
  background-repeat: no-repeat;
  background-image: url(../img/icone/select.png);
  background-size: 28px;
}

@media (min-width: 992px) {
  .select2-container .selection .select2-selection--single .select2-selection__arrow {
    right: 22px;
    background-size: 25px;
  }
}
.select2-container .selection .select2-selection--single .select2-selection__arrow b {
  display: none;
}

.select2-dropdown {
  background-color: var(--color-light-grey) !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
}

.select2-dropdown .select2-results__option--highlighted[aria-selected] {
  background: #54b3ed;
  background: linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%);
}

.home-slider .swiper-wrapper, .intro-elem .swiper-wrapper {
  display: flex;
  overflow-x: hidden;
}

.home-slider .img-slide, .intro-elem .img-slide {
  min-height: 100vh;
  max-height: 100vh;
  object-fit: cover;
  display: flex;
}

.home-slider .img-slide-overlay, .intro-elem .img-slide-overlay {
  min-height: 100vh;
  max-height: 100vh;
  object-fit: cover;
  display: flex;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.home-slider .title-slider, .intro-elem .title-slider {
  position: absolute;
  left: 50%;
  top: 35%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}

@media (min-width: 576px) {
  .home-slider .title-slider, .intro-elem .title-slider {
    top: unset;
    bottom: 48%;
    transform: translateX(-50%);
  }
}
.home-slider .desc-slider, .intro-elem .desc-slider {
  position: absolute;
  left: 50%;
  top: 65%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}

@media (min-width: 576px) {
  .home-slider .desc-slider, .intro-elem .desc-slider {
    top: unset;
    bottom: 38%;
    transform: translateX(-50%);
  }
}
@media (min-width: 1500px) {
  .home-slider .desc-slider, .intro-elem .desc-slider {
    bottom: 38%;
  }
}
.home-slider .desc-slider .text, .intro-elem .desc-slider .text {
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 600;
  margin-bottom: 10px;
}

.home-slider .home .title-slider, .intro-elem .home .title-slider {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
  text-align: center;
}

@media (min-width: 576px) {
  .home-slider .home .title-slider, .intro-elem .home .title-slider {
    top: unset;
    bottom: 48%;
    transform: translateX(-50%);
    text-align: left;
  }
}
.home-slider .home .desc-slider, .intro-elem .home .desc-slider {
  position: absolute;
  left: 50%;
  top: 65%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
  text-align: center;
}

@media (min-width: 576px) {
  .home-slider .home .desc-slider, .intro-elem .home .desc-slider {
    top: unset;
    bottom: 34%;
    transform: translateX(-50%);
    text-align: left;
  }
}
@media (min-width: 1500px) {
  .home-slider .home .desc-slider, .intro-elem .home .desc-slider {
    bottom: 38%;
  }
}
.home-slider .home .desc-slider .text, .intro-elem .home .desc-slider .text {
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 600;
  margin-bottom: 10px;
}

.home-slider .swiper-element, .intro-elem .swiper-element {
  position: absolute;
  bottom: 40px;
  z-index: 1;
}

@media (min-width: 768px) {
  .home-slider .swiper-element, .intro-elem .swiper-element {
    left: 50%;
    transform: translateX(-50%);
  }
}
.home-slider .swiper-element .swiper-pagination-number, .intro-elem .swiper-element .swiper-pagination-number {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 12px;
  letter-spacing: 0.5em;
  color: var(--color-light);
}

@media (min-width: 768px) {
  .home-slider .swiper-element .swiper-pagination-number, .intro-elem .swiper-element .swiper-pagination-number {
    padding-right: 160px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.home-slider .swiper-element .swiper-pagination, .intro-elem .swiper-element .swiper-pagination {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
}

@media (max-width: 767px) {
  .home-slider .swiper-element .swiper-pagination, .intro-elem .swiper-element .swiper-pagination {
    display: none;
  }
}
.home-slider .swiper-element .swiper-pagination .swiper-pagination-bullet, .intro-elem .swiper-element .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  display: block !important;
  opacity: 1 !important;
  width: auto;
  height: auto;
  margin: 10px !important;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
}

.home-slider .swiper-element .swiper-pagination .swiper-pagination-bullet .progress, .intro-elem .swiper-element .swiper-pagination .swiper-pagination-bullet .progress {
  transform: rotate(-90deg);
}

.home-slider .swiper-element .swiper-pagination .swiper-pagination-bullet .circle-origin, .intro-elem .swiper-element .swiper-pagination .swiper-pagination-bullet .circle-origin {
  fill: rgba(0, 0, 0, 0);
  stroke: rgba(244, 244, 244, 0);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 125.664px;
  stroke-dashoffset: 0;
}

.home-slider .swiper-element .swiper-pagination .swiper-pagination-bullet .dot, .intro-elem .swiper-element .swiper-pagination .swiper-pagination-bullet .dot {
  fill: #f4f4f4;
}

.home-slider .swiper-element .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active .circle-origin, .intro-elem .swiper-element .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active .circle-origin {
  stroke: #f4f4f4;
}

.swiper-button-next:after, .swiper-button-prev:after {
  padding: 20px;
}

.intro-elem:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

.azienda-slider.swiper {
  overflow: visible;
}

@media (min-width: 1400px) {
  .text-slider-container {
    margin-top: -16px;
  }
}
.text-slider-container .text-slider {
  display: flex;
  position: relative;
  text-align: center;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
}

.text-slider-container .text-slider .text-element {
  position: relative;
  padding-right: 40px;
  display: inline-block;
}

#contatti-menu {
  z-index: 100;
  width: 100vw;
  height: 100vh;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 800ms ease;
  opacity: 0;
  visibility: hidden;
}

#contatti-menu .overlay-contatti {
  z-index: 4;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 800ms ease;
  opacity: 0;
  visibility: hidden;
}

#contatti-menu .contatti-container {
  z-index: 5;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 98vw;
  padding-top: 1vw;
  display: flex;
  position: absolute;
  right: 1vw;
  transition: all 800ms ease;
  transform: translate3d(0px, 100vh, 0px);
  transform-style: preserve-3d;
}

@media (min-width: 768px) {
  #contatti-menu .contatti-container {
    width: 75vw;
  }
}
@media (min-width: 1024px) {
  #contatti-menu .contatti-container {
    width: 55vw;
  }
}
@media (min-width: 1400px) {
  #contatti-menu .contatti-container {
    width: 44vw;
  }
}
@media (min-width: 1600px) {
  #contatti-menu .contatti-container {
    width: 34vw;
  }
}
#contatti-menu .contatti-container .nav-contatti-content {
  background-color: var(--color-light);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  height: calc(100vh - 1vw);
  display: flex;
  position: relative;
}

#contatti-menu .contatti-container .nav-contatti-content .nav-contatti-header {
  z-index: 10;
  background-color: var(--color-light);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 1vw;
}

@media (min-width: 768px) {
  #contatti-menu .contatti-container .nav-contatti-content .nav-contatti-header {
    padding: 20px;
  }
}
#contatti-menu .contatti-container .nav-contatti-content .nav-contatti-header .title {
  font-size: clamp(1.625rem, 4vw, 2.25rem);
  margin: 0;
}

#contatti-menu .contatti-container .nav-contatti-content .nav-contatti-header .nav-contatti-close {
  cursor: pointer;
}

#contatti-menu .contatti-container .nav-contatti-content .nav-contatti-list-wrapper {
  scrollbar-width: none;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
  overflow: auto;
}

#contatti-menu .contatti-container .nav-contatti-content .nav-contatti-list-wrapper .nav-contatti-list {
  grid-column-gap: 1vw;
  grid-row-gap: 3vw;
  flex-flow: column;
  justify-content: flex-start;
  padding: 30vw 2vw 4vw;
  display: flex;
}

@media (min-width: 992px) {
  #contatti-menu .contatti-container .nav-contatti-content .nav-contatti-list-wrapper .nav-contatti-list {
    padding: 7vw 1vw 1vw;
    grid-row-gap: 1vw;
  }
}
#contatti-menu .contatti-container .nav-contatti-content .nav-contatti-list-wrapper .navigate-down {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-light);
  padding: 5px 0;
  cursor: pointer;
}

#contatti-menu .contatti-container .nav-contatti-content .nav-contatti-list-wrapper .navigate-down i {
  color: var(--color-dark);
  font-size: 30px;
  margin: 0;
}

#contatti-menu .contatti-container .nav-contatti-content .navigate-up {
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-light);
  padding: 5px 0;
  cursor: pointer;
  z-index: 1;
}

#contatti-menu .contatti-container .nav-contatti-content .navigate-up i {
  color: var(--color-dark);
  font-size: 30px;
  margin: 0;
}

body.contatti-menu-open #contatti-menu {
  opacity: 1;
  visibility: visible;
}

body.contatti-menu-open #contatti-menu .overlay-contatti {
  opacity: 1;
  visibility: visible;
}

body.contatti-menu-open #contatti-menu .contatti-container {
  transform: translate3d(0px, 0vh, 0px);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: all 0.5s ease-in-out;
  height: 90px;
}

@media (min-width: 1200px) {
  header {
    height: 100px;
  }
}
@media (min-width: 1640px) {
  header {
    height: 128px;
  }
}
header .header-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  height: 90px;
  padding: 0 10px;
  transition: all 0.5s ease-in-out;
  border-bottom: 1px solid hsla(0, 0%, 100%, 0);
}

@media (min-width: 1200px) {
  header .header-container {
    padding: 0 20px;
    height: 100px;
  }
}
@media (min-width: 1640px) {
  header .header-container {
    height: 128px;
  }
}
header .header-container .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: calc(100% - 135px);
  order: 1;
}

@media (min-width: 1200px) {
  header .header-container .logo-container {
    width: 300px;
  }
}
header .header-container .logo-container a {
  display: block;
}

header .header-container .logo-container a::after {
  content: none;
}

header .header-container .logo-container a .logo-dark {
  display: none;
}

header .header-container .logo-container a .logo-light {
  display: block;
}

header .header-container .logo-container a img {
  width: auto;
  transition: all 0.5s ease-in-out;
  vertical-align: middle;
  height: 48px;
}

header .header-container nav.menu-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 65px;
  order: 3;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container {
    align-items: flex-end;
    width: calc(100% - 380px);
  }
}
@media (min-width: 1400px) {
  header .header-container nav.menu-container {
    width: calc(100% - 380px);
  }
}
header .header-container nav.menu-container ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  transition: var(--transition-default);
  text-align: center;
  align-items: center;
}

@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translateX(100vw);
    border-top: 1px solid var(--color-light);
    margin-top: 90px;
    background-color: var(--color-light);
    height: calc(100vh - 90px);
  }
}
header .header-container nav.menu-container ul.menu li {
  padding: 0 30px;
  margin-bottom: 0;
  text-align: center;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li {
    padding: 0 20px;
  }
}
@media (min-width: 1400px) {
  header .header-container nav.menu-container ul.menu li {
    padding: 0 25px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu > a {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--color-dark);
  padding: 10px 0;
  margin-bottom: 0;
  cursor: pointer;
  transition: var(--transition-default);
  font-weight: 600;
  font-family: var(--font-family-title);
  font-size: 1.125rem;
  white-space: nowrap;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu > a {
    padding: 15px 0;
    display: inline-block;
    font-size: 1rem;
    color: var(--color-light);
  }
}
header .header-container nav.menu-container ul.menu li.link-menu > a:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -10px;
  width: 5px;
  height: 5px;
  background-color: var(--color-light);
  border-radius: 50px;
  transition: var(--transition-default);
  opacity: 0;
  visibility: hidden;
}

header .header-container nav.menu-container ul.menu li.link-menu > a.active, header .header-container nav.menu-container ul.menu li.link-menu > a:hover {
  transition: var(--transition-default);
}

header .header-container nav.menu-container ul.menu li.link-menu > a.active:before, header .header-container nav.menu-container ul.menu li.link-menu > a:hover:before {
  opacity: 1;
  visibility: visible;
  transition: var(--transition-default);
}

header .header-container nav.menu-container ul.menu li.link-menu.mobile {
  display: block;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu.mobile {
    display: none;
  }
}
@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu-btn {
    padding-right: 0;
  }
}
@media (max-width: 1199px) {
  header .header-container nav.menu-container ul.menu li.link-menu-btn {
    margin-top: 15px;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header {
  position: relative;
  color: var(--color-light);
  border: 2px solid var(--color-light);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0);
  padding: 10px 22px;
  z-index: 0;
  overflow: hidden;
  transition: border-color 0.3s ease;
}

header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  border-radius: 6px;
  padding: 2px;
  background: linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: -1;
}

header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header span {
  color: var(--color-light);
  position: relative;
  z-index: 1;
  font-size: 1.125rem;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header span {
    font-size: 1rem;
  }
}
header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:hover, header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:focus, header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:active, header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active {
  border: 2px solid rgba(0, 0, 0, 0);
}

header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:hover:before, header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:focus:before, header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:active:before, header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active:before {
  opacity: 1;
  visibility: visible;
}

header .header-container nav.menu-container .hamburger {
  position: relative;
  width: 35px;
  height: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  box-sizing: content-box;
  padding: 15px;
  cursor: pointer;
}

@media (min-width: 1200px) {
  header .header-container nav.menu-container .hamburger {
    display: none;
  }
}
header .header-container nav.menu-container .hamburger::before, header .header-container nav.menu-container .hamburger::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-light);
  transition: var(--transition-default);
}

header .header-container .lang-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 70px;
  order: 2;
  justify-content: center;
  z-index: 2;
}

@media (min-width: 1200px) {
  header .header-container .lang-container {
    display: flex;
    order: 4;
    width: 80px;
  }
}
header .header-container .lang-container .link-cta.desktop {
  display: none;
}

@media (min-width: 1200px) {
  header .header-container .lang-container .link-cta.desktop {
    display: block;
  }
}
header .header-container .lang-container .language-menu-container {
  position: relative;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

header .header-container .lang-container .language-menu-container .selected-language {
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  z-index: 2;
  padding: 5px 15px;
}

header .header-container .lang-container .language-menu-container .selected-language i {
  margin: 0;
  position: absolute;
  right: 2px;
  font-size: 10px;
  top: 10px;
  color: var(--color-light);
}

header .header-container .lang-container .language-menu-container .selected-language img {
  vertical-align: middle;
}

header .header-container .lang-container .language-menu-container .selected-language span {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-light);
}

header .header-container .lang-container .language-menu-container .language-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: var(--transition-default);
  list-style: none;
  padding: 0;
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
  width: 100%;
  text-align: center;
}

header .header-container .lang-container .language-menu-container .language-menu li a {
  margin: 0;
  padding: 5px;
}

header .header-container .lang-container .language-menu-container .language-menu li a span {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-light);
}

header .header-container .lang-container .language-menu-container .language-menu li.hide {
  display: none;
}

header.light-header {
  background-color: var(--color-light);
}

header.light-header .header-container {
  border-bottom: 1px solid rgba(29, 29, 29, 0);
}

header.light-header .header-container .logo-container a .logo-dark {
  display: block;
}

header.light-header .header-container .logo-container a .logo-light {
  display: none;
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu a:before {
  background-color: var(--color-dark);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu.megamenu a[data-open-submenu] .plus svg path {
  fill: var(--color-dark);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header {
  color: var(--color-dark);
  border: 2px solid var(--color-dark);
  background: rgba(0, 0, 0, 0);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:before {
  background: linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header span {
  color: var(--color-dark);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:hover, header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:focus, header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:active, header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active {
  border: 2px solid rgba(0, 0, 0, 0);
}

header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:hover:before, header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:focus:before, header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:active:before, header.light-header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active:before {
  opacity: 1;
  visibility: visible;
}

header.light-header .header-container nav.menu-container .hamburger::before, header.light-header .header-container nav.menu-container .hamburger::after {
  background-color: var(--color-dark);
}

header.light-header .header-container .lang-container .language-menu-container .selected-language i {
  color: var(--light-dark);
}

header.light-header .header-container .lang-container .language-menu-container .selected-language span {
  color: var(--color-dark);
}

header.light-header .header-container .lang-container .language-menu-container .language-menu li span {
  color: var(--color-dark);
}

body {
  transition: var(--transition-default);
}

body.menu-open header {
  background-color: var(--color-light);
}

body.menu-open header .header-container .logo-container a .logo-dark {
  display: block;
}

body.menu-open header .header-container .logo-container a .logo-light {
  display: none;
}

body.menu-open header nav.menu-container ul.menu {
  transform: translateX(0);
}

body.menu-open header nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

body.menu-open header nav.menu-container ul.menu li.link-menu a:before {
  background-color: var(--color-dark);
}

body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header {
  color: var(--color-dark);
  border: 2px solid var(--color-dark);
  background: rgba(0, 0, 0, 0);
}

body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:before {
  background: linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header span {
  color: var(--color-dark);
}

body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:hover, body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:focus, body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:active, body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active {
  border: 2px solid rgba(0, 0, 0, 0);
}

body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:hover:before, body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:focus:before, body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:active:before, body.menu-open header nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active:before {
  opacity: 1;
  visibility: visible;
}

body.menu-open header nav.menu-container .hamburger::before {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(6px) rotate(45deg);
  background-color: var(--color-dark);
}

@media (max-width: 991px) {
  body.menu-open header nav.menu-container .hamburger::before {
    transform: translateY(7px) rotate(45deg);
  }
}
body.menu-open header nav.menu-container .hamburger::after {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(-8px) rotate(-45deg);
  background-color: var(--color-dark);
}

body.menu-open header .lang-container .language-menu-container .selected-language i {
  color: var(--light-dark);
}

body.menu-open header .lang-container .language-menu-container .selected-language span {
  color: var(--color-dark);
}

body.menu-open header .lang-container .language-menu-container .language-menu li span {
  color: var(--color-dark);
}

body.sticky-header header {
  background-color: var(--color-light);
  transition: all 0.5s ease-in-out;
  height: 80px;
}

body.sticky-header header .header-container {
  height: 80px;
  transition: all 0.5s ease-in-out;
  border-bottom: 1px solid rgba(29, 29, 29, 0.2);
}

body.sticky-header header .header-container .logo-container a .logo-dark {
  display: block;
}

body.sticky-header header .header-container .logo-container a .logo-light {
  display: none;
}

body.sticky-header header .header-container .logo-container a img {
  max-height: 60px;
}

@media (min-width: 1200px) {
  body.sticky-header header .header-container .logo-container a img {
    max-height: 55px;
  }
}
@media (max-width: 1199px) {
  body.sticky-header header .header-container nav.menu-container ul.menu {
    margin-top: 80px;
  }
}
body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu a:before {
  background-color: var(--color-dark);
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header {
  color: var(--color-dark);
  border: 2px solid var(--color-dark);
  background: rgba(0, 0, 0, 0);
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:before {
  background: linear-gradient(135deg, rgb(84, 179, 237) 0%, rgb(240, 41, 41) 53%, rgb(250, 139, 61) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header span {
  color: var(--color-dark);
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:hover, body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:focus, body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:active, body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active {
  border: 2px solid rgba(0, 0, 0, 0);
}

body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:hover:before, body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:focus:before, body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:active:before, body.sticky-header header .header-container nav.menu-container ul.menu li.link-menu-btn .btn-header:not(:disabled):active:before {
  opacity: 1;
  visibility: visible;
}

body.sticky-header header .header-container nav.menu-container .hamburger::before {
  background-color: var(--color-dark);
}

body.sticky-header header .header-container nav.menu-container .hamburger::after {
  background-color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .language-menu-container .selected-language i {
  color: var(--light-dark);
}

body.sticky-header header .header-container .lang-container .language-menu-container .selected-language span {
  color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .language-menu-container .language-menu li span {
  color: var(--color-dark);
}

body.language-menu-open header .header-container .lang-container .language-menu-container .language-menu {
  opacity: 1;
  transform: translateY(0px);
  pointer-events: auto;
}

.whatsapp-fixed {
  position: fixed;
  bottom: 5px;
  right: 10px;
  z-index: 2;
  width: 58px;
}

@media (min-width: 992px) {
  .whatsapp-fixed {
    display: none;
  }
}
.whatsapp-fixed::after {
  content: none;
}

footer {
  position: relative;
}

@media (max-width: 991px) {
  footer .copyright {
    text-align: center;
  }
}
footer .copyright p {
  display: inline-block;
}

footer .copyright p a {
  display: inline-block;
}

@media (min-width: 992px) {
  footer .copyright.right {
    text-align: right;
  }
}
#servizi-menu {
  z-index: 100;
  width: 100vw;
  height: 100vh;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 800ms ease;
  opacity: 0;
  visibility: hidden;
}

#servizi-menu .overlay-servizi {
  z-index: 4;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 800ms ease;
  opacity: 0;
  visibility: hidden;
}

#servizi-menu .servizi-container {
  z-index: 5;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 98vw;
  padding-top: 1vw;
  display: flex;
  position: absolute;
  right: 1vw;
  transition: all 800ms ease;
  transform: translate3d(0px, 100vh, 0px);
  transform-style: preserve-3d;
}

@media (min-width: 768px) {
  #servizi-menu .servizi-container {
    width: 75vw;
  }
}
@media (min-width: 1024px) {
  #servizi-menu .servizi-container {
    width: 55vw;
  }
}
@media (min-width: 1400px) {
  #servizi-menu .servizi-container {
    width: 44vw;
  }
}
@media (min-width: 1600px) {
  #servizi-menu .servizi-container {
    width: 34vw;
  }
}
#servizi-menu .servizi-container .nav-servizi-content {
  background-color: var(--color-light);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  height: calc(100vh - 1vw);
  display: flex;
  position: relative;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-header {
  z-index: 10;
  background-color: var(--color-light);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 1vw;
}

@media (min-width: 768px) {
  #servizi-menu .servizi-container .nav-servizi-content .nav-servizi-header {
    padding: 20px;
  }
}
#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-header .title {
  font-size: clamp(1.625rem, 4vw, 2.25rem);
  margin: 0;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-header .nav-servizi-close {
  cursor: pointer;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper {
  scrollbar-width: none;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
  overflow: auto;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper .nav-servizi-list {
  grid-column-gap: 1vw;
  grid-row-gap: 3vw;
  flex-flow: column;
  justify-content: flex-start;
  padding: 30vw 2vw 4vw;
  display: flex;
}

@media (min-width: 992px) {
  #servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper .nav-servizi-list {
    padding: 7vw 1vw 1vw;
    grid-row-gap: 1vw;
  }
}
#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper .nav-servizi-list a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 0.5s ease-in-out;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper .nav-servizi-list a .title-servizio {
  font-size: clamp(1rem, 4vw, 1.25rem);
  font-weight: 600;
  margin: 0;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper .nav-servizi-list a:hover img {
  transform: scale(0.95);
  transition: transform 0.5s ease-in-out;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper .navigate-down {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-light);
  padding: 5px 0;
  cursor: pointer;
}

#servizi-menu .servizi-container .nav-servizi-content .nav-servizi-list-wrapper .navigate-down i {
  color: var(--color-dark);
  font-size: 30px;
  margin: 0;
}

#servizi-menu .servizi-container .nav-servizi-content .navigate-up {
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-light);
  padding: 5px 0;
  cursor: pointer;
  z-index: 1;
}

#servizi-menu .servizi-container .nav-servizi-content .navigate-up i {
  color: var(--color-dark);
  font-size: 30px;
  margin: 0;
}

body.servizi-menu-open #servizi-menu {
  opacity: 1;
  visibility: visible;
}

body.servizi-menu-open #servizi-menu .overlay-servizi {
  opacity: 1;
  visibility: visible;
}

body.servizi-menu-open #servizi-menu .servizi-container {
  transform: translate3d(0px, 0vh, 0px);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fY29sb3JzLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL19iYXNlLnNjc3MiLCJiYXNlL2ZvbnRzL19mb250cy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19ibG9jay1ncmlkcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2N1cnNvci5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fbG9hZGVyLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zZWxlY3QyLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX3RleHQtc2Nyb2xsLnNjc3MiLCJsYXlvdXQvX2NvbnRhdHRpLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fc2Vydml6aS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7O0FDSUo7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0VBS0E7OztBQUNBO0VBeEJKO0lBeUJROzs7QUFFSjtFQTNCSjtJQTRCUTs7O0FBNUJSO0VBK0JJOzs7QUFDQTtFQWhDSjtJQWlDUTs7O0FBakNSO0VBb0NJO0VBQ0E7RUFDQTtFQUtBO0VBS0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQ3ZGSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBRUU7SUFLRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7RUFFQTs7O0FBTUY7RUFDRTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQ3BGSjtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFVcEI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBT1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUko7SUFTUTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0E7RUFESjtJQUVROzs7QUFLSjtFQURKO0lBRVE7OztBQUtKO0VBREo7SUFFUTs7O0FBS0o7RUFESjtJQUVROzs7QUFHUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7OztBQUtaO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0E7RUFESjtJQUVROzs7QUFHUjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUlSO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBSUo7RUFESjtJQUVROzs7QUFLSjtFQURKO0lBRVE7OztBQUtaO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBS1I7RUFDSTtJQUNJOzs7QUFPUjtFQUNJO0VBQ0E7OztBQUtKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU1KO0VBQ0k7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUVBO0VBQ0k7OztBQVVKO0VBQ0k7OztBQU1KO0VBQ0k7OztBQU1KO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7QUFHUjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUNwZko7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FDM0RKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFNSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFJQTtFQURKO0lBRVE7OztBQU9SO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQzNRSjtFQUNJOzs7QUFMQTtFQUNJOzs7QUFRSjtFQUNJOzs7QUFWSjtFQUNJOzs7QUNGUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFESjtJQUVROzs7QUFJQTtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBS0k7RUFESjtJQUVPOzs7QUFPZjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1RO0lBQ0E7OztBQUdKO0VBVko7SUFXUTs7O0FBS0o7RUFESjtJQUVROzs7QUFHSjtFQUxKO0lBTVE7OztBQUlSO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBS0o7RUFESjtJQUVROzs7QUFNUjtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBR0o7RUFUSjtJQVVROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1ROzs7QUFHSjtFQVRKO0lBVVE7SUFDQTs7O0FBR0o7RUFkSjtJQWVROzs7QUFTUjtFQURKO0lBRVE7OztBQUdKO0VBTEo7SUFNUTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQVBKO0lBUVE7OztBQUdKO0VBWEo7SUFZUTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQVBKO0lBUVE7OztBQUdKO0VBWEo7SUFZUTs7O0FBS1o7RUFDSTs7O0FBS0k7RUFDSTs7O0FBQ0E7RUFGSjtJQUdPOzs7QUFJUDtFQUNJOzs7QUFDQTtFQUZKO0lBR1E7OztBQVFSO0VBQ0k7OztBQUNBO0VBRko7SUFHTzs7O0FBSVA7RUFDSTs7O0FBQ0E7RUFGSjtJQUdROzs7QUMxTXBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUdKO0VBRUk7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUlBO0VBQ0k7OztBQUtaO0VBQ0k7OztBQUNBO0VBQ0k7OztBQUNBO0VBQ0k7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDN0RKO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBRUE7RUFoQ0o7SUFpQ1E7OztBQWtCSjtFQUNJO0VBQ0E7OztBQUdKO0VBSUk7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUk7RUFFQTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBS0E7OztBQUVBO0VBSUk7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUtBOzs7QUFFQTtFQUlJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFLQTs7O0FBRUE7RUFJSTtFQUNBOzs7QUFLUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUlKO0VBUko7SUFTUTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7OztBQzNKUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQWZKO0lBZ0JROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUEo7SUFRUTtJQUNBOzs7QUFJSjtFQUNJO0VBQ0E7OztBQUdJO0VBQ0k7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7O0FBUXBCO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBQ3JGUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFFSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQU5KO0lBT1E7OztBQUdKO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFPcEI7RUFDSTs7O0FBT1E7RUFGSjtJQUdROzs7QUFNaEI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFSSjtJQVNROzs7QUFXSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBTUo7RUFFSTtFQUNBOzs7QUFMUjtFQVNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVDO0VBMUJMO0lBMkJROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUko7SUFTUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFsQko7SUFtQlE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTtJQUNBOzs7QUFRaEI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFPSjtFQUNJOzs7QUFJQTtFQUNJOzs7QUFHSjtFQUtJOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUlBO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUVBO0VBQ0k7OztBQU1SO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0k7RUFDSTs7O0FBVWhDO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFDSTs7O0FDcGNSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUNmUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVRKO0lBVVE7SUFDQTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTs7O0FBS0o7RUFESjtJQUVRO0lBQ0E7OztBQU1BO0VBRko7SUFHUTs7O0FBTVI7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTtJQUNBOzs7QUFNQTtFQURKO0lBRVE7OztBQU9wQjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7OztBQUdBO0VBQ0k7RUFDQTs7O0FBRUE7RUFHSTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFDQTtFQUlJO0VBQ0E7RUFDQTs7O0FBSVQ7RUFDSztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPaEI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFJSTtFQUNJO0VBQ0E7OztBQU1KO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTs7O0FBVXhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFJSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBRUE7RUFFSTs7O0FBU2hCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVEo7SUFVUTtJQUNBOzs7QUFRUjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FDMVdSO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdRO0lBQ0E7OztBQUdKO0VBQ0k7OztBQU9wQjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0E7RUFDSTtFQUNBOzs7QUN2REo7RUFDSTtFQUNBOzs7QUFhSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUM7RUFSTDtJQVNRO0lBQ0E7SUFDQTs7O0FBR0o7RUFkSjtJQWVROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFUSjtJQVVRO0lBQ0E7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVRKO0lBVVE7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBaEJKO0lBaUJROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0E7RUFWSjtJQVdRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNFOzs7QUFHRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSUE7RUFDSTs7O0FBUXhCO0VBQ0k7OztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTs7O0FDM05KO0VBREo7SUFFUTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUNqQlo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHQTtFQWxCSjtJQW1CUTs7O0FBR0o7RUF0Qko7SUF1QlE7OztBQUdKO0VBMUJKO0lBMkJROzs7QUFHSjtFQTlCSjtJQStCUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBZko7SUFnQlE7OztBQUlKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQVFoQjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FDbkxaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVhKO0lBWVE7OztBQUdKO0VBZko7SUFnQlE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVhKO0lBWVE7SUFDQTs7O0FBR0o7RUFoQko7SUFpQlE7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUdKO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTs7O0FBSUo7RUFkSjtJQWVROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVRKO0lBVVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUxKO0lBTVE7OztBQUdKO0VBVEo7SUFVUTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBZEo7SUFlUTtJQUNBO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBRUk7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFLWjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQU1SO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ1E7RUFDUjtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFOSjtJQU9ROzs7QUFJUjtFQUlJOzs7QUFFQTtFQUNJO0VBQ0E7OztBQVF4QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFYSjtJQVlROzs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVZKO0lBV1E7SUFDQTtJQUNBOzs7QUFJQTtFQUNJOzs7QUFDQTtFQUZKO0lBR1E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdJO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7OztBQVF4QjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFJUTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFTSTtFQUNJOzs7QUFFQTtFQUNJOzs7QUFRUTtFQUNJOzs7QUFTcEI7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBRUk7RUFDQTtFQUdBO0VBQ1E7OztBQUdaO0VBQ0k7OztBQUdKO0VBSUk7OztBQUVBO0VBQ0k7RUFDQTs7O0FBU3BCO0VBRUk7OztBQVFBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQU1BO0VBQ0k7OztBQVVoQztFQUNJOzs7QUFFSTtFQUNJOzs7QUFLWTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFPWjtFQUNJOzs7QUFLUTtFQUNJOzs7QUFFQTtFQUNJOzs7QUFNUjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFFSTtFQUNBO0VBR0E7RUFDUTs7O0FBR1o7RUFDSTs7O0FBR0o7RUFJSTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFTcEI7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFROzs7QUFHUjtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFRQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFNQTtFQUNJOzs7QUFVeEI7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQVFSO0VBREo7SUFFUTs7O0FBTUk7RUFDSTs7O0FBRUE7RUFDSTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBRUk7RUFDQTtFQUdBO0VBQ1E7OztBQUdaO0VBQ0k7OztBQUdKO0VBSUk7OztBQUVBO0VBQ0k7RUFDQTs7O0FBU3BCO0VBQ0k7OztBQUVKO0VBQ0k7OztBQVFBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQU1BO0VBQ0k7OztBQWVaO0VBQ0k7RUFDQTtFQUNBOzs7QUFVNUI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVBKO0lBUU87OztBQUdIO0VBQ0k7OztBQ3h2QlI7RUFDSTs7O0FBR0k7RUFESjtJQUVROzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFLTDtFQURIO0lBRVE7OztBQ2xCaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHQTtFQWxCSjtJQW1CUTs7O0FBR0o7RUF0Qko7SUF1QlE7OztBQUdKO0VBMUJKO0lBMkJROzs7QUFHSjtFQTlCSjtJQStCUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBZko7SUFnQlE7OztBQUlKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7SUFDQTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFJQTtFQUNLO0VBQ0Q7OztBQU9oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBUWhCO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJIiwiZmlsZSI6Im1haW4ubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgICAtLWNvbG9yLWxpZ2h0OiAjZmZmZmZmO1xuICAgIC0tY29sb3ItZGFyazogcmdiKDI5LCAyOSwgMjkpOyAvLyBjb2xvcmUgZGVmYXVsdCB0ZXN0aVxuXG4gICAgLS1jb2xvci1saWdodC1ncmV5OiAjZjNmM2YzO1xuICAgIC0tY29sb3ItdGV4dDogIzk5OTk5OTtcblxuICAgIC0tY29sb3ItZGVmYXVsdDogdmFyKC0tY29sb3ItZGFyayk7IC8vQ29sb3JlIGRlZmF1bHQgZGVsIHRlc3RvXG59IiwiLyoqXG4qXG4qIFZhcmlhYmlsaSBnbG9iYWxpIHByb2dldHRvXG4qIFxuKiAwMSAtIENPTlRFTklUT1JJXG4qIDAyIC0gU0VQQVJBVE9SSVxuKiAwMyAtIFRSQU5TSVpJT05JXG4qIDA0IC0gRk9OVFNcbipcbiovXG5cbjpyb290IHtcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDEgLSBDT05URU5JVE9SSVxuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLWNvbnRhaW5lci1iaWctd2lkdGg6IDE4NTBweDsgLy9Db250YWluZXIgbWFzc2ltb1xuICAgIC0tY29udGFpbmVyLXdpZHRoOiAxNjcwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLWxhcmdlLXdpZHRoOiAxNTQwcHg7IC8vQ29udGFpbmVyIHByaW5jaXBhbGUgeFxuICAgIC0tY29udGFpbmVyLW1lZGl1bS13aWR0aDogMTI5MHB4OyAvL0NvbnRhaW5lciBtZWRpbyB4XG4gICAgLS1jb250YWluZXItc21hbGwtd2lkdGg6IDExODBweDsgLy9Db250YWluZXIgbWVkaW8geFxuICAgIFxuICAgIC0tY29udGFpbmVyLWV4dHJhLXNtYWxsLXdpZHRoOiA5ODBweDtcbiAgICAtLWNvbnRhaW5lci1taW5pLXdpZHRoOiA2MzBweDtcbiAgICBcbiAgICAtLWJsb2NrLW1pbi13aWR0aDogNTQwcHg7XG4gICAgLS1ibG9jay14LW1pbi13aWR0aDogNTAwcHg7XG5cbiAgICAtLWJsb2NrLWV4dHJhLW1pbi13aWR0aDogMzgwcHg7XG5cbiAgICAtLWJsb2NrLW1pbi1oZWlnaHQ6IDU4MHB4OyAvL0FsdGV6emEgbWluaW1hIGJsb2NjaGkgaW1tYWdpbmUvdGVzdG9cblxuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgKiAwMiAtIFNFUEFSQVRPUklcbiAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAgLS1zcGFjZXItYmlnOiAzMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAtLXNwYWNlci1iaWc6IDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjgxcHgpIHtcbiAgICAgICAgLS1zcGFjZXItYmlnOiA1MHB4O1xuICAgIH1cblxuICAgIC0tc3BhY2VyLWxhcmdlOiAyMHB4OyBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLS1zcGFjZXItbGFyZ2U6IDMwcHg7XG4gICAgfVxuXG4gICAgLS1zcGFjZXItbWVkaXVtOiAyNXB4O1xuICAgIC0tc3BhY2VyLXNtYWxsOiAyMHB4O1xuICAgIC0tc3BhY2VyLWV4dHJhLXNtYWxsOiAxMHB4O1xuICAgIFxuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgKiAwMyAtIFRSQU5TSVpJT05JXG4gICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tdHJhbnNpdGlvbi1kZWZhdWx0OiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICBcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDQgLSBGT05UU1xuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLWZvbnQtZmFtaWx5OiAnTnVuaXRvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1mYW1pbHktdGl0bGU6ICdOdW5pdG8gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWZhbWlseS1tZW51OiAnTnVuaXRvIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIFxuICAgIC0tZm9udC1zaXplOiAje3B4LXRvLXJlbSgxOHB4KX07XG4gXG4gICAgLS1oMS1mb250LXNpemU6ICN7Y2xhbXAtcmVtKDM2cHgsIDEwdncsIDE0MHB4KX07XG4gICAgLS1oMS1mb250LXdlaWdodDogNjAwO1xuICAgIC0taDEtbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWgyLWZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oNDVweCwgNHZ3LCA4MHB4KX07XG4gICAgLS1oMi1mb250LXdlaWdodDogNjAwO1xuICAgIC0taDItbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWgzLWZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMzhweCwgNXZ3LCA5MHB4KX07XG4gICAgLS1oMy1mb250LXdlaWdodDogNjAwO1xuICAgIC0taDMtbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWg0LWZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMzRweCwgMnZ3LCA2MHB4KX07XG4gICAgLS1oNC1mb250LXdlaWdodDogNjAwO1xuICAgIC0taDQtbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWg1LWZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMjBweCwgMnZ3LCAyNHB4KX07XG4gICAgLS1oNS1mb250LXdlaWdodDogNjAwO1xuICAgIC0taDUtbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWg2LWZvbnQtc2l6ZTogI3tweC10by1yZW0oMTRweCl9O1xuICAgIC0taDYtZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAtLWg2LW1hcmdpbi1ib3R0b206IDEwcHg7ICAgXG5cbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgbWVudS1zaG93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnUtc2hvdyB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWVudS1zaG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYW5pbWF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAxJTtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcblxuICAuYW5pbWF0ZWQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS11cCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VTY3JvbGwge1xuXG4gIDAlLFxuICAyMCUsXG4gIDUwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gIH1cbn1cblxuLmJvdW5jZVNjcm9sbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogQXNzaWN1cmF0aSBjaGUgbCdlbGVtZW50byBzaWEgdmlzaWJpbGUgZSBpbmxpbmUgKi9cbiAgYW5pbWF0aW9uOiBib3VuY2VTY3JvbGwgMnMgaW5maW5pdGU7XG59XG5cblxuXG4vKiBJbml0aWFsIHN0YXRlIGZvciB0aGUgZWxlbWVudHMgKi9cbi50ZXh0U2hvdyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuXG4gICYudmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgfVxufVxuXG4uYW5pbWF0ZVRvcCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMzBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cblxuXG5cblxuIiwiLyoqXG4qXG4qIFN0aWxpIGJhc2UgZ2VuZXJpY2kgcGVyIG9nbmkgdGlwbyBkaSB0ZW1wbGF0ZVxuKiBcbiogMDEgLSBTRVBBUkFUT1JJXG4qIDAyIC0gQ09OVEVOSVRPUklcbiogMDMgLSBXSURUSFxuKiAwNCAtIE1BUkdJTlxuKiAwNSAtIFBBRERJTkdcbiogMDYgLSBCQUNLR1JPVU5EXG4qIDA3IC0gQ09MT1JTXG4qXG4qL1xuXG5odG1sLFxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm9iamVjdC1jb3ZlciB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbmEgeyBcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmgtZnVsbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmZsb3ctdmlzaWJsZSB7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZVxufVxuXG4ub3ZlcmZsb3cteC1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTtcblxuICAgICYubGlnaHQtZ3JleSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE4LCAxOCwgMTgsIC4xMCk7XG4gICAgfVxufVxuXG4uYm9yZGVyLXJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uc29jaWFsLWVsZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgICAgICAgJi5kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAmLmRlZmF1bHQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDEgLSBTRVBBUkFUT1JJXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3BhY2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAmLmJpZyB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWJpZyk7XG4gICAgfVxuICAgIFxuICAgICYubGFyZ2Uge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNlci1sYXJnZSk7XG4gICAgfVxuICAgICYubWVkaXVtIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItbWVkaXVtKTtcbiAgICB9XG4gICAgJi5zbWFsbCB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLXNtYWxsKTtcbiAgICB9XG4gICAgJi5leHRyYS1zbWFsbCB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWV4dHJhLXNtYWxsKTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDAyIC0gQ09OVEVOSVRPUklcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICB9XG4gICAgXG4gICAgJi5mbHVpZCB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICAgIFxuICAgICYuYmlnIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItYmlnLXdpZHRoKTtcbiAgICB9XG4gICAgJi5sYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLWxhcmdlLXdpZHRoKTtcbiAgICB9XG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tZWRpdW0td2lkdGgpO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItc21hbGwtd2lkdGgpO1xuICAgIH1cbiAgICAmLmV4dHJhLXNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItZXh0cmEtc21hbGwtd2lkdGgpO1xuICAgIH1cbiAgICAmLm1pbmkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWluaS13aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5taW4td2lkdGgge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1ibG9jay1taW4td2lkdGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi54LW1pbi13aWR0aCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWJsb2NrLXgtbWluLXdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZXh0cmEtbWluLXdpZHRoIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tYmxvY2stZXh0cmEtbWluLXdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDo5OTFweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjk5MXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucC1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJi5kaXJlY3Rpb24tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJi5kaXJlY3Rpb24tcm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmLmFsaWduLXN0YXJ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuYWxpZ24tZW5kIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAmLmZsZXgtd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAmLmp1c3RpZnktbW9iaWxlLWNlbnRlciB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWJldHdlZW4ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICYuanVzdGlmeS1zcGFjZS1ldmVubHkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWFyb3VuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cbiAgICAmLmp1c3RpZnktc3RhcnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuanVzdGlmeS1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYuanVzdGlmeS1kZXNrdG9wLXN0YXJ0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmp1c3RpZnktZGVza3RvcC1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuanVzdGlmeS1tb2JpbGUtc3RhcnQge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuanVzdGlmeS1tb2JpbGUtY2VudGVyIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLmQtc20tYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC1zbS1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kLW1kLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmQtbWQtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZC1sZy1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5kLWxnLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmQteGwtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC14bC1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICAuZC14eGwtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC14eGwtbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5kLWxnLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDMgLSBXSURUSFxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNCAtIE1BUkdJTlxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm0tMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4ubWItMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLm1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG4ubXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA1IC0gUEFERElOR1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnAtMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNiAtIEJBQ0tHUk9VTkRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5iZy1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBcbiAgICAmLndpdGgtb3ZlcmxheSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMCUsIC4yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJnLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICB9XG59XG5cbi5iZy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIFxuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cbn1cblxuLmJnLWxpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyZXkpO1xuICAgIFxuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNyAtIENPTE9SU1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNvbG9yLWRhcmssXG4uY29sb3ItZGFyayAqIHtcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG59XG5cbi5jb2xvci1saWdodCxcbi5jb2xvci1saWdodCAqIHtcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgfVxufVxuXG4uY29sb3ItbGlnaHQtZ3JleSxcbi5jb2xvci1saWdodC1ncmV5ICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyZXkpO1xuICAgIH1cbn1cblxuLmNvbG9yLXRleHQsXG4uY29sb3ItdGV4dCAqIHtcbiAgICAmOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG59XG5cbi5vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbn1cbi5vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbn1cblxuQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAub3JkZXItbGctMSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAub3JkZXItbGctMiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbn1cbi5vcmRlci0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xufVxuLm9yZGVyLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG59XG4ub3JkZXItNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbn1cbi5vcmRlci02IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvIFNhbnMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy8nKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvPyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1MaWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtTGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LUxpZ2h0LnN2ZyNOdW5pdG9TYW5zMTBwdC1MaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtUmVndWxhci5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtUmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtUmVndWxhci5zdmcjTnVuaXRvU2FuczEwcHQtUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtTWVkaXVtLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LU1lZGl1bS5zdmcjTnVuaXRvU2FuczEwcHQtTWVkaXVtJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvIFNhbnMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1TZW1pQm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtU2VtaUJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1TZW1pQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1TZW1pQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtU2VtaUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LVNlbWlCb2xkLnN2ZyNOdW5pdG9TYW5zMTBwdC1TZW1pQm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtQm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtQm9sZC5zdmcjTnVuaXRvU2FuczEwcHQtQm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOdW5pdG8gU2Fucyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LUJsYWNrLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1CbGFjay5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LUJsYWNrLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL051bml0b1NhbnMxMHB0LUJsYWNrLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9OdW5pdG9TYW5zMTBwdC1CbGFjay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTnVuaXRvU2FuczEwcHQtQmxhY2suc3ZnI051bml0b1NhbnMxMHB0LUJsYWNrJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59IiwiLyoqXG4qXG4qIFN0aWxpIHJlbGF0aXZpIGFpIGZvbnRcbiogXG4qIDAxIC0gSEVBRElOR1xuKiAwMiAtIEFMSUdOTUVOVFxuKiAwMyAtIFRSQU5TRk9STVxuKiAwNCAtIFdFSUdIVFxuKiAwNSAtIE9DQ0hJRUxMT1xuKiAwNiAtIExJTkUgSEVJR0hUXG4qXG4qL1xuXG4vLyBJbXBvcnQgYWxsIGZvbnRzXG5AaW1wb3J0IFwiZm9udHMvZm9udHNcIjtcblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIGZvbnQtc21vb3RoOiBhdXRvOyAvKiBvIGFudGlhbGlhc2VkICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIFBlciBXZWJLaXQgKi9cbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiBQZXIgbWFjT1MgKi9cblxuICAgIC5saWdodCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLnJlZ3VsYXIge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIC5tZWRpdW0ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5zZW1pYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLmJvbGQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuYmxhY2sge1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgIH1cblxuICAgIC5wLWJpZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMThweCl9O1xuICAgIH1cbn1cblxuLmluaGVyaXQge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG5wLCAucCwgc3Ryb25nLCBiLCB0aW1lLCBpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5cbmEge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbnVsIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMjVweDtcbn1cblxudWwsIGxpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuc3Ryb25nLCBiLCAuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbn1cblxuLnRleHQtc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHZhcigtLWNvbG9yLWxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDEgLSBIRUFESU5HXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktdGl0bGUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuXG4gICAgcCwgLnAsIHVsLCBsaSwgYSwgc3Bhbiwgc3Ryb25nLCAuc3Ryb25nLCBiLCB0aW1lLCBpIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJi5wLXN0eWxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICB9XG59XG5cbi5oMSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMS1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDEtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oMiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDItbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oMy1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMy1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oNCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oNC1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNC1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDQtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oNSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oNS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNS1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDUtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5oNiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1oNi1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNi1mb250LXdlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDYtbWFyZ2luLWJvdHRvbSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnAge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktdGl0bGUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWg0LWZvbnQtc2l6ZSkgLSAxMCUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDEtZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMS1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IGNhbGModmFyKC0taDQtZm9udC1zaXplKSAtIDQwJSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWgyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1oNS1mb250LXNpemUpICsgODAlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWgzLWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWg1LWZvbnQtc2l6ZSkgKyA1MCUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDQtZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNC1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNS1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg1LW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDYtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWg2LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDYtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4udGV4dC11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMiAtIEFMSUdOTUVOVFxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLnRleHQtbW9iaWxlLWNlbnRlciB7XG4gICAgQG1lZGlhKG1heC13aWR0aDo5OTFweCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMyAtIFRSQU5TRk9STVxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnRleHQtbG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA0IC0gV0VJR0hUXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1leHRyYWxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMjAwO1xufVxuLnRleHQtbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4udGV4dC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4udGV4dC1zZW1pYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi50ZXh0LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4udGV4dC1leHRyYS1ib2xkIHtcbiAgICBmb250LXdlaWdodDogODAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNSAtIE9DQ0hJRUxMT1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNiAtIERFQ09SQVRJT05cbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiIsIkBtaXhpbiBkZWJ1Zy1jc3MoJGNvbG9yKSB7XG4gICAgKiB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkYXNoZWQgJGNvbG9yO1xuICAgIH1cbn1cbi5kZWJ1Z1xcOmNzcyB7XG4gICAgLS1kZWJ1Zy1jb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG5cbiAgICBAaW5jbHVkZSBkZWJ1Zy1jc3ModmFyKC0tZGVidWctY29sb3IpKTtcblxuICAgICZcXDpyZWQge1xuICAgICAgICAtLWRlYnVnLWNvbG9yOiByZWQ7XG5cbiAgICAgICAgQGluY2x1ZGUgZGVidWctY3NzKHZhcigtLWRlYnVnLWNvbG9yKSk7XG4gICAgfVxufVxuIiwiLmJsb2NrLWdyaWRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAxMHB4IDI1cHg7XG4gICAgZ2FwOiAxMHB4IDI1cHg7XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgZ3JpZC1nYXA6IDBweDtcbiAgICAgICAgZ2FwOiAwcHg7XG4gICAgfVxuICAgIFxuICAgICYubm8tZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICAgIGdhcDogMDtcbiAgICB9XG5cbiAgICAmLnNtYWxsLWdhcCB7XG4gICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgfVxuXG4gICAgJi5taW4tZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDMycHg7XG4gICAgICAgIGdhcDogMzJweDtcbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubGVmdC1iaWcge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjdmciAuM2ZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjdmciAuM2ZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW51LWJsb2NrIHtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICAgICAgICBnYXA6IDAgMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC02MHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgLjhmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmxvZy1kZXRhaWwtYmxvY2sge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuNmZyIDEuNGZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZXJ2aXppLWJsb2NrLW1lbnUge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuOWZyIDEuMWZyO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC45ZnIgMS4xZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyaWQtZm9vdGVye1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjdmciAuM2ZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuY29sdW1ucy0zIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmLnZhbnRhZ2dpLWdyaWQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuMmZyIC41ZnIgLjdmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuMmZyIC41ZnIgLjdmcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjJmciAuNWZyIC43ZnI7XG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTQge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi5jb2x1bW5zLTUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubG9naGktY2xpZW50aSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5ncmlkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuaW52ZXJ0ZWQge1xuICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1vYmlsZS1pbnZlcnRlZCB7XG4gICAgICAgIC5ncmlkIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsInVsLmJyZWFkY3J1bWJzIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgXG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIj5cIjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxpZ2h0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmVhZC1hYnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xufSIsIi5idG4ge1xuICAgIC0tYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgLS1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgLS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIFxuICAgIC0tYmctY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIC0tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xuXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvKiAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uZS9ia2ctYnRuMi5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMTglO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH0gKi9cblxuICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItaG92ZXIpO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItaG92ZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1ob3Zlcik7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgLy9maWx0ZXI6IGJyaWdodG5lc3MoMS4xKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuYnRuLWRhcmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUpIHBhZGRpbmctYm94LFxuICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg4NCwgMTc5LCAyMzcsIDEpIDAlLCByZ2JhKDI0MCwgNDEsIDQxLCAxKSA1MyUsIHJnYmEoMjUwLCAxMzksIDYxLCAxKSAxMDAlKSBib3JkZXItYm94O1xuXG4gICAgICAgIC8vYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IFxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2UsIGJhY2tncm91bmQgLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi1ncmV5IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoI2YzZjNmMywgI2YzZjNmMykgcGFkZGluZy1ib3gsXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDg0LCAxNzksIDIzNywgMSkgMCUsIHJnYmEoMjQwLCA0MSwgNDEsIDEpIDUzJSwgcmdiYSgyNTAsIDEzOSwgNjEsIDEpIDEwMCUpIGJvcmRlci1ib3g7XG5cbiAgICAgICAgLy9iYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuM3MgZWFzZSwgYmFja2dyb3VuZCAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyBcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLWxpZ2h0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUpIHBhZGRpbmctYm94LFxuICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg4NCwgMTc5LCAyMzcsIDEpIDAlLCByZ2JhKDI0MCwgNDEsIDQxLCAxKSA1MyUsIHJnYmEoMjUwLCAxMzksIDYxLCAxKSAxMDAlKSBib3JkZXItYm94O1xuXG4gICAgICAgIC8vYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IFxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjNzIGVhc2UsIGJhY2tncm91bmQgLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgXG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICYuYnRuLWxldHRlcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudy0xMDAge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBcbiAgICB9XG59IiwiLmN1cnNvciB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMThweCl9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jaGFuZ2UtY29sb3Ige1xuICAgICAgICBhbmltYXRpb246IHB1bHNlQ3Vyc29yIDFzIGluZmluaXRlO1xuICAgIH1cblxuICAgICYuZXhwYW5kIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuXG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDEwMG1zO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLmRyYWcge1xuICAgICAgICAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnZpZXcge1xuICAgICAgICAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBrZXlmcmFtZXMgcHVsc2VDdXJzb3Ige1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG4gICAgXG59IiwiLmljb25hLWZvcm0ge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mb3JtLWNvbnRhdHRpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgICAvL21heC13aWR0aDogOTEycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xuICAgICAgICAgICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLmJnLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzU0QjNFRDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDg0LCAxNzksIDIzNywgMSkgMCUsIHJnYmEoMjQwLCA0MSwgNDEsIDEpIDUzJSwgcmdiYSgyNTAsIDEzOSwgNjEsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5zZm9uZG8ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLnNlcnZpemktc2ZvbmRvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlLWZvcm0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5kaWZmLXNpemUge1xuICAgICAgICAgICAgICAgIC5mb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbGxlZ2F0by1mb3JtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2hlY2stZmllbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgIC50aXRsZS1mb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICAgICAgICAgICAgICAvKiBDaHJvbWUsIFNhZmFyaSwgRWRnZSwgT3BlcmEgKi9cbiAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTglIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uZS9zZWxlY3QucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuXG4gICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCA2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmKy5zZWxlY3QtYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnByaXZhY3ktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig5cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM1NEIzRUQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg4NCwgMTc5LCAyMzcsIDEpIDAlLCByZ2JhKDI0MCwgNDEsIDQxLCAxKSA1MyUsIHJnYmEoMjUwLCAxMzksIDYxLCAxKSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OmNoZWNrZWR+LmNoZWNrbWFyazphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wc2V1ZG8taW5wdXQtZmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnBzZXVkby1maWxlcy1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHNldWRvLWJ1dHRvbi1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtLWNvbG9yLWJvcmRlcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9pbWcvaWNvbmUvdXBsb2FkLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubWVudS1jb250YWN0IHtcbiAgICAgICAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGFyayB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgJi5iZy1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIC50aXRsZS1mb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjY2NjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICYucHJpdmFjeS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAucHNldWRvLWlucHV0LWZpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnBzZXVkby1maWxlcy1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLnBzZXVkby1idXR0b24taW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHlwZS1jYW5kaWRhdHVyYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2RhdGEtZm9ybS10b2dnbGVdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59IiwiLmxvYWRlci10cmFuc2l0aW9uLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDI0NywgMjQ1LCAxKTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxufSIsIi5zY3JvbGwtZWxlbWVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBib3R0b206IDkwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMTBweDtcblxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZSgwLjgpO1xuICAgIH0gICAgXG5cbiAgICAubGluZS12ZXJ0aWNhbC1iYXNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC50ZXh0LXNjcm9sbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICB9XG59XG5cbi5sZXR0ZXJzLWFuaW1hdGlvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAuYWJzLW9jY2hpZWxsbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgICAgfSAgXG4gICAgfVxuICAgIFxuICAgIC5sZXR0ZXJzLWFuaW1hdGlvbiB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICBcblxuICAgICAgICAubGV0dGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTYlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hemllbmRhIHtcbiAgICAgICAgLmFicy1vY2NoaWVsbG8ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgICAgICAgIH0gIFxuICAgICAgICB9XG5cbiAgICAgICAgLmxldHRlcnMtYW5pbWF0aW9uIHtcbiAgICAgICAgICAgIC5sZXR0ZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2Vydml6aS1ibG9jayB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAuNWZyKTtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LXNob3cge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAzMHB4O1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgMSwgMSwgMCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDsgKi9cblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAxLCAxLCAuNCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcblxuXG4gICAgICAgICAgICAudGl0bGUtZ3JpZCB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpOyAqL1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGVzYy1ncmlkIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMXM7ICovXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAuaWNvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAgICAgLnBsdXMtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIC5zdDAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnN0MSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucmluZy1iZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiByZ2JhKDI0MywyNDMsMjQzLDAuNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucmluZy1wcm9ncmVzcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxNDEuMzc7ICAvKiAyKs+AKnIg4omIIDIqMy4xNDE2KjIyLjUgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxNDEuMzc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IDFzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSAgIFxuICAgICAgICBcbiAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxMi8xMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgJi53aWRlIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXh0LXNob3cge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgMSwgMSwgLjQpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAgICAgLnRpdGxlLWdyaWQge1xuXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5kZXNjLWdyaWQge1xuICAgICAgICAgICAgICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmljb24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLnBsdXMtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAucmluZy1wcm9ncmVzcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9nLWJsb2NrIHtcbiAgICAuYmtnLWdyYWRpZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbmUvYmtnLWJpZy5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAuOHMgZWFzZTtcblxuICAgICAgICAuaW5zaWRlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjhzIGVhc2U7XG5cbiAgICAgICAgICAgIC5jaGFuZ2UtY29sb3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2hhbmdlLWNvbG9yLXAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAuOHMgZWFzZTtcblxuICAgICAgICAgICAgLmluc2lkZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguODgpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuOHMgZWFzZTtcblxuICAgICAgICAgICAgICAgIC5jaGFuZ2UtY29sb3IsXG4gICAgICAgICAgICAgICAgLmNoYW5nZS1jb2xvci1wIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgLy90cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFyYWxsYXgtaW1hZ2Uge1xuICAgIC5wYXJhbGxheC1hbmltYXRpb24taW1hZ2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiA5NzBweDtcbiAgICAgICAgbWluLWhlaWdodDogOTcwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xMDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2ctZGV0YWlsLWJsb2NrIHtcbiAgICAuc29jaWFsLWljb25zIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFncy1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBcbiAgICB9XG59XG5cbi5sb2doaS1jbGllbnRpIHtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cbn0iLCIuc2VsZWN0Mi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICAgIFxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7ICAgIFxuICAgIH1cbiAgICAuc2VsZWN0aW9uIHtcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xuXG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uZS9zZWxlY3QucG5nKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI4cHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmV5KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcblxuXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM1NEIzRUQ7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoODQsIDE3OSwgMjM3LCAxKSAwJSwgcmdiYSgyNDAsIDQxLCA0MSwgMSkgNTMlLCByZ2JhKDI1MCwgMTM5LCA2MSwgMSkgMTAwJSk7XG4gICAgfVxuXG59XG4iLCIuaG9tZS1zbGlkZXIsXG4uaW50cm8tZWxlbSB7XG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBcbiAgICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgICAvKiB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgICYuc3dpcGVyLXNsaWRlLXZpc2libGUsIFxuICAgICAgICAgICAgJi5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfSAqL1xuICAgIFxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5pbWctc2xpZGUge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5pbWctc2xpZGUtb3ZlcmxheSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC50aXRsZS1zbGlkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAzNSU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICBib3R0b206IDQ4JTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjLXNsaWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDY1JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICBib3R0b206IDM4JTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgICAgICAgYm90dG9tOiAzOCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICN7Y2xhbXAtcmVtKDIwcHgsIDJ2dywgMzJweCl9O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaG9tZSB7XG4gICAgICAgIC50aXRsZS1zbGlkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICBib3R0b206IDQ4JTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjLXNsaWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDY1JTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMzQlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDM4JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMjBweCwgMnZ3LCAzMnB4KX07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1lbGVtZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDQwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1udW1iZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAgYmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICAxIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5wcm9ncmVzcyB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgLmNpcmNsZS1vcmlnaW4ge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiByZ2JhKDI0NCwgMjQ0LCAyNDQsIDApO1xuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDI7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMTI1LjY2NHB4OyAgICAgXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOyAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAuZG90IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogcmdiYSgyNDQsIDI0NCwgMjQ0LCAxKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAuY2lyY2xlLW9yaWdpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHJnYmEoMjQ0LCAyNDQsIDI0NCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLmludHJvLWVsZW0ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5hemllbmRhLXNsaWRlciB7XG4gICAgJi5zd2lwZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG59XG4iLCIudGV4dC1zbGlkZXItY29udGFpbmVyIHtcbiAgICBAbWVkaWEobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG5cbiAgICB9XG5cbiAgICAudGV4dC1zbGlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICBcbiAgICAgICAgLnRleHQtZWxlbWVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2NvbnRhdHRpLW1lbnUge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgXG4gICAgdHJhbnNpdGlvbjogYWxsIDgwMG1zIGVhc2U7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAub3ZlcmxheS1jb250YXR0aSB7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgODAwbXMgZWFzZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgfVxuXG4gICAgLmNvbnRhdHRpLWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE2cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNnB4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHdpZHRoOiA5OHZ3O1xuICAgICAgICBwYWRkaW5nLXRvcDogMXZ3O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxdnc7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDgwMG1zIGVhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAxMDB2aCwgMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNzV2dztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgd2lkdGg6IDU1dnc7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0NHZ3O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMzR2dztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYtY29udGF0dGktY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDF2dyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAubmF2LWNvbnRhdHRpLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMXZ3O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMjZweCwgNHZ3LCAzNnB4KX07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmF2LWNvbnRhdHRpLWNsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi1jb250YXR0aS1saXN0LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAgICAgICAgIC5uYXYtY29udGF0dGktbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogMXZ3O1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdy1nYXA6IDN2dztcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzB2dyAydncgNHZ3O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3dncgMXZ3IDF2dztcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMXZ3O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm5hdmlnYXRlLWRvd24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdmlnYXRlLXVwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTZweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keS5jb250YXR0aS1tZW51LW9wZW4ge1xuICAgICNjb250YXR0aS1tZW51IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgXG4gICAgICAgIC5vdmVybGF5LWNvbnRhdHRpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5jb250YXR0aS1jb250YWluZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDB2aCwgMHB4KTtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufSIsImhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICBoZWlnaHQ6IDkwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2NDBweCkge1xuICAgICAgICBoZWlnaHQ6IDEyOHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjQwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBcbiAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTM1cHgpO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubG9nby1kYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxvZ28tbGlnaHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzgwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzgwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB1bC5tZW51IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHZ3KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA5MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktdGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMThweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudS1idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQpOyAvKiBib3JkbyBkZWZhdWx0ICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMXB4OyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7IC8qIHNwZXNzb3JlIGJvcmRvICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoODQsMTc5LDIzNywxKSAwJSwgcmdiYSgyNDAsNDEsNDEsMSkgNTMlLCByZ2JhKDI1MCwxMzksNjEsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzazogXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1jb21wb3NpdGU6IHhvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLWNvbXBvc2l0ZTogZXhjbHVkZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDE4cHgpfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTZweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmstY3RhIHtcbiAgICAgICAgICAgICAgICAmLmRlc2t0b3Age1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcblxuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmxpZ2h0LWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgXG4gICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI5LCAyOSwgMjksIDApO1xuXG4gICAgICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAubG9nby1kYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAubG9nby1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgIFxuICAgICAgICAgICAgbmF2Lm1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB1bC5tZW51IHsgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTsgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtkYXRhLW9wZW4tc3VibWVudV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudS1idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5idG4taGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTsgLyogYm9yZG8gZGVmYXVsdCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoODQsMTc5LDIzNywxKSAwJSwgcmdiYSgyNDAsNDEsNDEsMSkgNTMlLCByZ2JhKDI1MCwxMzksNjEsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2s6IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCkgY29udGVudC1ib3gsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stY29tcG9zaXRlOiB4b3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stY29tcG9zaXRlOiBleGNsdWRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmhhbWJ1cmdlciB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdGVkLWxhbmd1YWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBuYXYubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudS1idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5idG4taGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTsgLyogYm9yZG8gZGVmYXVsdCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoODQsMTc5LDIzNywxKSAwJSwgcmdiYSgyNDAsNDEsNDEsMSkgNTMlLCByZ2JhKDI1MCwxMzksNjEsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2s6IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCkgY29udGVudC1ib3gsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2stY29tcG9zaXRlOiB4b3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stY29tcG9zaXRlOiBleGNsdWRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmhhbWJ1cmdlciB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL2FuaW1hdGlvbi1uYW1lOiBoYW1idXJnZXJfdG9nZ2xlX2JlZm9yZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5pbWF0aW9uLW5hbWU6IGhhbWJ1cmdlcl90b2dnbGVfYWZ0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFuZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQtZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLnN0aWNreS1oZWFkZXIge1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG5cbiAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjksIDI5LCAyOSwgLjIpO1xuXG4gICAgICAgICAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubG9nby1kYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tbGlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmF2Lm1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdWwubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubGluay1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmxpbmstbWVudS1idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYnRuLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1kYXJrKTsgLyogYm9yZG8gZGVmYXVsdCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDg0LDE3OSwyMzcsMSkgMCUsIHJnYmEoMjQwLDQxLDQxLDEpIDUzJSwgcmdiYSgyNTAsMTM5LDYxLDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzazogXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCkgY29udGVudC1ib3gsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1jb21wb3NpdGU6IHhvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stY29tcG9zaXRlOiBleGNsdWRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGFuZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnNlbGVjdGVkLWxhbmd1YWdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGFuZ3VhZ2UtbWVudS1vcGVuIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAubGFuZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLndoYXRzYXBwLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiA1cHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogNThweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbn0iLCJmb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjk5MXB4KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn0iLCIjc2Vydml6aS1tZW51IHtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIFxuICAgIHRyYW5zaXRpb246IGFsbCA4MDBtcyBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgLm92ZXJsYXktc2Vydml6aSB7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgODAwbXMgZWFzZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgfVxuXG4gICAgLnNlcnZpemktY29udGFpbmVyIHtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTZweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE2cHg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgd2lkdGg6IDk4dnc7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxdnc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDF2dztcblxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgODAwbXMgZWFzZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDEwMHZoLCAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NXZ3O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNTV2dztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDQ0dnc7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNHZ3O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1zZXJ2aXppLWNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTZweDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNnB4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxdncpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLm5hdi1zZXJ2aXppLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMXZ3O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMjZweCwgNHZ3LCAzNnB4KX07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmF2LXNlcnZpemktY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LXNlcnZpemktbGlzdC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAubmF2LXNlcnZpemktbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogMXZ3O1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdy1nYXA6IDN2dztcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzB2dyAydncgNHZ3O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3dncgMXZ3IDF2dztcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMXZ3O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZS1zZXJ2aXppbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje2NsYW1wLXJlbSgxNnB4LCA0dncsIDIwcHgpfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmF2aWdhdGUtZG93biB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5uYXZpZ2F0ZS11cCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE2cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkuc2Vydml6aS1tZW51LW9wZW4ge1xuICAgICNzZXJ2aXppLW1lbnUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBcbiAgICAgICAgLm92ZXJsYXktc2Vydml6aSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuc2Vydml6aS1jb250YWluZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDB2aCwgMHB4KTtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
