

/* Start:/local/assets/css/style.css?1751295977502836*/
@charset "UTF-8";
/* Оформление вертикального скроллбара */
@font-face {
  font-family: "Iosevka";
  src: url("/local/assets/css/../fonts/iosevka/Iosevka-Medium.woff2") format("woff2"), url("/local/assets/css/../fonts/iosevka/Iosevka-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RobotoFlex";
  src: url("/local/assets/css/../fonts/roboto/roboto-flex-upgrade.woff2") format("woff2"), url("/local/assets/css/../fonts/roboto/roboto-flex-upgrade.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@keyframes load {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes display-none {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
  }
  100% {
    opacity: 1;
  }
}
@keyframes creeping-line {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes translate-down {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes cursor-blink {
  0% {
    border-color: var(--color-primary);
  }
  50% {
    border-color: transparent;
  }
  100% {
    border-color: var(--color-primary);
  }
}
@keyframes flicker {
  0% {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
  50% {
    background-color: var(--color-primary-contrast);
    color: var(--color-primary);
  }
  100% {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
}
@keyframes flicker-text {
  0% {
    color: var(--color-primary-contrast);
  }
  50% {
    color: var(--color-primary);
  }
  100% {
    color: var(--color-primary-contrast);
  }
}
@keyframes custom-caret-blinking {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

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

html {
  overscroll-behavior: none;
  text-rendering: optimizeLegibility;
}

body {
  background-color: var(--color-white);
}

a {
  text-underline-offset: 0.2em;
  -webkit-tap-highlight-color: var(--color-transparent);
}
button {
  -webkit-tap-highlight-color: var(--color-transparent);
}

ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
blockquote {
  margin: 0;
}

.swiper-slide,
.swiper-slide * {
  box-sizing: border-box;
}

:root {
  --scale-vw: calc(1920 / 100);
  --py-header: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  --height-header: 7.2rem;
  --main-padding: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  --py-section: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  --color-white: #fff;
  --color-black: #000;
  --color-transparent: rgba(0, 0, 0, 0);
  --color-primary: #f0f0f0;
  --color-primary-contrast: #080808;
  --color-primary-contrast-900: #1f1f1f;
  --color-border-primary: #2d2d2d;
  --color-secondary: rgba(240, 240, 240, 0.4);
  --color-secondary-contrast: rgba(8, 8, 8, 0.4);
  --color-border-secondary: #dadada;
  --color-border: #d3d3d3;
  --color-selection: rgba(194, 199, 203, 0.5);
  --color-secondary-90: rgba(8, 8, 8, 0.9);
  --color-secondary-80: rgba(8, 8, 8, 0.8);
  --color-secondary-60: rgba(8, 8, 8, 0.6);
  --color-secondary-30: rgba(8, 8, 8, 0.3);
  --color-secondary-20: rgba(36, 36, 36, 0.2);
  --color-error: #e80000;
  --color-disabled: rgba(226, 226, 226, 0.5);
  --color-checked: #37a336;
  --color-green: #198f51;
  --color-fr-100: #f0da50;
  --color-fr-200: #41b883;
  --color-fr-300: #61dafb;
  --color-fr-400: #18d860;
  --color-fr-500: #ff2d20;
  --color-fr-600: #47c5fb;
  --color-fr-700: #f89917;
  --color-fr-grey: #807c7c;
  --trans-fast: 0.1s ease;
  --trans-base: 0.3s ease;
  --trans-long: 0.5s ease;
  --shadow-block: 0 0 1px #000;
  --z-modal: 71;
  --z-header: 70;
  --z-menu: 69;
  --z-over-chat: 2147000001;
}
@media only screen and (min-width: 1921px) {
  :root {
    --py-section: 32px;
    --py-header: 16px;
    --main-padding: 104px;
  }
}
@media only screen and (max-width: 1440px) {
  :root {
    --scale-vw: calc(1440 / 100);
    --height-header: 6.4rem;
    --main-padding: calc(72 / var(--scale-vw) * var(--vw, 1vw));
    --py-section: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  :root {
    --scale-vw: calc(1280 / 100);
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --scale-vw: calc(768 / 100);
    --main-padding: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 580px) {
  :root {
    --main-padding: 16px;
    --py-section: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  :root {
    --scale-vw: calc(390 / 100);
  }
}

.noscript {
  background: #f00;
  color: #808080;
  text-align: center;
}

.no-wrap {
  white-space: nowrap;
}

.visually-hidden {
  visibility: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
}

.icn {
  display: inline-block;
  fill: currentColor;
  flex: 0 0 auto;
  user-select: none;
}

:root {
  font-size: 62.5%;
}

html {
  scroll-behavior: smooth;
  height: 100%;
}

body {
  font-size: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  font-weight: 500;
  font-variant-numeric: slashed-zero;
  font-feature-settings: "cv77" on, "cv11" on, "cv05" on, "cv04" on, "cv83" on, "ss04" on, "ss15" on, "cv90" on, "ss11" on, "ss07" on, "calt" off;
  height: 100%;
  margin: 0 auto;
  font-family: "Iosevka", sans-serif;
  color: var(--color-primary);
  background-color: var(--color-primary-contrast);
}
@media only screen and (min-width: 1921px) {
  body {
    font-size: 16px;
  }
}
body.menu-open {
  overflow: hidden;
}

*::selection {
  background-color: var(--color-selection);
}

iframe,
img,
svg,
video {
  max-width: 100%;
  display: block;
}

.text-block p:not([class]) {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-weight: 400;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .text-block p:not([class]) {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block p:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block p:not([class]) {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block p:not([class]):not(:first-child) {
  margin-top: 16px;
}
.text-block p:not([class]) + ul:not([class]) {
  margin-top: 8px;
}
.text-block :where(h2, h3, h4, h5, h6):where(:not([class])) {
  text-transform: uppercase;
}
.text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
  margin-top: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
.text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
  margin-bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: 200px;
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: calc(145 / var(--scale-vw) * var(--vw, 1vw));
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):first-child {
    margin-top: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
  .text-block :where(h2, h3, h4, h5, h6):where(:not([class])):not(:last-child) {
    margin-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block h2:not([class]) {
  font-size: calc(44 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .text-block h2:not([class]) {
    font-size: 44px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block h2:not([class]) {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .text-block h2:not([class]) {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block h2:not([class]) {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block h3:not([class]) {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .text-block h3:not([class]) {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block h3:not([class]) {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .text-block h3:not([class]) {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block h3:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.text-block :where(ul, ol):where(:not([class]))::before {
  display: inline-block;
}
.text-block :where(ul, ol):where(:not([class])):not(:first-child) {
  margin-top: 16px;
}
.text-block ul:not([class]) li {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .text-block ul:not([class]) li {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .text-block ul:not([class]) li {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .text-block ul:not([class]) li {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}

a:not([class]) {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  a:not([class]):hover {
    color: var(--color-border-primary);
  }
}

/**
 * Swiper 11.2.8
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 23, 2025
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

:root {
  --hystmodal-speed: 0.2s;
  --hystmodal-zindex: 70;
}

.hystmodal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 0px min-content 0px;
  justify-content: center;
  align-content: space-between;
  visibility: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.hystmodal::-webkit-scrollbar {
  display: none;
}

.hystmodal::before {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background-color: #000;
  opacity: 0;
  pointer-events: none;
}

.hystmodal--animated::before {
  transition: opacity var(--hystmodal-speed) ease;
}

.hystmodal--active::before {
  opacity: 0.6;
}

.hystmodal--moved,
.hystmodal--active {
  opacity: 1;
  pointer-events: none;
  visibility: visible;
}

.hystmodal--active {
  pointer-events: auto;
}

.hystmodal__wrap {
  display: block;
  min-width: 0;
  grid-row: 2/3;
}

.hystmodal__window {
  min-width: 0;
  grid-row: 2/3;
  position: relative;
  z-index: 10;
  box-sizing: border-box;
  flex-shrink: 0;
  flex-grow: 0;
  background: #fff;
  width: 600px;
  max-width: 100%;
  overflow: visible;
  transform: scale(0.95);
  opacity: 0;
  margin: 50px auto;
}

.hystmodal__window--loading {
  min-height: 400px;
  background-image: url("data:image/svg+xml,%0A%3Csvg width='105' height='105' viewBox='0 0 105 105' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='0s' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='12.5' cy='52.5' r='12.5' fill-opacity='.5'%3E%3Canimate attributeName='fill-opacity' begin='100ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='300ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='600ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='800ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='400ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='12.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='700ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='52.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='500ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3Ccircle cx='92.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='200ms' dur='1s' values='1;.2;1' calcMode='linear' repeatCount='indefinite' /%3E%3C/circle%3E%3C/svg%3E%0A");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 48px;
}

.hystmodal--animated .hystmodal__window {
  transition: transform var(--hystmodal-speed) ease 0s, opacity var(--hystmodal-speed) ease 0s;
}

.hystmodal--active .hystmodal__window {
  transform: none;
  opacity: 1;
}

.hystmodal__close {
  position: absolute;
  z-index: 10;
  top: 15px;
  right: 15px;
  display: block;
  width: 25px;
  height: 25px;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23000' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  border: none;
  font-size: 0;
  cursor: pointer;
  outline: none;
}

.hystmodal__close--wh {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E");
}

.hystmodal__close:hover {
  opacity: 0.95;
}

.hystmodal__close:focus {
  outline: 2px dotted rgba(0, 0, 0, 0.7);
  outline-offset: 2px;
}

.hystmodal__close--wh:focus {
  outline: 2px dotted rgba(255, 255, 255, 0.7);
}

@media all and (max-width: 767px) {
  .hystmodal__close {
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
  }
  .hystmodal__window {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.award {
  font-size: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-transform: uppercase;
  position: relative;
  padding: 0 calc(20 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .award {
    font-size: 12px;
  }
}
@media only screen and (max-width: 768px) {
  .award {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.award::before, .award::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  width: calc(14 / var(--scale-vw) * var(--vw, 1vw));
  background-image: url("/local/assets/css/../img/icons/wreath.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.award::before {
  left: 0;
}
.award::after {
  right: 0;
  transform: scale(-1, 1);
}
.award__title {
  color: var(--color-secondary);
}
@media only screen and (min-width: 1921px) {
  .award {
    padding: 0 20px;
  }
  .award::before, .award::after {
    width: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .award__title {
    color: var(--color-secondary-contrast);
  }
}

.border__top {
  border-top: 1px solid;
  border-color: var(--color-border-primary);
}
.border__bottom {
  border-bottom: 1px solid;
  border-color: var(--color-border-primary);
}
.border--grey.border__top, .border--grey.border__bottom {
  border-color: var(--color-border);
}

.box-decor {
  position: relative;
}
.box-decor__decor {
  position: absolute;
  width: 13px;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 2;
}
.box-decor__decor::before, .box-decor__decor::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 13px;
  height: 7px;
  background-image: url("/local/assets/css/../img/bg/connection.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.box-decor__decor::before {
  top: 0;
}
.box-decor__decor::after {
  bottom: 0;
  transform: rotate(180deg);
}
.box-decor__decor--right {
  left: 100%;
}
.box-decor__decor--top-separator::after {
  display: none;
}
.box-decor__box {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.box-decor__line {
  width: 1px;
  height: 0;
  background-color: var(--color-border-primary);
  transition: height 0.5s;
}
.box-decor__sign {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: calc(40 / var(--scale-vw) * var(--vw, 1vw)) 0;
  background-color: var(--color-primary-contrast);
}

.chat {
  border: none;
  padding: 0;
  position: fixed;
  right: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  background-color: var(--color-white);
  width: 4rem;
  height: 4rem;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 3px 26px -4px rgba(255, 255, 255, 0);
  transition: box-shadow 0.2s ease-in-out;
}
.chat__icon {
  width: 2rem;
  height: 2.5rem;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .chat:hover {
    box-shadow: 0 3px 26px -4px rgba(255, 255, 255, 0.57);
  }
}
@media only screen and (min-width: 1921px) {
  .chat {
    width: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
  .chat__icon {
    width: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(25 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1440px) {
  .chat {
    right: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.creeping-line {
  overflow: hidden;
  position: relative;
}
.creeping-line__track {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-around;
  min-width: 100%;
}
.creeping-line__text {
  font-size: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 92%;
  letter-spacing: -0.05em;
  font-weight: 500;
  flex: 0 0 auto;
  text-transform: uppercase;
  white-space: nowrap;
  will-change: transform;
  padding: 0 calc(40 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  animation: creeping-line 20s linear infinite;
}
@media only screen and (min-width: 1921px) {
  .creeping-line__text {
    font-size: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .creeping-line__text {
    font-size: calc(152 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .creeping-line__text {
    font-size: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: -0.04em;
  }
}
@media only screen and (max-width: 480px) {
  .creeping-line__text {
    font-size: calc(58 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.creeping-line__text--nopadding {
  padding: 0;
}

.elem-hover {
  width: var(--element-width);
  height: var(--element-height);
  position: relative;
}
.elem-hover--small {
  width: calc(var(--el-team-width) - 1px);
  height: calc(var(--el-team-height) - 1px);
}
.elem-hover__elem {
  width: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  border: 1px solid transparent;
  position: absolute;
}
.elem-hover__elem--tl {
  top: 0;
  left: 0;
  border-top-color: var(--color-primary);
  border-left-color: var(--color-primary);
}
.elem-hover__elem--tr {
  top: 0;
  right: 0;
  border-top-color: var(--color-primary);
  border-right-color: var(--color-primary);
}
.elem-hover__elem--bl {
  bottom: 0;
  left: 0;
  border-left-color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}
.elem-hover__elem--br {
  bottom: 0;
  right: 0;
  border-bottom-color: var(--color-primary);
  border-right-color: var(--color-primary);
}
@media only screen and (min-width: 1921px) {
  .elem-hover__elem {
    width: 10px;
    height: 10px;
  }
}

.framework {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  position: relative;
  cursor: default;
  perspective: 30rem;
  user-select: none;
}
.framework--fr-100 .framework__name {
  background-color: var(--color-fr-100);
}
.framework--fr-200 .framework__name {
  background-color: var(--color-fr-200);
}
.framework--fr-300 .framework__name {
  background-color: var(--color-fr-300);
}
.framework--fr-400 .framework__name {
  background-color: var(--color-fr-400);
}
.framework--fr-500 .framework__name {
  background-color: var(--color-fr-500);
}
.framework--fr-600 .framework__name {
  background-color: var(--color-fr-600);
}
.framework--fr-700 .framework__name {
  background-color: var(--color-fr-700);
}
.framework__box {
  width: calc(128 / var(--scale-vw) * var(--vw, 1vw));
  max-width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary-contrast);
  border: 1px solid var(--color-border-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden;
  transition: transform 0.5s;
}
.framework__img {
  display: block;
  width: 85%;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
  max-height: 65%;
}
.framework__name {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  width: calc(128 / var(--scale-vw) * var(--vw, 1vw));
  aspect-ratio: 1;
  padding: calc(5 / var(--scale-vw) * var(--vw, 1vw));
  text-align: center;
  border-radius: 50%;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: var(--color-primary-contrast);
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden;
  transform: rotateY(180deg);
  transition: transform 0.5s;
}
@media only screen and (min-width: 1921px) {
  .framework__name {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .framework__name {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.framework__name--fr-100 {
  background-color: var(--color-fr-100);
}
.framework__name--fr-200 {
  background-color: var(--color-fr-200);
}
.framework__name--fr-300 {
  background-color: var(--color-fr-300);
}
.framework__name--fr-400 {
  background-color: var(--color-fr-400);
}
.framework__name--fr-500 {
  background-color: var(--color-fr-500);
}
.framework__name--fr-600 {
  background-color: var(--color-fr-600);
}
.framework__name--fr-700 {
  background-color: var(--color-fr-700);
}
.framework__name--fr-grey {
  background-color: var(--color-fr-grey);
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .framework:hover .framework__box {
    transform: rotateY(180deg);
  }
  .framework:hover .framework__name {
    transform: rotateY(360deg);
  }
}
@media only screen and (max-width: 1440px) {
  .framework__box, .framework__name {
    width: calc(96 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .framework__box {
    width: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .framework__name {
    display: block;
    position: static;
    color: var(--color-primary);
    width: auto;
    aspect-ratio: unset;
    transform: none;
    padding: 0;
  }
  .framework__name[class*="--fr"] {
    background-color: transparent;
  }
}
@media only screen and (max-width: 480px) {
  .framework {
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
  }
  .framework__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  }
  .framework__box {
    width: calc(104 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(calc(104 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  }
}

.frameworks-info {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr) min-content minmax(0, 1fr);
  row-gap: calc(85 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-info__text {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  grid-column: 2/6;
  grid-row: 2;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .frameworks-info__text {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-info__text {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .frameworks-info__text {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .frameworks-info__text {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.frameworks-info__text-box {
  grid-row: 3;
  grid-column: 3/5;
  display: flex;
  flex-direction: column;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-info__subtext {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  color: var(--color-secondary);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (min-width: 1921px) {
  .frameworks-info__subtext {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-info__subtext {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.frameworks-info__subtext::before {
  content: ">";
}
.frameworks-info__subtext::after {
  content: "<";
}
@media only screen and (max-width: 1440px) {
  .frameworks-info__text {
    grid-column: 1/-1;
  }
}
@media only screen and (max-width: 1280px) {
  .frameworks-info {
    row-gap: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .frameworks-info {
    display: block;
  }
  .frameworks-info__text {
    text-align: left;
  }
  .frameworks-info__text-box {
    display: none;
  }
}

.main-logo {
  display: block;
  width: calc(243 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.main-logo__img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
}
@media only screen and (min-width: 1921px) {
  .main-logo {
    width: 243px;
    height: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .main-logo {
    width: calc(180 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(30 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.number-elem {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .number-elem {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .number-elem {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.number-elem__opacity {
  color: var(--color-secondary);
}
.number-elem--for-white .number-elem__opacity {
  color: var(--color-secondary-contrast);
}

[id*=anchor] {
  scroll-margin-top: calc(var(--header-height) + 40px);
}

.phones {
  display: flex;
  flex-wrap: wrap;
}
.phones__link {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .phones__link {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .phones__link {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.phones__link:not(:last-child) .phones__secondtext {
  padding-right: 1.6rem;
  border-right: 1px solid var(--color-border-secondary);
}
@media only screen and (max-width: 580px) {
  .phones__link:nth-child(even) .phones__secondtext {
    border-right: none;
  }
}

.printed {
  font-kerning: none;
}
.printed__subtitle {
  opacity: 0;
}
.printed__subtitle.visible {
  opacity: 1;
  transform: translateY(0);
}
.printed__title {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.printed__cursor {
  display: inline-block;
  border-left: calc(20 / var(--scale-vw) * var(--vw, 1vw)) solid var(--color-primary);
  animation: cursor-blink 1s step-end infinite;
  line-height: 0.9;
  padding-top: 4px;
  opacity: 0;
  margin-right: -1.8rem;
}
.printed__cursor--small {
  border-width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .printed__cursor {
    border-width: 20px;
  }
  .printed__cursor--small {
    border-width: 16px;
  }
}
@media only screen and (max-width: 480px) {
  .printed__cursor {
    border-width: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}

[data-scramble] {
  position: relative;
}
[data-scramble]::after {
  content: "";
  position: absolute;
  inset: 0;
}

.text-opacity {
  color: var(--color-secondary);
}
.text-opacity--contrast {
  color: var(--color-secondary-contrast);
}

[data-tabs-blocks] > * {
  display: none;
  opacity: 0;
}
[data-tabs-blocks] > *.is-active {
  opacity: 1;
  display: block;
  animation: display-none var(--trans-base);
}

.btn-corners {
  width: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(calc(24 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  position: relative;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("/local/assets/css/../img/bg/corners-white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.btn-corners__icon {
  flex: none;
  width: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(15 / var(--scale-vw) * var(--vw, 1vw));
}
.btn-corners--border {
  background: url("/local/assets/css/../img/bg/corners-border.svg");
  background-size: contain;
}
.btn-corners--size-l {
  width: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(calc(40 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
}

.btn {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  width: fit-content;
  min-height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(10 / var(--scale-vw) * var(--vw, 1vw)) calc(20 / var(--scale-vw) * var(--vw, 1vw));
  font-family: "Iosevka", sans-serif;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  color: var(--color-primary);
  background-color: transparent;
  border: 1px solid var(--color-primary);
  border-radius: 500px;
  overflow: hidden;
  transition: 0.3s ease;
  transition-property: color, background-color, border-color;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .btn {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .btn {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.btn:focus {
  outline: none;
}
.btn:focus-visible {
  color: var(--color-primary);
  background-color: var(--color-secondary-contrast);
  outline: none;
}
.btn:hover:not(:disabled), .btn:hover:not(.is-disabled) {
  text-decoration: none;
  cursor: pointer;
}
.btn:active, .btn.is-active {
  outline: none;
}
.btn:disabled, .btn.is-disabled {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.5;
}
.btn--var-white {
  color: var(--color-primary-contrast);
  background-color: var(--color-primary);
  box-shadow: 0 3px 26px -4px rgba(255, 255, 255, 0.57);
}
.btn--var-white:focus-visible {
  color: var(--color-secondary-contrast);
  background-color: var(--color-primary);
}
.btn--var-black {
  color: var(--color-primary);
  background-color: var(--color-primary-contrast);
  border: 1px solid var(--color-primary-contrast);
  box-shadow: 0 3px 14px -4px var(--color-secondary-80);
}
.btn--var-noborder {
  color: var(--color-primary-contrast);
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border: none;
  min-height: auto;
}
.btn--var-noborder:focus-visible {
  color: var(--color-secondary-contrast);
  background-color: transparent;
}
.btn--var-noborder-white {
  color: var(--color-primary);
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border: none;
  min-height: auto;
}
.btn--var-noborder-white:focus-visible {
  color: var(--color-primary);
  background-color: transparent;
}
@media only screen and (min-width: 1921px) {
  .btn {
    padding: 10px 20px;
    min-height: 40px;
  }
  .btn--var-noborder {
    padding: 11px 0;
  }
}
@media only screen and (max-width: 1440px) {
  .btn {
    padding: calc(7 / var(--scale-vw) * var(--vw, 1vw)) calc(16 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .btn--var-noborder {
    padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .btn--var-noborder-white {
    padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}
@media only screen and (max-width: 480px) {
  .btn {
    padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) calc(19 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
  .btn--size-s {
    padding: calc(7 / var(--scale-vw) * var(--vw, 1vw)) calc(15 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.field {
  width: 100%;
  display: block;
}
.field__title {
  display: block;
}
.field__wrapper {
  display: block;
  position: relative;
}
.field__error {
  display: none;
}
.field.has-error .field__error {
  display: block;
}

.input,
.textarea {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  border: 1px solid transparent;
  transition: border var(--trans-base), background-color var(--trans-base), color var(--trans-base);
  background: transparent;
  width: 100%;
  text-overflow: ellipsis;
  font-family: "Iosevka", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .input,
  .textarea {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input,
  .textarea {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input,
  .textarea {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
textarea.input, .textarea {
  overflow: hidden;
}

.input::placeholder,
.textarea::placeholder {
  opacity: 1;
  transition: all var(--trans-base);
}
.input:focus,
.textarea:focus {
  outline: none;
}
.input--var-primary,
.textarea--var-primary {
  border: 1px solid var(--color-black);
}
.input--size-base,
.textarea--size-base {
  height: 40px;
  padding-left: 16px;
  padding-right: 16px;
}
.input--size-s,
.textarea--size-s {
  padding-left: 4px;
  padding-right: 4px;
}
textarea.input, .textarea--size-base {
  min-height: 80px;
}

.textarea {
  min-height: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  max-height: calc(400 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw));
  padding-right: 0;
  resize: vertical;
  overflow-y: auto;
}
@media only screen and (min-width: 1921px) {
  .textarea {
    min-height: 200px;
    max-height: 400px;
    padding: 11px;
    padding-right: 0;
  }
}
@media only screen and (max-width: 1440px) {
  .textarea {
    min-height: calc(140 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.link {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(11 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border: none;
  background-color: transparent;
  color: var(--color-primary);
  font-family: "Iosevka", sans-serif;
  font-weight: 500;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s ease;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .link {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .link {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.link:focus {
  outline: none;
  color: var(--color-secondary);
}
.link:focus-visible {
  outline: none;
  color: var(--color-secondary);
}
.link:active {
  color: var(--color-secondary);
}
.link:disabled, .link.is-disabled {
  color: var(--color-disabled);
  cursor: not-allowed;
  pointer-events: none;
}
.link__icon {
  flex: none;
  width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  color: inherit;
}
.link__text {
  display: flex;
  align-items: center;
}
.link__text--grey {
  gap: 0.4rem;
  color: var(--color-secondary-contrast);
}
.link--color-black {
  color: var(--color-primary-contrast);
}
.link--color-black:active {
  color: var(--color-primary-contrast);
}
.link--color-black:focus, .link--color-black:focus-visible {
  color: var(--color-secondary-contrast);
}
.link--size-m {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .link--size-m {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .link--size-m {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.link--nopadding {
  padding: 0;
}
@media only screen and (min-width: 1921px) {
  .link {
    padding: 11px 0;
    gap: 4px;
  }
}
@media only screen and (max-width: 1440px) {
  .link {
    padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .link--nopadding {
    padding: 0;
  }
}

.picture {
  --width: auto;
  --aspect-ratio: auto;
  --radius: 0;
  --object-fit: fill;
  --object-position: unset;
  display: block;
  width: var(--width);
  max-width: 100%;
  height: auto;
  aspect-ratio: var(--aspect-ratio);
  overflow: hidden;
  border-radius: var(--radius);
}
.picture__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--object-fit);
  object-position: var(--object-position);
}

.radio__title {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
  padding: calc(8 / var(--scale-vw) * var(--vw, 1vw)) calc(4 / var(--scale-vw) * var(--vw, 1vw));
  cursor: pointer;
  transition: 0.2s ease-in-out;
  transition-property: color, background-color;
}
@media only screen and (min-width: 1921px) {
  .radio__title {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .radio__title {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .radio__title {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.radio__input {
  visibility: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
  visibility: visible;
}
.radio__input[type=radio]:where(:checked, :focus, :focus-visible) ~ .radio__title {
  background-color: var(--color-primary-contrast);
  color: var(--color-primary);
}
.radio__input[type=radio]:not(:checked):where(:focus, :focus-visible) ~ .radio__title {
  background-color: var(--color-secondary-contrast);
  color: var(--color-primary);
}
.radio.white .radio__input[type=radio]:checked ~ .radio__title {
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .radio:hover .radio__title {
    background-color: var(--color-primary-contrast);
    color: var(--color-primary);
  }
  .radio.white:hover .radio__title {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
}
@media only screen and (min-width: 1921px) {
  .radio__title {
    padding: 8px 4px;
  }
}
@media only screen and (max-width: 580px) {
  .radio__title {
    padding: calc(3 / var(--scale-vw) * var(--vw, 1vw)) calc(3 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.swiper-btn {
  aspect-ratio: 1/1;
  width: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 0;
  background-color: var(--color-primary);
}
.swiper-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("/local/assets/css/../img/bg/corners-border.svg");
  opacity: 0;
  transition: opacity 0.3s ease;
}
.swiper-btn:not(.swiper-button-disabled) {
  cursor: pointer;
}
.swiper-btn:focus {
  outline: none;
}
.swiper-btn:focus::before {
  opacity: 1;
}
.swiper-btn:focus-visible {
  outline: none;
}
.swiper-btn:focus-visible::before {
  opacity: 1;
}
.swiper-btn:active::before {
  opacity: 1;
}
.swiper-btn__icon {
  flex: none;
  width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .swiper-btn:hover:not(.swiper-button-disabled)::before {
    opacity: 1;
  }
}

.switch {
  position: relative;
  display: block;
  width: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.switch.active .switch__body {
  background-color: var(--color-checked);
}
.switch.active .switch__switch {
  left: calc(100% - calc(14 / var(--scale-vw) * var(--vw, 1vw)));
}
.switch.active .switch__icon {
  color: var(--color-checked);
}
.switch__body {
  position: absolute;
  cursor: pointer;
  padding: 1px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 270px;
  background-color: var(--color-primary-contrast);
  transition: background-color 0.3s;
}
.switch__switch {
  width: calc(14 / var(--scale-vw) * var(--vw, 1vw));
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 1px;
  left: 1px;
  transition: left 0.3s;
}
.switch__icon {
  width: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  color: var(--color-primary-contrast);
  transition: color 0.3s;
}
.switch__checkbox {
  display: none;
}
.switch__checkbox:checked + .switch__checkbox__body {
  background-color: var(--color-checked);
}
.switch__checkbox:checked + .switch__checkbox__switch {
  left: calc(100% - calc(14 / var(--scale-vw) * var(--vw, 1vw)));
}
.switch__checkbox:checked + .switch__checkbox__icon {
  color: var(--color-checked);
}
@media only screen and (max-width: 480px) {
  .switch__switch {
    height: calc(calc(14 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  }
}

.base-accordion__head {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary);
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border-top: 1px dashed var(--color-secondary);
  background-color: var(--color-primary-contrast);
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .base-accordion__head {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .base-accordion__head {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .base-accordion__head {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.base-accordion__title {
  grid-column: 7/12;
}
.base-accordion__btn {
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  padding: 0;
  grid-column: 12;
  position: relative;
  color: var(--color-secondary);
  transition: color 0.3s ease;
  margin-left: auto;
}
.base-accordion__icon {
  width: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(20 / var(--scale-vw) * var(--vw, 1vw));
}
.base-accordion__icon--minus {
  position: absolute;
  opacity: 0;
}
.base-accordion__body {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}
.base-accordion__content {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
  grid-column: 7/-1;
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
}
@media only screen and (min-width: 1921px) {
  .base-accordion__content {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .base-accordion__content {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .base-accordion__content {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.base-accordion.is-active .base-accordion__head {
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
  border-top: 1px solid var(--color-primary);
}
.base-accordion.is-active .base-accordion__btn {
  color: var(--color-primary-contrast);
}
.base-accordion.is-active .base-accordion__icon--minus {
  position: absolute;
  opacity: 1;
}
.base-accordion.is-active .base-accordion__icon--plus {
  opacity: 0;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .base-accordion__head:hover {
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
    border-top: 1px solid var(--color-primary);
  }
  .base-accordion__head:hover .base-accordion__btn {
    color: var(--color-primary-contrast);
  }
}
@media only screen and (min-width: 1921px) {
  .base-accordion__head, .base-accordion__content {
    padding: 24px 0;
  }
  .base-accordion__icon {
    width: 20px;
    height: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .base-accordion__head, .base-accordion__content {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .base-accordion__icon {
    width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .base-accordion__title, .base-accordion__content {
    grid-column: 1/12;
  }
  .base-accordion__number {
    display: none;
  }
}

.block-bg {
  position: relative;
  z-index: 1;
  background-color: var(--color-primary-contrast);
  overflow: hidden;
}
.block-bg__spotlight {
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: radial-gradient(circle at 9% 12%, var(--color-secondary-contrast) 0%, var(--color-primary-contrast) 20%);
  z-index: -1;
}
.block-bg__code {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -2;
  line-height: 1.5;
}
@media only screen and (min-width: 1921px) {
  .block-bg__code {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .block-bg__code {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .block-bg {
    background-image: none;
  }
  .block-bg__spotlight {
    display: none;
  }
  .block-bg__code {
    display: none;
  }
}

.block-white-bg {
  background-color: var(--color-primary);
  background-image: url("/local/assets/css/../img/bg/dot-grey.svg");
  background-position: center;
  background-size: 8px;
}

.client {
  min-height: calc(320 / var(--scale-vw) * var(--vw, 1vw));
  background-color: var(--color-primary);
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  flex-direction: column;
  align-items: center;
}
.client__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.client__name, .client__number {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary-contrast);
}
@media only screen and (min-width: 1921px) {
  .client__name, .client__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .client__name, .client__number {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.client__img {
  --width: calc(216 / var(--scale-vw) * var(--vw, 1vw));
  --object-fit: contain;
  max-height: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  margin: auto;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .client:hover .client__img {
    opacity: 1;
  }
}
@media only screen and (min-width: 1921px) {
  .client {
    padding: 24px;
    min-height: 320px;
  }
  .client__img {
    --width: 216px;
    max-height: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .client {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    min-height: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  }
  .client__img {
    max-height: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .client {
    min-height: calc(212 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .client {
    min-height: calc(200 / var(--scale-vw) * var(--vw, 1vw));
    justify-content: center;
  }
  .client__top {
    display: contents;
  }
  .client__number {
    order: 1;
  }
  .client__img {
    max-height: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.cookie-accept {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  will-change: backdrop-filter;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-secondary-90);
  border-top: 1px solid var(--color-border-primary);
  transform: translateY(101%);
  transition: transform 0.3s;
  z-index: var(--z-over-chat);
}
.cookie-accept.is-visible {
  transform: translateY(0);
}
.cookie-accept__body {
  padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.cookie-accept__text {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .cookie-accept__text {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .cookie-accept__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (min-width: 1921px) {
  .cookie-accept__body {
    gap: 32px;
    padding: 16px;
  }
}
@media only screen and (max-width: 480px) {
  .cookie-accept__body {
    flex-direction: column;
    gap: 0;
  }
  .cookie-accept__text {
    margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.form-result-temp {
  display: none;
}
.form-result-temp__block {
  display: none;
}

.form-result {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(610 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 1fr);
}
.form-result--white .form-result__lottie {
  filter: grayscale(100%) brightness(100%);
}
.form-result__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
  width: 100%;
}
.form-result__head {
  display: flex;
  flex-direction: column;
  row-gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  text-align: center;
  width: 100%;
  max-width: calc(620 / var(--scale-vw) * var(--vw, 1vw));
}
.form-result__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .form-result__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .form-result__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .form-result__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .form-result__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form-result__subtitle {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .form-result__subtitle {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .form-result__subtitle {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .form-result__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form-result__lottie {
  align-self: flex-end;
  height: 70vh;
  filter: grayscale(100%) brightness(40%);
  pointer-events: none;
}
@media only screen and (min-width: 1921px) {
  .form-result {
    grid-template-columns: minmax(0, 1fr) 610px minmax(0, 1fr);
  }
  .form-result__head {
    row-gap: 16px;
    max-width: 620px;
  }
  .form-result__info {
    gap: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .form-result {
    grid-template-columns: minmax(0, 1fr) calc(520 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 1fr);
  }
  .form-result__head {
    max-width: calc(520 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .form-result {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .form-result__info {
    grid-row: 1;
    grid-column: 1/-1;
    position: relative;
    z-index: 1;
  }
  .form-result__lottie {
    grid-row: 1;
  }
  .form-result__lottie--col-1 {
    grid-column: 1;
  }
  .form-result__lottie--col-2 {
    grid-column: 2;
  }
}
@media only screen and (max-width: 480px) {
  .form-result__lottie {
    grid-row: 1;
    height: 65vh;
  }
  .form-result__lottie--col-1 {
    grid-column: 1/-1;
  }
  .form-result__lottie--col-2 {
    grid-column: 1/-1;
  }
}

.form.is-submitted {
  display: none;
}
.form--white .form__info {
  color: var(--color-secondary);
}
.form--white .input-elem__label::before,
.form--white .input-elem__label::after {
  border-color: var(--color-primary);
}
.form__head {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: auto;
  max-width: 100rem;
}
.form__head:not(:last-child) {
  margin-bottom: 2.4rem;
}
.form__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .form__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .form__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .form__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form__subtitle {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .form__subtitle {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__subtitle {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .form__subtitle {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .form__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.form__inputs {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.4rem;
}
.form__bottom {
  display: flex;
  gap: 1.6rem;
  align-items: center;
}
.form__bottom:not(:first-child) {
  margin-top: 2.4rem;
}
.form__submit {
  flex: none;
}
.form__info {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: var(--color-secondary-contrast);
  max-width: calc(380 / var(--scale-vw) * var(--vw, 1vw));
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .form__info {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__info {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.form__info a[href] {
  text-decoration: underline;
}
@media only screen and (min-width: 1921px) {
  .form__info {
    max-width: 380px;
  }
}
@media only screen and (max-width: 1440px) {
  .form__head {
    max-width: calc(540 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form__info {
    max-width: calc(288 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .form__head {
    max-width: 49rem;
  }
}

.header-submenu {
  position: relative;
}
.header-submenu__list {
  position: absolute;
  top: calc(100% - calc(5 / var(--scale-vw) * var(--vw, 1vw)));
  left: 0;
  width: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  counter-reset: sublist;
  padding-top: calc(var(--py-header) + calc(15 / var(--scale-vw) * var(--vw, 1vw)));
}
.header-submenu__link {
  display: grid;
  grid-template-columns: minmax(0, calc(56 / var(--scale-vw) * var(--vw, 1vw))) minmax(0, 1fr);
  gap: 4px;
  padding: 8px 0;
}
.header-submenu__link::before {
  content: "001" "." counter(sublist) ".";
  counter-increment: sublist;
}
@media only screen and (min-width: 1921px) {
  .header-submenu__list {
    top: calc(100% - 5px);
    width: 260px;
    padding-top: calc(var(--py-header) + 15px);
  }
  .header-submenu__link {
    grid-template-columns: minmax(0, 56px) minmax(0, 1fr);
  }
}

.hystmodal {
  z-index: var(--z-modal);
}
.hystmodal--menu {
  display: block;
}
.hystmodal--menu .hystmodal__wrap {
  grid-row: auto;
  height: 100%;
}
.hystmodal--menu .hystmodal__window {
  width: 100%;
  height: 100%;
  margin: 0;
  background: transparent;
}
.hystmodal__close-menu {
  position: absolute;
  top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  right: var(--main-padding);
}
@media only screen and (min-width: 1921px) {
  .hystmodal__close-menu {
    top: 16px;
  }
}

.input-elem {
  padding: calc(5 / var(--scale-vw) * var(--vw, 1vw)) 0;
  width: 100%;
}
.input-elem--required .input-elem__box {
  position: relative;
}
.input-elem--required .input-elem__box::after {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  content: "*";
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-error);
}
@media only screen and (min-width: 1921px) {
  .input-elem--required .input-elem__box::after {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input-elem--required .input-elem__box::after {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input-elem--required .input-elem__box::after {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.input-elem--radio {
  padding: 0;
}
.input-elem--radio .input-elem__label {
  align-items: center;
}
.input-elem--radio .input-elem__label::before, .input-elem--radio .input-elem__label::after {
  height: calc(24 / var(--scale-vw) * var(--vw, 1vw));
}
.input-elem:has(input.has-error) .input-elem__error, .input-elem:has(input.has-error) .input-elem__error-container {
  display: block;
  opacity: 1;
  /* stylelint-disable-next-line at-rule-no-unknown */
}
@starting-style {
  .input-elem:has(input.has-error) .input-elem__error, .input-elem:has(input.has-error) .input-elem__error-container {
    opacity: 0;
  }
}
.input-elem__label {
  display: flex;
  position: relative;
  padding: 0 calc(10 / var(--scale-vw) * var(--vw, 1vw));
  align-items: flex-end;
}
.input-elem__label::before, .input-elem__label::after {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  border-top: 1px solid var(--color-primary-contrast);
  border-bottom: 1px solid var(--color-primary-contrast);
}
.input-elem__label::before {
  content: "";
  left: 0;
  border-left: 1px solid var(--color-primary-contrast);
}
.input-elem__label::after {
  content: "";
  right: 0;
  border-right: 1px solid var(--color-primary-contrast);
}
.input-elem__text {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  white-space: nowrap;
  flex: none;
}
@media only screen and (min-width: 1921px) {
  .input-elem__text {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input-elem__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input-elem__text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.input-elem__box {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: flex-end;
}
.input-elem__box--gap {
  gap: calc(20 / var(--scale-vw) * var(--vw, 1vw));
}
.input-elem__error, .input-elem__error-container {
  display: none;
  margin-top: 0.4rem;
  opacity: 0;
  transition: opacity 0.5s;
  transition-behavior: allow-discrete;
}
.input-elem__error .just-validate-error-label, .input-elem__error-container .just-validate-error-label {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-error);
}
@media only screen and (min-width: 1921px) {
  .input-elem__error .just-validate-error-label, .input-elem__error-container .just-validate-error-label {
    font-size: 12px;
  }
}
.input-elem__input {
  border-bottom: 1px dotted var(--color-secondary-30);
  transition: border-bottom 0.3s;
  padding-bottom: 0;
}
.input-elem__input:focus {
  border-bottom-color: var(--color-primary-contrast);
}
.input-elem.error .input-elem__error {
  display: block;
  opacity: 1;
  /* stylelint-disable-next-line at-rule-no-unknown */
}
@starting-style {
  .input-elem.error .input-elem__error {
    opacity: 0;
  }
}
.input-elem.disabled .input-elem__label {
  color: var(--color-secondary-contrast);
  pointer-events: none;
  cursor: not-allowed;
}
.input-elem.white .input-elem__input {
  color: var(--color-primary);
  border-bottom-color: var(--color-secondary);
}
.input-elem.white .input-elem__input:focus {
  border-bottom-color: var(--color-white);
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .white .input-elem__label:hover .input-elem__input {
    border-bottom-color: var(--color-white);
  }
  .input-elem__label:hover .input-elem__input {
    border-bottom-color: var(--color-primary-contrast);
  }
}
@media only screen and (min-width: 1921px) {
  .input-elem {
    padding: 5px 0;
  }
  .input-elem__label {
    padding: 0 12px;
  }
  .input-elem__label::before, .input-elem__label::after {
    width: 5px;
  }
  .input-elem__box--gap {
    gap: 20px;
  }
  .input-elem__error {
    margin-top: 4px;
  }
}
@media only screen and (max-width: 1024px) {
  .input-elem__box--gap {
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 580px) {
  .input-elem--radio {
    margin-bottom: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  }
  .input-elem--radio .input-elem__text {
    margin-top: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  }
  .input-elem--radio .input-elem__label::before, .input-elem--radio .input-elem__label::after {
    height: calc(21 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.input-textarea {
  width: 100%;
}
.input-textarea__box {
  display: grid;
  grid-template-columns: min-content minmax(0, 1fr);
  border: 1px solid var(--color-primary-contrast);
}
.input-textarea__label {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  white-space: nowrap;
  padding: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  padding-right: 0;
  text-transform: uppercase;
  flex: none;
}
@media only screen and (min-width: 1921px) {
  .input-textarea__label {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .input-textarea__label {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .input-textarea__label {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.input-textarea__error {
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: var(--color-error);
  margin-top: calc(4 / var(--scale-vw) * var(--vw, 1vw));
  transition-behavior: allow-discrete;
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}
@media only screen and (min-width: 1921px) {
  .input-textarea__error {
    font-size: 13px;
  }
}
.input-textarea.error .input-textarea__error {
  display: block;
  opacity: 1;
  /* stylelint-disable-next-line at-rule-no-unknown */
}
@starting-style {
  .input-textarea.error .input-textarea__error {
    opacity: 0;
  }
}
.input-textarea.disabled {
  pointer-events: none;
  cursor: not-allowed;
}
.input-textarea.disabled .input-textarea__label {
  color: var(--color-secondary-contrast);
}
.input-textarea.disabled .input-textarea__box {
  border-color: var(--color-secondary-contrast);
}
.input-textarea.white .input-textarea__box {
  border-color: var(--color-primary);
}
.input-textarea.white .input-textarea__textarea {
  color: var(--color-primary);
}
@media only screen and (min-width: 1921px) {
  .input-textarea__label {
    padding: 12px;
    padding-right: 0;
  }
  .input-textarea__error {
    margin-top: 4px;
  }
}

.manager-block {
  display: flex;
  align-items: flex-start;
  column-gap: 2.4rem;
}
.manager-block__pic {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  overflow: hidden;
}
.manager-block__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.manager-block__info {
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
  width: 100%;
  max-width: 32rem;
}
.manager-block__info p, .manager-block__info a {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .manager-block__info p, .manager-block__info a {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .manager-block__info p, .manager-block__info a {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.manager-block__info a {
  padding-block: 1.1rem;
}
@media only screen and (max-width: 1440px) {
  .manager-block__info p, .manager-block__info a {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
    font-weight: 500;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 1921px) {
  .manager-block__info p, .manager-block__info a {
    font-size: 13px;
  }
}
@media only screen and (max-width: 1440px) {
  .manager-block__pic {
    width: 6.4rem;
    height: 6.4rem;
  }
}
@media only screen and (max-width: 1024px) {
  .manager-block {
    column-gap: 1.6rem;
  }
}

.modal-menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-modal);
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--color-primary-contrast);
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.modal-menu.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.modal-menu__head {
  background-color: var(--color-primary-contrast);
  padding: 0 var(--main-padding);
  display: flex;
  gap: 1.6rem;
  align-items: center;
  justify-content: space-between;
}
.modal-menu__head-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border-primary);
  padding: var(--py-header) 0;
  width: 100%;
}
.modal-menu__body {
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  will-change: backdrop-filter;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  flex-grow: 1;
  padding: 0 0 var(--main-padding) 1.6rem;
  scrollbar-width: none;
  overscroll-behavior: contain;
  overflow: auto;
  max-height: 100%;
}
.modal-menu__list {
  counter-reset: list;
}
.modal-menu__item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .modal-menu__item {
    font-size: 13px;
  }
}
.modal-menu__item-text {
  padding: 0.8rem 0;
  display: grid;
  grid-template-columns: minmax(0, 8.8rem) minmax(0, 1fr);
  gap: 0.4rem;
  width: fit-content;
  height: fit-content;
  text-transform: uppercase;
  color: var(--color-primary);
  text-decoration: none;
}
.modal-menu__item-text::before {
  content: "00" counter(list) ".";
  counter-increment: list;
}
.modal-menu__sublist {
  counter-reset: sublist;
}
.modal-menu__subitem {
  display: grid;
  grid-template-columns: minmax(0, 8.8rem) minmax(0, 1fr);
  gap: 0.4rem;
  padding: 0.8rem 0;
  width: fit-content;
}
.modal-menu__subitem::before {
  content: "001" "." counter(sublist) ".";
  counter-increment: sublist;
}
.modal-menu__bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.modal-menu__info {
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .modal-menu__info {
    font-size: 13px;
  }
}
@media only screen and (max-width: 960px) {
  .modal-menu__body {
    padding: 0 var(--main-padding) 1.6rem;
  }
}
@media only screen and (max-width: 580px) {
  .modal-menu__item {
    grid-template-columns: minmax(0, 1fr);
  }
  .modal-menu__item:has(.modal-menu__sublist) {
    margin-bottom: 3.2rem;
  }
  .modal-menu__phones {
    display: grid;
    grid-template-columns: min-content min-content;
    column-gap: 1.6rem;
  }
}

.page-nav {
  display: flex;
  flex-direction: column;
}
.page-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 0;
  padding-right: 1.6rem;
  border: none;
  background-color: transparent;
  color: var(--color-secondary);
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s ease;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.page-nav__link::before {
  content: "";
  position: absolute;
  right: -2px;
  top: 0;
  width: 1px;
  height: 0;
  background-color: transparent;
  z-index: 1;
  transition: width 0.3s ease-in-out;
}
.page-nav__link.active {
  color: var(--color-primary);
}
.page-nav__link.active::before {
  background-color: var(--color-primary);
  height: 100%;
}
.page-nav__text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  /* autoprefixer: off */
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  overflow: hidden;
  text-overflow: ellipsis;
  word-wrap: break-word;
}
@media only screen and (min-width: 1921px) {
  .page-nav__text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .page-nav__text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.page-nav__title {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: var(--color-secondary);
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .page-nav__title {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .page-nav__title {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .page-nav__title {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.page-nav__icon {
  flex: none;
  width: 1.6rem;
  height: 1.6rem;
}
.page-nav--subnav .page-nav__link::before {
  display: none;
}
@media only screen and (max-width: 768px) {
  .page-nav {
    flex-direction: row;
  }
  .page-nav__item:not(:last-child) {
    margin-right: 2.4rem;
  }
  .page-nav__text {
    overflow: visible;
    white-space: nowrap;
  }
  .page-nav__link {
    padding-right: 0;
  }
  .page-nav__link.active::before {
    width: 100%;
    height: 1px;
    left: 0;
    right: 0;
  }
}

.page-section {
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .page-section {
    padding-top: 32px;
    padding-bottom: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .page-section {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .page-section {
    padding-bottom: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .page-section {
    padding-top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.preloader {
  position: fixed;
  inset: 0;
  color: var(--color-primary);
  z-index: var(--z-modal);
  display: flex;
  justify-content: center;
  align-items: center;
}
.preloader__box {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: auto;
  background-color: var(--color-primary-contrast);
}
.preloader__el-main {
  opacity: 0;
  padding: 0.5rem;
  margin-bottom: 50vh;
  font-size: calc(26 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .preloader__el-main {
    font-size: 26px;
  }
}
@media only screen and (max-width: 1440px) {
  .preloader__el-main {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .preloader__el-main {
    font-size: calc(22 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .preloader__el-main {
    font-size: calc(18 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.preloader-opened {
  overflow: hidden;
  padding-right: var(--scroll-width);
}

.product {
  position: relative;
  display: flex;
  aspect-ratio: 570/520;
}
.product__wrapper {
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  flex-direction: column;
  gap: calc(50 / var(--scale-vw) * var(--vw, 1vw));
  justify-content: space-between;
  height: auto;
  width: 100%;
}
.product__wrapper::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 2px;
  top: 50%;
  background: linear-gradient(94deg, rgb(8, 8, 8) 0%, rgba(254, 254, 254, 0) 50%, rgb(8, 8, 8) 100%);
}
.product__border {
  position: absolute;
  top: -1px;
  left: -2px;
  bottom: -2px;
  right: -1px;
  z-index: -1;
  border: 1px solid var(--color-border-primary);
  box-shadow: inset 0 0 0 4px var(--color-primary-contrast);
  opacity: 0;
  transition: opacity 0.3s;
}
.product__top {
  padding: 0 calc(32 / var(--scale-vw) * var(--vw, 1vw));
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--color-secondary);
  transition: color 0.3s;
}
.product__number {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .product__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .product__number {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.product__icon {
  width: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  margin-left: auto;
}
.product__picture {
  position: relative;
  width: calc(250 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
  overflow: hidden;
  aspect-ratio: 1;
}
.product__img {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary-contrast);
}
.product__img img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
.product__ascii {
  font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1;
  font-weight: 500;
  display: flex;
  position: absolute;
  top: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  border-bottom: solid transparent;
  border-width: 0;
  border-image: linear-gradient(to right, rgba(0, 0, 0, 0.3), var(--color-primary), rgba(0, 0, 0, 0.3));
  border-image-slice: 1;
  box-shadow: 0 25px 18px -11px rgba(255, 255, 255, 0.1);
  transition: height 0.4s ease-out, border-width 0.4s ease-out;
  background-color: var(--color-primary-contrast);
}
@media only screen and (max-width: 1440px) {
  .product__ascii {
    font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .product__ascii {
    font-size: calc(2.7 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 960px) {
  .product__ascii {
    font-size: calc(2.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.product__ascii-pre {
  font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
  display: flex;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  height: 100%;
  width: auto;
  margin: 0 auto;
  background-image: linear-gradient(90deg, #f1f1f1, #99aedc);
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.product__ascii-pre code {
  font-size: calc(3 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
}
.product__ascii-img {
  display: block;
  aspect-ratio: 1;
  max-width: 100%;
  object-fit: contain;
  background-color: var(--color-primary-contrast);
}
.product__bottom {
  overflow: hidden;
  margin: 0 5px;
  flex: none;
}
.product__title {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .product__title {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .product__title {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.product__link {
  font-size: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.product__text {
  white-space: nowrap;
}
.product__text:not(:first-child) {
  display: none;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .product:hover .product__border {
    opacity: 1;
    z-index: 1;
  }
  .product:hover .product__ascii {
    height: calc(100% + 2px);
    border-width: 2px;
  }
  .product:hover .product__top {
    color: var(--color-primary);
  }
  .product:hover .product__title {
    animation: creeping-line 20s linear infinite;
  }
  .product:hover .product__text:not(:first-child) {
    display: block;
  }
}
@media only screen and (min-width: 1921px) {
  .product__wrapper {
    gap: 50px;
  }
}
@media only screen and (max-width: 1440px) {
  .product {
    aspect-ratio: 430/425;
  }
  .product__wrapper {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .product__top {
    padding: 0 calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .product__icon {
    width: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .product {
    aspect-ratio: auto;
  }
  .product__wrapper {
    gap: calc(43 / var(--scale-vw) * var(--vw, 1vw));
  }
  .product__wrapper::after {
    display: none;
  }
  .product__picture {
    width: calc(180 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(calc(180 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
    margin-bottom: calc(35 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .product {
    min-height: calc(380 / var(--scale-vw) * var(--vw, 1vw));
  }
  .product__wrapper {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .product__top {
    padding: 0 calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.project {
  position: relative;
  min-height: calc(800 / var(--scale-vw) * var(--vw, 1vw));
}
.page-product--new .project .project__awards,
.page-product--new .project .project__bottom {
  display: none;
}
.project__border {
  position: absolute;
  top: -1px;
  left: -2px;
  bottom: -2px;
  right: -1px;
  z-index: -1;
  border: 1px solid var(--color-border-primary);
  box-shadow: inset 0 0 0 4px var(--color-primary-contrast);
  opacity: 0;
  transition: opacity 0.3s;
}
.project__cover {
  height: 100%;
  position: absolute;
  inset: 0;
  transition: filter 0.3s ease-in;
}
.project__picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
}
.project__img {
  --object-fit: contain;
  max-width: 83%;
  margin: 0 auto;
}
.project__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 3.2rem;
}
.project__bottom {
  position: absolute;
  bottom: 3.2rem;
  left: 3.2rem;
  right: 3.2rem;
  display: flex;
  justify-content: flex-start;
}
.project__open {
  display: none;
}
.project__info-close {
  display: none;
}
.project__info {
  position: relative;
  padding: 3.2rem;
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  opacity: 0;
  z-index: 1;
  transition: opacity 0.3s ease-out;
}
.project__info::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-secondary-90);
  z-index: -1;
}
.project__logo {
  --object-fit: contain;
  max-width: 25rem;
}
.project__text {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
  max-width: 60rem;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .project__text {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .project__text {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .project__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.project__text-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin: auto 0;
}
.project__awards {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3.2rem;
  margin-top: auto;
}
.project__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .project__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .project__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .project__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .project__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.project__number {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: var(--color-secondary);
}
@media only screen and (min-width: 1921px) {
  .project__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .project__number {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.project__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.project__stub {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.project__stub::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0.1;
  transition: opacity 0.3s ease-in;
  background: radial-gradient(circle, rgba(8, 8, 8, 0) -25%, rgb(8, 8, 8) 75%), url("/local/assets/css/../img/bg/dot.svg") repeat center/8px;
}
.project__stub-icon {
  pointer-events: none;
}
.project__icon-plus {
  transition: transform 0.3s ease-in;
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .project:hover .project__border {
    opacity: 1;
    z-index: 1;
  }
  .project:hover .project__info {
    opacity: 1;
    z-index: 1;
  }
  .project:hover .project__cover {
    filter: blur(25px);
  }
  .project:hover .project__stub::before {
    opacity: 0.4;
  }
  .project:hover .project__icon-plus {
    transform: rotate(90deg);
  }
}
@media only screen and (min-width: 1921px) {
  .project {
    min-height: 800px;
  }
  .project__stub {
    gap: 16px;
  }
  .project__stub::before {
    background: radial-gradient(circle, rgba(8, 8, 8, 0) -25%, rgb(8, 8, 8) 75%), url("/local/assets/css/../img/bg/dot-white.svg") repeat center/14px;
  }
}
@media only screen and (max-width: 1440px) {
  .project {
    min-height: calc(648 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project__top {
    top: 2.4rem;
    left: 2.4rem;
    right: 2.4rem;
  }
  .project__bottom {
    bottom: 2.4rem;
    left: 2.4rem;
    right: 2.4rem;
  }
  .project__info, .project__top {
    padding: 2.4rem;
  }
  .project__text-box {
    max-width: calc(530 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project__stub {
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1024px) {
  .project__number {
    display: none;
  }
  .project__open {
    display: flex;
    flex: none;
    padding: 0;
  }
  .project__open::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .project__info {
    color: var(--color-primary-contrast);
  }
  .project__info::before {
    background: url("/local/assets/css/../img/bg/dot-grey.svg") repeat center/8px, var(--color-primary);
  }
  .project.active .project__info {
    opacity: 1;
    z-index: 1;
  }
  .project.active .project__open {
    z-index: 0;
  }
  .project__text {
    max-width: calc(525 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project__info-close {
    display: flex;
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    background-color: var(--color-primary);
    color: var(--color-primary-contrast);
  }
  .project__award::before, .project__award::after {
    filter: brightness(0%);
  }
  .project__link {
    color: var(--color-primary-contrast);
    position: relative;
    z-index: 1;
  }
  .project__link::before {
    display: none;
  }
  .project__logo {
    filter: invert(1) grayscale(150%);
  }
  .project--stub .project__link {
    color: var(--color-primary);
  }
}
@media only screen and (max-width: 768px) {
  .project--stub {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .project {
    min-height: 48rem;
  }
  .project:not(.project--stub) {
    display: flex;
  }
  .project__cover {
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  .project__picture {
    flex-grow: 1;
  }
  .project__top, .project__bottom, .project__picture {
    position: static;
  }
  .project__top {
    padding: 0;
  }
  .project__info {
    padding: 1.6rem;
    height: auto;
    width: 100%;
  }
  .project__info-close {
    top: 0.8rem;
    right: 0.8rem;
  }
  .project__img {
    max-width: 100%;
  }
  .project__logo {
    align-self: flex-start;
  }
}

.reviews-slider {
  position: relative;
}
.reviews-slider__thumbs {
  width: 6.5rem;
  margin: 0 auto;
}
.reviews-slider__thumbs:not(:last-child) {
  margin-bottom: calc(var(--py-section) + 1rem);
}
.reviews-slider__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
}
.reviews-slider__thumb.swiper-slide-active {
  position: relative;
  z-index: 1;
}
.reviews-slider__thumb.swiper-slide-active .reviews-slider__thumb-card {
  border: 1px dashed var(--color-secondary-contrast);
  filter: grayscale(0);
  transform: scale(1.8);
}
.reviews-slider__thumb.swiper-slide-next.reviews-slider__thumb {
  transform: scale(1.5) translateX(calc(5 / var(--scale-vw) * var(--vw, 1vw)));
}
.reviews-slider__thumb.swiper-slide-prev.reviews-slider__thumb {
  transform: scale(1.5) translateX(calc(-5 / var(--scale-vw) * var(--vw, 1vw)));
}
.reviews-slider__thumb-card {
  border-radius: 50%;
  border: 1px dashed transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem;
  filter: grayscale(1);
  transform: scale(1);
  transition: filter 0.3s ease, transform 0.3s ease;
}
.reviews-slider__thumb-img {
  --width: 3.2rem;
  --radius: 50%;
  display: flex;
}
.reviews-slider__card {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reviews-slider__text {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: 76rem;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .reviews-slider__text {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-slider__text {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .reviews-slider__text {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-slider__text {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.reviews-slider__text:not(:last-child) {
  margin-bottom: var(--py-section);
}
.reviews-slider__author {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  max-width: 76rem;
}
@media only screen and (min-width: 1921px) {
  .reviews-slider__author {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-slider__author {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-slider__author {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.reviews-slider__subname {
  color: var(--color-secondary-contrast);
}
.reviews-slider__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.reviews-slider__btn--prev {
  left: 0;
}
.reviews-slider__btn--next {
  right: 0;
}
@media only screen and (max-width: 960px) {
  .reviews-slider__text, .reviews-slider__author {
    max-width: 56rem;
  }
  .reviews-slider__btn--prev {
    left: 0.8rem;
  }
  .reviews-slider__btn--next {
    right: 0.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .reviews-slider__text, .reviews-slider__author {
    max-width: 46rem;
  }
}
@media only screen and (max-width: 480px) {
  .reviews-slider__btn {
    display: none;
  }
  .reviews-slider__card {
    padding: 0 var(--main-padding);
  }
}

.stack__list {
  display: flex;
  gap: 1.6rem;
  row-gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.stack__item {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.stack__item:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: 0.8rem;
  width: 1px;
  height: 1.2rem;
  background-color: var(--color-border-primary);
}
.stack__name {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .stack__name {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .stack__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.stack__icon {
  --object-fit: contain;
  --object-position: center;
  width: 3.2rem;
  height: 2.4rem;
}
.stack--grey {
  color: var(--color-secondary);
}
.stack--start {
  justify-content: flex-start;
}

.sticky-nav {
  width: 100%;
  padding: 0 var(--main-padding);
  position: fixed;
  top: var(--header-height);
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  justify-content: center;
  background: var(--color-primary-contrast);
  z-index: var(--z-menu);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.sticky-nav__elem {
  font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.02em;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-secondary);
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
@media only screen and (min-width: 1921px) {
  .sticky-nav__elem {
    font-size: 13px;
  }
}
.sticky-nav__elem:not(:last-child)::after {
  content: "";
  display: block;
  margin-left: 0.8rem;
  width: 1px;
  height: 1.2rem;
  background-color: var(--color-border-primary);
}
.sticky-nav__elem.active {
  position: relative;
}
.sticky-nav__elem.active .sticky-nav__text {
  position: relative;
}
.sticky-nav__elem.active .sticky-nav__text::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--color-primary);
}
.sticky-nav__text {
  padding: 1.2rem 0;
}
.sticky-nav.is-hidden {
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  .sticky-nav {
    display: none;
  }
}

.team-card {
  display: flex;
  gap: 4rem;
  background-color: var(--color-primary-contrast);
  width: 100%;
}
.team-card__header {
  flex: 0 0 48%;
  position: relative;
  border: 1px solid var(--color-border-primary);
  height: calc(750 / var(--scale-vw) * var(--vw, 1vw));
  transition: border-color 0.3s;
}
.team-card__header.active {
  border: 1px solid var(--color-primary);
}
.team-card__header.active .team-card__ascii {
  opacity: 1;
}
.team-card__header.active .team-card__bottom .team-card__text {
  box-shadow: 0 0 67px 35px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
.team-card__picture {
  height: 100%;
  background-color: var(--color-primary-contrast);
  position: relative;
  overflow: hidden;
}
.team-card__img {
  --aspect-ratio: 580/750;
  --object-fit: cover;
  --object-position: top;
  display: block;
  height: 100%;
  width: 100%;
}
.team-card__ascii {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-primary-contrast);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  opacity: 0;
  transition: opacity 0.3s;
}
.team-card__ascii-pre {
  font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
  display: flex;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  height: 100%;
  width: auto;
  margin: 0 auto;
}
@media only screen and (max-width: 1440px) {
  .team-card__ascii-pre {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .team-card__ascii-pre {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-card__ascii-pre {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__ascii-pre {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
    line-height: calc(7 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__ascii-pre code {
  font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 1.1;
  font-weight: 500;
}
@media only screen and (max-width: 1440px) {
  .team-card__ascii-pre code {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .team-card__ascii-pre code {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-card__ascii-pre code {
    font-size: calc(7.5 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__ascii-pre code {
    font-size: calc(6 / var(--scale-vw) * var(--vw, 1vw));
    line-height: calc(7 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__top {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  display: flex;
  justify-content: space-between;
  z-index: 1;
}
.team-card__bottom {
  position: absolute;
  bottom: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.team-card__text {
  font-size: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 100%;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media only screen and (min-width: 1921px) {
  .team-card__text {
    font-size: 12px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__text {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-card__text {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__text {
    font-size: calc(10 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__skills {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  column-gap: 0.5rem;
  flex-wrap: wrap;
  width: calc(90 / var(--scale-vw) * var(--vw, 1vw));
}
.team-card__skill {
  display: flex;
  text-transform: uppercase;
}
.team-card__skill:first-child {
  width: 100%;
}
.team-card__skill::before {
  content: ">";
  padding-right: 0.5rem;
}
.team-card__hint {
  text-transform: uppercase;
}
.team-card__subtitle {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .team-card__subtitle {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.team-card__title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .team-card__title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .team-card__title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.team-card__body {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  background-color: var(--color-primary-contrast);
}
.team-card__content {
  margin-top: auto;
}
.team-card__content p:not([class]) {
  font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .team-card__content p:not([class]) {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-card__content p:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-card__content p:not([class]) {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-card__icons {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.6rem;
}
.team-card__icon-box {
  margin: 0.6rem 0;
  display: flex;
  gap: 1.6rem;
  opacity: 0.4;
  align-items: center;
  max-height: 2rem;
}
.team-card__icon-box:not(:last-child)::after {
  content: "";
  display: block;
  height: 12px;
  width: 1px;
  background-color: var(--color-primary);
  flex: none;
}
.team-card__icon {
  display: block;
  width: auto;
  height: 100%;
  object-fit: contain;
  max-width: 7.5rem;
  flex: none;
}
@media only screen and (max-width: 1440px) {
  .team-card__header {
    flex: 0 0 47%;
    height: 56rem;
  }
  .team-card__body {
    gap: 1.6rem;
  }
}
@media only screen and (max-width: 1280px) {
  .team-card {
    gap: 2rem;
  }
  .team-card__header {
    flex: 0 0 35%;
    height: 46rem;
  }
}
@media only screen and (max-width: 768px) {
  .team-card {
    flex-direction: column;
    gap: 4.8rem;
    height: 100%;
  }
  .team-card__header {
    height: 56rem;
    flex: 0 0 auto;
  }
  .team-card__body {
    margin-right: calc(-216 / var(--scale-vw) * var(--vw, 1vw));
    flex-grow: 1;
  }
  .team-card__img {
    --aspect-ratio: auto;
  }
}
@media only screen and (max-width: 480px) {
  .team-card {
    gap: 3.2rem;
  }
  .team-card__header {
    height: auto;
  }
  .team-card__body {
    margin-right: 0;
    gap: 1.2rem;
  }
  .team-card__img {
    height: calc(465 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.team-slider-thumbs {
  position: relative;
}
.team-slider-thumbs__slide {
  padding: 2px;
  height: fit-content;
  position: relative;
  cursor: pointer;
}
.team-slider-thumbs__slide.swiper-slide-thumb-active .team-slider-thumbs__overlay {
  opacity: 0;
}
.team-slider-thumbs__overlay {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: var(--color-secondary-60);
  opacity: 1;
  transition: opacity 0.2s ease-in;
}
.team-slider-thumbs__card {
  --aspect-ratio: 150/150;
  --object-fit: cover;
  --object-position: top;
  display: block;
  width: 15rem;
}
.team-slider-thumbs__number {
  font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 110%;
  letter-spacing: 0.01em;
  font-weight: 500;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
}
@media only screen and (min-width: 1921px) {
  .team-slider-thumbs__number {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-slider-thumbs__number {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-slider-thumbs__number {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-slider-thumbs__number {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.team-slider-thumbs__name {
  font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 110%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  position: absolute;
  bottom: 0.4rem;
  left: 0.4rem;
  opacity: 0;
}
@media only screen and (min-width: 1921px) {
  .team-slider-thumbs__name {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-slider-thumbs__name {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .team-slider-thumbs__name {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-slider-thumbs__name {
    font-size: calc(9 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .team-slider-thumbs__slide:hover .team-slider-thumbs__overlay {
    opacity: 0;
  }
  .team-slider-thumbs__slide:hover .team-slider-thumbs__name {
    opacity: 1;
  }
}
@media only screen and (min-width: 1921px) {
  .team-slider-thumbs__card {
    width: 100%;
  }
}
@media only screen and (max-width: 1440px) {
  .team-slider-thumbs__card {
    --aspect-ratio: 108/108;
    width: calc(108 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (min-width: 481px) {
  .team-slider-thumbs__slide {
    width: 100% !important;
  }
}
@media only screen and (max-width: 480px) {
  .team-slider-thumbs__card {
    --aspect-ratio: 108/108;
    width: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(calc(108 / var(--scale-vw) * var(--vw, 1vw)) * 1 / 1);
  }
}

.add-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border-top: 1px solid var(--color-border-primary);
  border-bottom: 1px solid var(--color-border-primary);
  position: relative;
}
.add-section__elem {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  min-height: calc(500 / var(--scale-vw) * var(--vw, 1vw));
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  padding-left: 0;
}
.add-section__elem:nth-child(even) {
  padding-left: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.add-section__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: calc(480 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .add-section__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .add-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .add-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .add-section__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.add-section__text {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  max-width: calc(480 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .add-section__text {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .add-section__text {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .add-section__text {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .add-section__text {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.add-section__btn-mobile {
  display: none;
}
@media only screen and (max-width: 768px) {
  .add-section__elem {
    min-height: calc(400 / var(--scale-vw) * var(--vw, 1vw));
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .add-section__elem:nth-child(even) {
    padding-left: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:nth-child(odd) {
    padding-right: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:not(:first-child) {
    border-top: 1px solid var(--color-primary-contrast);
  }
}
@media only screen and (max-width: 580px) {
  .add-section {
    background-color: var(--color-primary);
    background-image: url("/local/assets/css/../img/bg/dot-grey.svg");
    background-position: center;
    background-size: 8px;
    color: var(--color-primary-contrast);
  }
  .add-section__grid {
    border: none;
    grid-template-columns: 1fr;
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .add-section__decor {
    display: none;
  }
  .add-section__elem {
    min-height: calc(270 / var(--scale-vw) * var(--vw, 1vw));
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:nth-child(odd) {
    padding-right: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__elem:nth-child(even) {
    padding-left: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .add-section__btn-mobile {
    display: flex;
  }
  .add-section__btn-deck {
    display: none;
  }
}

.catalog-section__line {
  margin-top: calc(350 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
.catalog-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px dashed var(--color-border-primary);
  border-right: none;
}
.catalog-section__grid:has(:hover) .product::before {
  opacity: 0;
}
.catalog-section__elem {
  background-color: var(--color-primary-contrast);
  border-right: 1px dashed var(--color-border-primary);
}
.catalog-section__elem:nth-child(n+4) {
  border-top: 1px dashed var(--color-border-primary);
}
.catalog-section__elem:nth-child(n+4):not(:nth-child(3n+3))::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  transform: translate(50%, -50%);
  width: 10px;
  height: 10px;
  background-image: url("/local/assets/css/../img/bg/connection-2.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-color: var(--color-primary-contrast);
  z-index: 1;
  transition: opacity 0.3s;
}
.catalog-section__box {
  position: relative;
}
.catalog-section__box:has(:hover) .catalog-section__hover {
  opacity: 1;
}
.catalog-section__hover {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.1s;
}
@media only screen and (min-width: 1921px) {
  .catalog-section__line {
    margin-top: 350px;
    margin-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .catalog-section__line {
    margin-top: calc(250 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .catalog-section__line {
    margin-top: calc(190 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .catalog-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .catalog-section__elem:nth-child(n+3) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .catalog-section__elem:nth-child(n+4):not(:nth-child(3n+3))::before {
    display: none;
  }
  .catalog-section__elem:nth-child(n+2):nth-child(odd)::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    width: 10px;
    height: 10px;
    background-image: url("/local/assets/css/../img/bg/connection-2.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-color: var(--color-primary-contrast);
    z-index: 1;
  }
}
@media only screen and (max-width: 480px) {
  .catalog-section__line {
    margin-top: calc(110 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .catalog-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .catalog-section__elem:nth-child(n+2) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .catalog-section__elem:nth-child(n+2):nth-child(odd)::before {
    display: none;
  }
}

.clients-section {
  color: var(--color-primary-contrast);
}
.clients-section__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px dashed var(--color-border-secondary);
  border-right: none;
  counter-reset: client;
}
.clients-section__elem {
  position: relative;
  border-right: 1px dashed var(--color-border-secondary);
}
.clients-section__elem:nth-child(n+5) {
  border-top: 1px dashed var(--color-border-secondary);
}
.clients-section__elem:nth-child(n+5):not(:nth-child(4n+4))::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  transform: translate(50%, -50%);
  width: 10px;
  height: 10px;
  background-image: url("/local/assets/css/../img/bg/connection-black.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-color: var(--color-primary);
  z-index: 1;
}
.clients-section__box {
  position: relative;
}
.clients-section__box:not(:first-child) {
  margin-top: calc(150 / var(--scale-vw) * var(--vw, 1vw));
}
.clients-section__corners {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.clients-section__corner {
  width: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  border: 1px solid transparent;
  position: absolute;
}
.clients-section__corner--tl {
  top: 0;
  left: 0;
  border-top-color: var(--color-primary-contrast);
  border-left-color: var(--color-primary-contrast);
}
.clients-section__corner--tr {
  top: 0;
  right: 0;
  border-top-color: var(--color-primary-contrast);
  border-right-color: var(--color-primary-contrast);
}
.clients-section__corner--bl {
  bottom: 0;
  left: 0;
  border-left-color: var(--color-primary-contrast);
  border-bottom-color: var(--color-primary-contrast);
}
.clients-section__corner--br {
  bottom: 0;
  right: 0;
  border-bottom-color: var(--color-primary-contrast);
  border-right-color: var(--color-primary-contrast);
}
@media only screen and (min-width: 1921px) {
  .clients-section__box:not(:first-child) {
    margin-top: 150px;
  }
  .clients-section__corner {
    width: 12px;
    height: 12px;
  }
}
@media only screen and (max-width: 1440px) {
  .clients-section__box:not(:first-child) {
    margin-top: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .clients-section__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .clients-section__elem:nth-child(n+3) {
    border-top: 1px dashed var(--color-border-secondary);
  }
  .clients-section__elem:nth-child(n+5):not(:nth-child(4n+4))::before {
    display: none;
  }
  .clients-section__elem:nth-child(n+2):nth-child(odd)::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    right: -1px;
    transform: translate(50%, -50%);
    width: 10px;
    height: 10px;
    background-image: url("/local/assets/css/../img/bg/connection-black.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-color: var(--color-primary);
    z-index: 1;
    opacity: 1;
    transition: opacity 0.3s;
  }
}
@media only screen and (max-width: 480px) {
  .clients-section__box:not(:first-child) {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.error-section {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.error-section__line {
  flex-grow: 1;
  display: flex;
}
.error-section__img {
  --aspect-ratio: auto;
  width: calc(310 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(480 / var(--scale-vw) * var(--vw, 1vw));
}
.error-section__info {
  padding: calc(56 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.error-section__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 45%;
}
.error-section__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .error-section__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .error-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .error-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .error-section__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.error-section__subtitle {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .error-section__subtitle {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .error-section__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .error-section__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
@media only screen and (min-width: 1921px) {
  .error-section__info {
    padding: 56px 0;
  }
}
@media only screen and (max-width: 768px) {
  .error-section__info {
    align-items: flex-end;
    padding: calc(48 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}
@media only screen and (max-width: 480px) {
  .error-section__info {
    flex-direction: column;
    align-items: center;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .error-section__content {
    max-width: 100%;
    align-self: flex-start;
  }
  .error-section__img {
    width: calc(205 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(320 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.faq-section__line {
  margin-top: calc(350 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .faq-section__line {
    margin-top: 350px;
    margin-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .faq-section__line {
    margin-top: calc(248 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .faq-section__line {
    margin-top: calc(190 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .faq-section__line {
    margin-top: calc(110 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.form-section--submitted .form-section__core {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block-start: 0;
}
.form-section__wrapper {
  border-top: 1px solid var(--color-border-primary);
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
.form-section__wrapper.is-submitted .form-section__core {
  display: none;
}
.form-section__core {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr 2fr;
  column-gap: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  margin-block-start: calc(150 / var(--scale-vw) * var(--vw, 1vw));
}
.form-section__connect-block {
  position: sticky;
  top: calc(var(--height-header) + calc(24 / var(--scale-vw) * var(--vw, 1vw)));
  max-height: max-content;
}
.form-section__form {
  justify-self: end;
  width: 100%;
  max-width: calc(1176 / var(--scale-vw) * var(--vw, 1vw));
}
.form-section__result {
  width: 100%;
}
@media only screen and (min-width: 1921px) {
  .form-section__core {
    grid-template-columns: 500px 1fr;
    margin-block-start: 150px;
  }
  .form-section__connect-block {
    top: calc(var(--height-header) + 24px);
  }
  .form-section__form {
    max-width: 1176px;
  }
  .form-section__wrapper {
    padding-top: 32px;
    padding-bottom: 200px;
  }
}
@media only screen and (max-width: 1920px) {
  .form-section__form {
    max-width: calc(856 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1440px) {
  .form-section__wrapper {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form-section__core {
    margin-block-start: calc(72 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form-section__connect-block {
    position: static;
  }
  .form-section__form {
    max-width: calc(648 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .form-section__core {
    display: flex;
    flex-direction: column;
    row-gap: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .form-section__form {
    max-width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .form-section__core {
    row-gap: calc(88 / var(--scale-vw) * var(--vw, 1vw));
    margin-block-start: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .form-section__wrapper {
    padding-bottom: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.frameworks-section {
  overflow: hidden;
}
.frameworks-section__grid {
  display: grid;
  margin-top: calc(180 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-section__desktop {
  display: none;
}
.frameworks-section__name {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .frameworks-section__name {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-section__name {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .frameworks-section__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.frameworks-section__middle-box {
  width: calc(1300 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-section__small-box {
  width: calc(900 / var(--scale-vw) * var(--vw, 1vw));
}
.frameworks-section__info {
  width: calc(750 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 769px) {
  .frameworks-section__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .frameworks-section__box {
    position: relative;
    aspect-ratio: 1;
    z-index: 1;
  }
  .frameworks-section__box--middle {
    animation: 90s linear infinite rotate;
  }
  .frameworks-section__box--small {
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
  }
  .frameworks-section__middle-box {
    grid-column: 1/-1;
    grid-row: 1;
    position: relative;
    margin: 0 auto;
    aspect-ratio: 1;
  }
  .frameworks-section__middle-content {
    position: relative;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 2px dashed var(--color-primary);
  }
  .frameworks-section__middle-content::before {
    content: "";
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: 15%;
    background: linear-gradient(142deg, var(--color-primary-contrast) 0%, var(--color-transparent) 28%);
    box-shadow: inset calc(180 / var(--scale-vw) * var(--vw, 1vw)) calc(180 / var(--scale-vw) * var(--vw, 1vw)) 170px 0 var(--color-secondary-80);
    z-index: 1;
  }
  .frameworks-section__middle-content::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--color-transparent) 0%, var(--color-primary-contrast) 75%), url("/local/assets/css/../img/bg/dot-white.svg") repeat center/8px, var(--color-primary-contrast);
  }
  .frameworks-section__middle-el-1 {
    position: absolute;
    left: -5%;
    top: 50%;
    z-index: 1;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
  }
  .frameworks-section__middle-el-3 {
    position: absolute;
    left: 50%;
    bottom: -5%;
    z-index: 1;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
  }
  .frameworks-section__middle-el-2 {
    position: absolute;
    right: 5%;
    top: 15%;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
    z-index: 1;
  }
  .frameworks-section__middle-el-4 {
    position: absolute;
    right: 50%;
    top: -5%;
    animation: 90s linear infinite rotate;
    animation-direction: reverse;
    z-index: 1;
  }
  .frameworks-section__small-box {
    position: relative;
    grid-column: 1/-1;
    grid-row: 1;
    aspect-ratio: 1;
    margin: auto;
    z-index: 1;
  }
  .frameworks-section__small-content {
    aspect-ratio: 1;
    border: 2px solid var(--color-border-primary);
    border-radius: 50%;
    background-color: var(--color-primary-contrast);
    position: relative;
  }
  .frameworks-section__small-content::before {
    content: "";
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: 0;
    background: linear-gradient(-142deg, var(--color-primary-contrast) 0%, var(--color-transparent) 100%);
    z-index: 1;
    border-radius: 50%;
  }
  .frameworks-section__small-el-1 {
    position: absolute;
    top: 8%;
    left: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__small-el-2 {
    position: absolute;
    bottom: 8%;
    right: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__small-el-3 {
    position: absolute;
    bottom: 8%;
    left: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__small-el-4 {
    position: absolute;
    top: 8%;
    right: 8%;
    animation: 90s linear infinite rotate;
    z-index: 1;
  }
  .frameworks-section__big-box {
    grid-column: 1;
    grid-row: 1/-1;
    align-self: flex-end;
    width: fit-content;
  }
  .frameworks-section__big-content {
    display: flex;
    align-items: flex-end;
  }
  .frameworks-section__name--border {
    padding-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
    border-bottom: 2px dashed var(--color-primary);
  }
  .frameworks-section__name--border-solid {
    padding-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
    border-bottom: 2px solid var(--color-primary);
  }
  .frameworks-section__name--mobile {
    display: none;
  }
  .frameworks-section__decor {
    display: block;
    position: relative;
  }
  .frameworks-section__decor::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: calc(280 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(210 / var(--scale-vw) * var(--vw, 1vw));
    background-image: url("/local/assets/css/../img/bg/frameworks-decor.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    z-index: -1;
  }
  .frameworks-section__decor-text {
    padding: calc(12 / var(--scale-vw) * var(--vw, 1vw)) calc(4 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__wrapper {
    position: relative;
  }
  .frameworks-section__desktop {
    position: absolute;
    top: 0;
    right: 0;
    min-width: calc(160 / var(--scale-vw) * var(--vw, 1vw));
    display: flex;
    flex-direction: column;
    gap: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__info {
    position: relative;
    z-index: 1;
    grid-column: 1/-1;
    grid-row: 1;
    border-radius: 50%;
    aspect-ratio: 1;
    margin: auto;
  }
}
@media only screen and (min-width: 769px) and (hover: hover), only screen and (min-width: 769px) and (min-width: 0\0 ) {
  .frameworks-section__element:hover .frameworks-section__box {
    animation-play-state: paused;
  }
  .frameworks-section__element:hover {
    /* stylelint-disable-next-line max-nesting-depth */
  }
  .frameworks-section__element:hover [class*=frameworks-section__middle-el],
  .frameworks-section__element:hover [class*=frameworks-section__small-el] {
    animation-play-state: paused;
  }
}
@media only screen and (min-width: 1921px) {
  .frameworks-section__middle-content::after {
    background: radial-gradient(circle, rgba(8, 8, 8, 0) 0%, rgb(8, 8, 8) 75%), url("/local/assets/css/../img/bg/dot-white.svg") repeat center/14px, var(--color-primary-contrast);
  }
}
@media only screen and (max-width: 1440px) {
  .frameworks-section__grid {
    margin-top: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__middle-box {
    width: calc(1080 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__small-box {
    width: calc(720 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__info {
    width: calc(520 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .frameworks-section__middle-box {
    width: calc(900 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__small-box {
    width: calc(650 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__info {
    width: calc(550 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .frameworks-section__grid {
    margin-top: calc(188 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr);
  }
  .frameworks-section__info {
    grid-row: 1;
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
    width: auto;
  }
  .frameworks-section__element-content {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 5fr);
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: end;
    gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__element {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    border-top: 1px dashed var(--color-border-primary);
  }
  .frameworks-section__element:not(:last-child) {
    padding-bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__box {
    display: flex;
    flex-wrap: wrap;
    gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    flex-grow: 1;
    grid-column: 2;
  }
  .frameworks-section__middle-box, .frameworks-section__small-box {
    width: auto;
  }
  .frameworks-section__name--mobile, .frameworks-section__decor {
    max-width: calc(152 / var(--scale-vw) * var(--vw, 1vw));
    grid-row: 1;
    grid-column: 1;
  }
}
@media only screen and (max-width: 480px) {
  .frameworks-section {
    overflow: visible;
  }
  .frameworks-section__grid {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__element-content {
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: start;
    gap: 0;
  }
  .frameworks-section__element {
    padding-top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__element:not(:last-child) {
    padding-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__box {
    grid-row: 2;
    grid-column: 1/-1;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .frameworks-section__name--mobile, .frameworks-section__decor {
    grid-column: 1/-1;
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.functional__article p:not([class]) {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-weight: 400;
  max-width: calc(720 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .functional__article p:not([class]) {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .functional__article p:not([class]) {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .functional__article p:not([class]) {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .functional__article p:not([class]) {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (min-width: 1921px) {
  .functional__article p:not([class]) {
    max-width: 720px;
  }
}
@media only screen and (max-width: 1440px) {
  .functional__article p:not([class]) {
    max-width: calc(600 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .functional__article {
    margin-top: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .functional__article p:not([class]) {
    max-width: calc(540 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .functional__article {
    margin-top: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.grid-section__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-section__left {
  grid-column: 1/3;
}
.grid-section__right {
  grid-column: 7/-1;
}
.grid-section__center {
  grid-column: 1/-1;
}
@media only screen and (max-width: 960px) {
  .grid-section__left {
    grid-column: 1/-1;
  }
  .grid-section__right {
    grid-column: 1/-1;
  }
}

.logo-section {
  min-height: calc(100vh - var(--header-height) - 52px);
  display: flex;
  padding-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
}
.logo-section__wrapper {
  height: auto;
  justify-content: flex-start;
  display: flex;
  flex-direction: column-reverse;
}
.logo-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.logo-section__content {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: fit-content;
  background: var(--color-secondary-80);
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
}
.logo-section__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .logo-section__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .logo-section__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .logo-section__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .logo-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.logo-section__name {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .logo-section__name {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .logo-section__name {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .logo-section__name {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.logo-section__switch {
  width: 28px;
  height: 16px;
  border-radius: 270px;
  background-color: var(--color-primary-contrast-900);
}
.logo-section__switch-decor {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--color-green);
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1px;
  margin-left: auto;
}
.logo-section__box {
  display: flex;
  gap: 8px;
  align-items: center;
}
.logo-section__picture {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.logo-section__video {
  width: calc(1220 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(764 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
  mix-blend-mode: lighten;
  background-blend-mode: lighten;
  transform: rotate(-8deg);
}
.logo-section__btn {
  display: none;
}
@media only screen and (min-width: 1921px) {
  .logo-section {
    padding-bottom: 32px;
  }
  .logo-section__video {
    width: 1220px;
    height: 764px;
  }
}
@media only screen and (max-width: 1440px) {
  .logo-section {
    padding-bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .logo-section__video {
    width: calc(960 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(600 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .logo-section {
    padding-bottom: 0;
  }
  .logo-section__wrapper {
    flex-direction: column;
    background-color: var(--color-primary-contrast);
  }
  .logo-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .logo-section__content {
    padding: calc(48 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .logo-section__video {
    width: 100%;
    height: 100%;
    max-height: calc(320 / var(--scale-vw) * var(--vw, 1vw));
    object-fit: cover;
  }
}
@media only screen and (max-width: 480px) {
  .logo-section {
    min-height: calc(100vh - var(--header-height) - calc(60 / var(--scale-vw) * var(--vw, 1vw)));
  }
  .logo-section__btn {
    display: flex;
    justify-content: center;
    padding: 24px 0;
  }
  .logo-section__content {
    padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
    gap: 0;
  }
  .logo-section__box:not(:last-child) {
    margin-bottom: calc(12 / var(--scale-vw) * var(--vw, 1vw));
  }
}

@media only screen and (max-width: 480px) {
  .ios .logo-section {
    min-height: calc(100vh - var(--header-height) - calc(100 / var(--scale-vw) * var(--vw, 1vw)));
  }
}

.name-product {
  min-height: calc(100vh - var(--header-height));
  display: flex;
}
.page-product--new .name-product .name-product__top {
  display: none;
}
.name-product__wrapper {
  display: flex;
  flex-direction: column;
}
.name-product__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto min-content;
  flex-grow: 1;
}
.name-product__center {
  grid-column: 3/11;
  grid-row: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.name-product__top {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: contents;
  justify-content: space-between;
  align-items: center;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .name-product__top {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__top {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.name-product__top-1 {
  display: flex;
  align-items: center;
  grid-column: 1/3;
  grid-row: 1;
}
.name-product__top-2 {
  display: flex;
  align-items: center;
  grid-column: 11/-1;
  grid-row: 1;
  justify-content: flex-end;
}
.name-product__shadow {
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
.name-product__bottom {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  grid-column: 1/-1;
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .name-product__bottom {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__bottom {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.name-product__content {
  display: flex;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.name-product__title {
  font-size: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 92%;
  letter-spacing: -0.05em;
  font-weight: 500;
  text-transform: uppercase;
  width: min-content;
  align-items: center;
}
@media only screen and (min-width: 1921px) {
  .name-product__title {
    font-size: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__title {
    font-size: calc(152 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .name-product__title {
    font-size: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: -0.04em;
  }
}
@media only screen and (max-width: 480px) {
  .name-product__title {
    font-size: calc(58 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.name-product__subtitle {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: 72rem;
}
@media only screen and (min-width: 1921px) {
  .name-product__subtitle {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__subtitle {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .name-product__subtitle {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .name-product__subtitle {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.name-product__icon {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 1921px) {
  .name-product__icon {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__icon {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.name-product__mobile {
  display: none;
}
@media only screen and (min-width: 1921px) {
  .name-product__bottom {
    padding: 32px 0;
    gap: 24px;
  }
  .name-product__content {
    gap: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .name-product__bottom {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .name-product__content {
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .name-product__grid {
    grid-template-rows: min-content auto min-content;
  }
  .page-product--new .name-product__grid {
    display: flex;
    flex-direction: column;
  }
  .name-product__top {
    grid-column: 1/-1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
    position: relative;
  }
  .name-product__top::before {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.01em;
    font-weight: 500;
    content: "&";
    color: var(--color-secondary);
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width: 768px) and (min-width: 1921px) {
  .name-product__top::before {
    font-size: 15px;
  }
}
@media only screen and (max-width: 768px) and (max-width: 1440px) {
  .name-product__top::before {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
@media only screen and (max-width: 768px) {
  .name-product__center {
    grid-row: auto;
    grid-column: 1/-1;
  }
  .name-product__icon:first-child {
    display: none;
  }
  .name-product__content {
    margin-top: calc(104 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .name-product {
    min-height: calc(100vh - var(--header-height) - calc(60 / var(--scale-vw) * var(--vw, 1vw)));
  }
  .name-product__top {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .name-product__bottom {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .name-product__content {
    margin-top: calc(63 / var(--scale-vw) * var(--vw, 1vw));
  }
  .name-product__mobile {
    display: flex;
    justify-content: center;
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}

@media only screen and (max-width: 480px) {
  .ios .name-product {
    min-height: calc(100vh - var(--header-height) - calc(100 / var(--scale-vw) * var(--vw, 1vw)));
  }
}

.project-section__line {
  margin-top: calc(350 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
.project-section__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px dashed var(--color-border-primary);
  border-right: none;
}
.project-section__grid:has(:hover) .project::before {
  opacity: 0;
}
.project-section__elem {
  border-right: 1px dashed var(--color-border-primary);
}
.project-section__elem:nth-child(n+3) {
  border-top: 1px dashed var(--color-border-primary);
}
.project-section__elem.project--stub:nth-child(3), .project-section__elem.project--stub:nth-child(5), .project-section__elem.project--stub:nth-child(7) {
  grid-column: 1/-1;
}
.project-section__box {
  position: relative;
}
.project-section__box:has(:hover) .project-section__hover {
  opacity: 1;
}
.project-section__hover {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.1s;
}
@media only screen and (min-width: 1921px) {
  .project-section__line {
    margin-top: 350px;
    margin-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .project-section__line {
    margin-top: calc(248 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 960px) {
  .project-section__hover {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .project-section__line {
    margin-top: calc(190 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .project-section__elem:nth-child(n+2) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .project-section__elem:nth-child(n+2):nth-child(odd)::before {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .project-section__line {
    margin-top: calc(110 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .project-section__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .project-section__elem:nth-child(n+2) {
    border-top: 1px dashed var(--color-border-primary);
  }
  .project-section__elem:nth-child(n+2):nth-child(odd)::before {
    display: none;
  }
}

.reviews-section {
  padding-top: var(--py-section);
  color: var(--color-primary-contrast);
  overflow: hidden;
}
.reviews-section__title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .reviews-section__title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-section__title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .reviews-section__title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-section__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.reviews-section__title:not(:last-child) {
  margin-bottom: var(--py-section);
}
.reviews-section__slider {
  padding: calc(200 / var(--scale-vw) * var(--vw, 1vw)) 0;
}
@media only screen and (min-width: 1921px) {
  .reviews-section__slider {
    padding: 200px 0;
  }
}
@media only screen and (max-width: 1440px) {
  .reviews-section__slider {
    padding: calc(144 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
}
@media only screen and (max-width: 960px) {
  .reviews-section__slider {
    padding: calc(112 / var(--scale-vw) * var(--vw, 1vw)) 0;
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .reviews-section__head {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: calc(540 / var(--scale-vw) * var(--vw, 1vw));
    margin: calc(72 / var(--scale-vw) * var(--vw, 1vw)) auto 0;
  }
}
@media only screen and (max-width: 768px) {
  .reviews-section__head {
    max-width: calc(440 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .reviews-section__slider {
    padding: calc(88 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .reviews-section__head {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.slogan-section {
  min-height: calc(100vh - var(--header-height) - 7.7rem);
  display: flex;
}
.slogan-section__wrapper {
  height: auto;
  display: flex;
  flex-direction: column;
}
.slogan-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) minmax(0, min-content) minmax(0, 1fr);
  height: 100%;
  overflow: hidden;
  position: relative;
}
.slogan-section__center {
  grid-column: 1/-1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: center;
  max-width: calc(720 / var(--scale-vw) * var(--vw, 1vw));
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  background: linear-gradient(270deg, var(--color-transparent) 49%, var(--color-primary-contrast) 50%, var(--color-transparent) 51%);
  padding: calc(72 / var(--scale-vw) * var(--vw, 1vw)) 0;
}
.slogan-section__center--m {
  max-width: calc(900 / var(--scale-vw) * var(--vw, 1vw));
}
.slogan-section__center--m .slogan-section__title {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
  background: var(--color-secondary-80);
}
@media only screen and (min-width: 1921px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.slogan-section__btn {
  justify-content: center;
  padding: 18px 0;
  transition: transform 0.4s ease-in-out;
}
.slogan-section__btn.is-hidden {
  transform: translateY(-100%);
}
.slogan-section__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
}
@media only screen and (min-width: 1921px) {
  .slogan-section__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .slogan-section__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.slogan-section__subtitle {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  background: var(--color-secondary-80);
  box-shadow: 0 0 100px 45px var(--color-primary-contrast);
}
@media only screen and (min-width: 1921px) {
  .slogan-section__subtitle {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
@media (hover: hover), screen and (min-width: 0\0 ) {
  .slogan-section__btn:hover {
    position: relative;
    z-index: 1;
    animation: flicker 0.1s step-end forwards;
  }
  .slogan-section__btn:hover .text-opacity {
    animation: flicker-text 0.01s step-end forwards;
  }
}
@media only screen and (min-width: 1921px) {
  .slogan-section__center {
    padding: 72px 0;
    max-width: 720px;
  }
  .slogan-section__center--m {
    max-width: 900px;
  }
}
@media only screen and (max-width: 1440px) {
  .slogan-section {
    min-height: calc(100vh - var(--header-height) - 11rem);
  }
  .slogan-section__center {
    padding: calc(56 / var(--scale-vw) * var(--vw, 1vw)) 0;
    max-width: calc(655 / var(--scale-vw) * var(--vw, 1vw));
  }
  .slogan-section__center--m {
    max-width: calc(658 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .slogan-section__center {
    padding: calc(48 / var(--scale-vw) * var(--vw, 1vw)) 0;
    background: var(--color-primary-contrast);
    max-width: calc(575 / var(--scale-vw) * var(--vw, 1vw));
  }
  .slogan-section__center--m {
    max-width: calc(575 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .slogan-section {
    min-height: calc(100vh - var(--header-height) - 11rem);
    padding-top: 0;
  }
  .slogan-section__btn {
    display: none;
  }
  .slogan-section__subtitle {
    max-width: 80%;
  }
  .slogan-section__center {
    padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
    gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
  .slogan-section__center--m .slogan-section__title {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    width: 99%;
  }
  .slogan-section__title {
    width: 85%;
  }
}

.smoking-room-section .width {
  padding-inline: 0;
}
.smoking-room-section__core {
  display: grid;
  grid-template-columns: 760px 1fr;
  position: relative;
}
.smoking-room-section__core::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--main-padding);
  right: var(--main-padding);
  height: 1px;
  background-color: var(--color-border-primary);
}
.smoking-room-section__info {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 76rem;
  padding-inline-start: var(--main-padding);
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
.smoking-room-section__text-block {
  display: flex;
  flex-direction: column;
  row-gap: 5.6rem;
  margin-block: auto;
}
.smoking-room-section__text {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .smoking-room-section__text {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .smoking-room-section__text {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .smoking-room-section__text {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .smoking-room-section__text {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.smoking-room-section__controls {
  display: flex;
  align-items: center;
  column-gap: 1.6rem;
}
.smoking-room-section__counter {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary);
}
@media only screen and (min-width: 1921px) {
  .smoking-room-section__counter {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .smoking-room-section__counter {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .smoking-room-section__counter {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.smoking-room-section__qr-code {
  width: calc(150 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(150 / var(--scale-vw) * var(--vw, 1vw));
  order: -1;
}
.smoking-room-section__pic {
  --object-fit: cover;
  --object-position: left;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  height: calc(1140 / var(--scale-vw) * var(--vw, 1vw));
}
.smoking-room-section__text-icn {
  margin-left: calc(-10 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .smoking-room-section__info {
    padding-top: 32px;
    padding-bottom: 72px;
  }
  .smoking-room-section__core {
    grid-template-columns: 890px 1fr;
  }
  .smoking-room-section__pic {
    height: 1140px;
  }
  .smoking-room-section__qr-code {
    width: 150px;
    height: 150px;
  }
}
@media only screen and (max-width: 1440px) {
  .smoking-room-section__core {
    grid-template-columns: calc(635 / var(--scale-vw) * var(--vw, 1vw)) 1fr;
  }
  .smoking-room-section__info {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .smoking-room-section__qr-code {
    width: calc(90 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(90 / var(--scale-vw) * var(--vw, 1vw));
  }
  .smoking-room-section__title {
    margin-block-end: 7.2rem;
  }
  .smoking-room-section__text-block {
    row-gap: 3.5rem;
  }
  .smoking-room-section__text-icn {
    width: 4rem;
    height: 4rem;
  }
  .smoking-room-section__pic {
    height: calc(712 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 1280px) {
  .smoking-room-section__core {
    grid-template-columns: calc(715 / var(--scale-vw) * var(--vw, 1vw)) 1fr;
  }
  .smoking-room-section__info {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
  .smoking-room-section__pic {
    --object-fit: contain;
  }
}
@media only screen and (max-width: 768px) {
  .smoking-room-section__core {
    display: flex;
    flex-direction: column;
  }
  .smoking-room-section__qr-code {
    display: none;
  }
  .smoking-room-section__info {
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
    padding-bottom: 0;
  }
  .smoking-room-section__pic {
    --object-position: center;
    margin-top: -2rem;
  }
}
@media only screen and (max-width: 580px) {
  .smoking-room-section__title {
    margin-block-end: 4.8rem;
  }
  .smoking-room-section__text-icn {
    width: 3.2rem;
    height: 3.2rem;
  }
  .smoking-room-section__pic img {
    min-width: 62.8rem;
  }
}
@media only screen and (max-width: 480px) {
  .smoking-room-section__pic {
    margin-top: calc(-20 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(500 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.standard-block__width {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.standard-block__head {
  padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
}
.standard-block__title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
  max-width: calc(650 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .standard-block__title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .standard-block__title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .standard-block__title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .standard-block__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.standard-block__title:first-child {
  margin-top: calc(280 / var(--scale-vw) * var(--vw, 1vw));
}
.standard-block__aside {
  display: flex;
  flex-direction: column;
}
.standard-block__aside-sticky {
  position: sticky;
  z-index: 2;
  top: calc(var(--header-height) + 2rem);
  height: 100vh;
  display: flex;
  flex-direction: column;
}
.standard-block__nav {
  position: sticky;
  z-index: 2;
  margin-right: 1px;
  margin-bottom: 1px;
  background-color: var(--color-primary-contrast);
  top: calc(50% - var(--header-height));
}
.standard-block__sub-nav {
  margin: auto calc(16 / var(--scale-vw) * var(--vw, 1vw)) calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  position: sticky;
  bottom: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  transition: opacity 0.3s ease;
}
.standard-block__sub-nav.is-opacity {
  opacity: 0;
}
.standard-block__number {
  padding: calc(32 / var(--scale-vw) * var(--vw, 1vw)) 0;
  background-color: var(--color-primary-contrast);
  position: relative;
  z-index: 1;
  margin-right: 5px;
}
.standard-block__body {
  display: grid;
  grid-template-columns: calc(360 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 1fr);
  flex-grow: 1;
  border-top: 1px solid var(--color-border-primary);
}
.standard-block__text {
  padding-left: calc(72 / var(--scale-vw) * var(--vw, 1vw));
  padding-right: calc(72 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
}
.standard-block__article:not(:last-child) {
  border-bottom: 1px solid var(--color-border-primary);
}
.standard-block__picture {
  display: flex;
  aspect-ratio: 1350/800;
  width: 100%;
  max-width: calc(1350 / var(--scale-vw) * var(--vw, 1vw));
  background-color: var(--color-secondary-20);
  position: relative;
  z-index: 1;
}
.standard-block__picture::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0.2;
  transform: translate(-50%, -50%);
  background-image: url("/local/assets/css/../img/icons/stub.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: calc(345 / var(--scale-vw) * var(--vw, 1vw));
  height: calc(95 / var(--scale-vw) * var(--vw, 1vw));
  z-index: -1;
}
.standard-block__picture:has(picture), .standard-block__picture:has(video) {
  aspect-ratio: auto;
}
.standard-block__img {
  --object-fit: contain;
  width: 100%;
  height: auto;
  background-color: var(--color-primary-contrast);
}
.standard-block__video {
  width: 100%;
  height: 100%;
  max-height: calc(794 / var(--scale-vw) * var(--vw, 1vw));
  object-fit: cover;
}
.standard-block:last-child .standard-block__article:last-child {
  padding-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .standard-block__sub-nav {
    bottom: 24px;
    margin: auto 32px 32px 0;
  }
  .standard-block__number {
    padding: 32px 0;
  }
  .standard-block__picture {
    max-width: 1350px;
  }
  .standard-block__title:first-child {
    margin-top: 280px;
  }
  .standard-block__text {
    padding-left: 72px;
    padding-right: 72px;
    padding-bottom: 56px;
  }
  .standard-block__video {
    max-height: 790px;
  }
  .standard-block:last-child .standard-block__article:last-child {
    padding-bottom: 72px;
  }
}
@media only screen and (max-width: 1440px) {
  .standard-block__number {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .standard-block__title:first-child {
    margin-top: calc(280 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__body {
    grid-template-columns: calc(280 / var(--scale-vw) * var(--vw, 1vw)) minmax(0, 5fr);
  }
  .standard-block__sub-nav {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .standard-block__body {
    display: flex;
    flex-direction: column;
  }
  .standard-block__body .box-decor__decor {
    display: none;
  }
  .standard-block__aside {
    display: contents;
  }
  .standard-block__aside-sticky {
    position: static;
    height: auto;
    display: contents;
  }
  .standard-block__number {
    padding-bottom: calc(72 / var(--scale-vw) * var(--vw, 1vw));
    border-bottom: 1px solid var(--color-border-primary);
  }
  .standard-block__nav {
    background-color: var(--color-primary-contrast);
    top: var(--header-height);
    z-index: var(--z-header);
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .standard-block__nav::before, .standard-block__nav::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--main-padding);
    z-index: 3;
    pointer-events: none;
  }
  .standard-block__nav::after {
    right: 0;
    background: linear-gradient(90deg, var(--color-transparent) 0%, var(--color-primary-contrast) 100%);
  }
  .standard-block__nav::before {
    left: 0;
    background: linear-gradient(-90deg, var(--color-transparent) 0%, var(--color-primary-contrast) 100%);
  }
  .standard-block__sub-nav {
    display: none;
  }
  .standard-block__nav-elem {
    -ms-overflow-style: none;
    scrollbar-width: none;
    overscroll-behavior: contain;
    overflow-x: auto;
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
  }
  .standard-block__nav-elem::-webkit-scrollbar {
    display: none;
  }
  .standard-block__title:first-child {
    margin-top: calc(176 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__text {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__picture {
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
    max-width: none;
    width: auto;
  }
  .standard-block__picture::after {
    width: calc(173 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block:last-child .standard-block__article:last-child {
    padding-bottom: calc(64 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__article:first-child {
    margin-top: calc(78 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .standard-block__head {
    padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  }
  .standard-block__number {
    padding-bottom: calc(46 / var(--scale-vw) * var(--vw, 1vw));
    background-color: var(--color-transparent);
  }
  .standard-block__text {
    padding-bottom: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__picture {
    aspect-ratio: auto;
    min-height: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__picture::after {
    width: calc(173 / var(--scale-vw) * var(--vw, 1vw));
    height: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__video {
    max-height: calc(260 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__title:first-child {
    margin-top: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block:last-child .standard-block__article:last-child {
    padding-bottom: calc(56 / var(--scale-vw) * var(--vw, 1vw));
  }
  .standard-block__article:first-child {
    margin-top: calc(49 / var(--scale-vw) * var(--vw, 1vw));
  }
}

.team-section__wrapper {
  border-top: 1px solid var(--color-border-primary);
  padding-top: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  padding-bottom: calc(200 / var(--scale-vw) * var(--vw, 1vw));
}
.team-section__slider {
  margin-top: calc(150 / var(--scale-vw) * var(--vw, 1vw));
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(450 / var(--scale-vw) * var(--vw, 1vw));
  gap: calc(50 / var(--scale-vw) * var(--vw, 1vw));
}
.team-section__slider .swiper-slide {
  display: flex;
}
.team-section__slider-card, .team-section__slider-list {
  min-width: 0;
}
.team-section__slider-box {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  height: var(--slider-height);
  overflow: auto;
}
.team-section__slider-box::-webkit-scrollbar {
  display: none;
}
.team-section__slider-list {
  height: fit-content;
  position: relative;
}
.team-section__slider-list .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(auto-fill, calc(150 / var(--scale-vw) * var(--vw, 1vw)));
}
.team-section__elem-hover {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: opacity 0.1s;
}
@media only screen and (min-width: 1921px) {
  .team-section__wrapper {
    padding-top: 32px;
    padding-bottom: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .team-section__wrapper {
    padding-top: calc(24 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(144 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider {
    margin-top: calc(100 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr) calc(325 / var(--scale-vw) * var(--vw, 1vw));
    gap: calc(40 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider-list .swiper-wrapper {
    grid-template-rows: repeat(auto-fill, calc(108 / var(--scale-vw) * var(--vw, 1vw)));
  }
}
@media only screen and (max-width: 1280px) {
  .team-section__slider {
    grid-template-columns: minmax(0, 1fr) calc(216 / var(--scale-vw) * var(--vw, 1vw));
    gap: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider-list {
    position: relative;
  }
  .team-section__slider-list .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .team-section__slider-list::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(83 / var(--scale-vw) * var(--vw, 1vw));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(8, 8, 8) 100%);
    z-index: 1;
    pointer-events: none;
  }
}
@media only screen and (max-width: 768px) {
  .team-section__wrapper {
    padding-bottom: calc(112 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider {
    margin-top: calc(72 / var(--scale-vw) * var(--vw, 1vw));
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr) calc(216 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .team-section__wrapper {
    padding-top: calc(16 / var(--scale-vw) * var(--vw, 1vw));
    padding-bottom: calc(88 / var(--scale-vw) * var(--vw, 1vw));
  }
  .team-section__slider {
    margin-top: calc(56 / var(--scale-vw) * var(--vw, 1vw));
    grid-template-columns: minmax(0, 1fr);
    gap: calc(8 / var(--scale-vw) * var(--vw, 1vw));
    margin-left: calc(var(--main-padding) * -1);
    margin-right: calc(var(--main-padding) * -1);
  }
  .team-section__slider-card {
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
  }
  .team-section__slider-list {
    order: -1;
  }
  .team-section__slider-list .swiper-wrapper {
    display: flex;
  }
  .team-section__slider-list::after {
    left: auto;
    right: 0;
    top: 0;
    height: 100%;
    width: calc(100 / var(--scale-vw) * var(--vw, 1vw));
    background: linear-gradient(94deg, rgba(254, 254, 254, 0) 0%, rgb(8, 8, 8) 75%);
    transition: opacity 0.3s;
  }
  .team-section__slider-box {
    height: auto;
    overflow: auto;
    overflow-y: hidden;
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
  }
}

.page {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: 100vh;
}
.page--ui-kit .page__core {
  padding: 0;
}
.page__core {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 0 0 auto;
  position: relative;
  padding-top: var(--header-height);
  flex-grow: 1;
  transform: translate(0, 0) !important;
}
.page__overlay {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  opacity: 0;
  background: var(--color-primary-contrast);
  transition: opacity 0.2s ease-in-out;
}
@media only screen and (max-width: 480px) {
  .page {
    min-height: 100%;
  }
}

.page-product .footer__bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  flex-wrap: wrap;
  justify-content: space-between;
}
.page-product .footer__box {
  display: contents;
}
.page-product .footer__phones {
  order: 2;
  margin-left: auto;
  column-gap: 1.6rem;
}
.page-product .footer__btn {
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .page-product .footer__bottom {
    display: flex;
  }
  .page-product .footer__text {
    width: 100%;
    order: -1;
  }
  .page-product .footer__phones {
    order: inherit;
    margin-left: 0;
  }
  .page-product .footer__box {
    display: flex;
    width: 100%;
  }
  .page-product .footer__btn {
    margin: 0;
  }
}
@media only screen and (max-width: 580px) {
  .page-product .footer__bottom {
    flex-direction: column;
  }
}

.footer {
  flex: 0 0 auto;
  width: 100%;
}
.footer__wrapper {
  margin-top: auto;
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
  padding: calc(64 / var(--scale-vw) * var(--vw, 1vw)) var(--main-padding) 0;
  border-radius: 48px 48px 0 0;
  overflow: hidden;
  height: calc(100vh - var(--header-height));
  display: flex;
  flex-direction: column;
  position: relative;
}
.footer__wrapper::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 3.2rem;
  transform: translateX(-50%);
  display: block;
  width: 8.4rem;
  height: 2.4rem;
  background-image: url("/local/assets/css/../img/bg/footer-icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  z-index: 1;
}
.footer__wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 5rem;
  top: 5rem;
  background: linear-gradient(180deg, var(--color-primary) 50%, var(--color-transparent) 100%);
}
.footer__wrapper-mini {
  padding: 0 var(--main-padding);
}
.footer__core {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  overscroll-behavior: auto;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: auto;
}
.footer__core::-webkit-scrollbar {
  display: none;
}
.footer__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.footer__body.is-submitted .footer__form {
  display: none;
}
.footer__bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  padding: calc(16 / var(--scale-vw) * var(--vw, 1vw)) 0;
  border-top: 1px solid var(--color-border-secondary);
}
.footer__box {
  display: flex;
  justify-content: space-between;
}
.footer__form {
  width: 50%;
  margin-left: auto;
  margin-top: calc(20 / var(--scale-vw) * var(--vw, 1vw));
  margin-bottom: calc(20 / var(--scale-vw) * var(--vw, 1vw));
}
.footer__title {
  font-size: calc(48 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .footer__title {
    font-size: 48px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 115%;
  }
}
@media only screen and (max-width: 768px) {
  .footer__title {
    font-size: calc(36 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .footer__title {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.footer__title:not(:last-child) {
  margin-bottom: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.footer__subtitle {
  font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.01em;
  font-weight: 500;
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (min-width: 1921px) {
  .footer__subtitle {
    font-size: 17px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__subtitle {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .footer__subtitle {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 120%;
    letter-spacing: 0.02em;
  }
}
.footer__result-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
}
.footer__result-head {
  text-align: center;
  max-width: 80%;
}
.footer__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--py-section);
  max-width: calc(1280 / var(--scale-vw) * var(--vw, 1vw));
  margin: 0 auto;
}
.footer__up-text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-secondary-contrast);
}
@media only screen and (min-width: 1921px) {
  .footer__up-text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__up-text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.footer__big-title {
  font-size: calc(200 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 92%;
  letter-spacing: -0.05em;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  width: min-content;
}
@media only screen and (min-width: 1921px) {
  .footer__big-title {
    font-size: 200px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__big-title {
    font-size: calc(152 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .footer__big-title {
    font-size: calc(108 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: -0.04em;
  }
}
@media only screen and (max-width: 480px) {
  .footer__big-title {
    font-size: calc(58 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.footer__text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .footer__text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .footer__text {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.footer--black {
  color: var(--color-primary);
}
.footer--mini {
  border-top: 1px solid var(--color-border-primary);
}
.footer--mini .footer__bottom {
  border-top: none;
}
@media only screen and (min-width: 1921px) {
  .footer__wrapper {
    padding: 64px var(--main-padding) 0;
  }
  .footer__form {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .footer__info {
    max-width: 1280px;
  }
  .footer__bottom {
    padding: 16px 0;
  }
  .footer__result {
    grid-template-columns: minmax(0, 1fr) 610px minmax(0, 1fr);
  }
}
@media only screen and (max-width: 1440px) {
  .footer__form {
    margin-top: calc(50 / var(--scale-vw) * var(--vw, 1vw));
    margin-bottom: calc(50 / var(--scale-vw) * var(--vw, 1vw));
  }
  .footer__wrapper::before {
    width: 5.6rem;
    height: 1.8rem;
    top: 2.4rem;
  }
}
@media only screen and (max-width: 1280px) {
  .footer__bottom {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
}
@media only screen and (max-width: 768px) {
  .footer__wrapper {
    border-radius: 32px 32px 0 0;
  }
  .footer__form {
    width: 100%;
    margin-left: 0;
  }
  .footer__bottom {
    padding: calc(24 / var(--scale-vw) * var(--vw, 1vw)) 0 calc(16 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 580px) {
  .footer__wrapper {
    height: calc(100vh - var(--header-height));
  }
  .footer__text {
    text-align: center;
  }
  .footer__box {
    flex-direction: column;
    align-items: center;
  }
  .footer__phones {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.header {
  top: 0;
  width: 100%;
  min-height: 50px;
  padding: 0 var(--main-padding);
  background-color: var(--color-primary-contrast);
  position: fixed;
  z-index: var(--z-header);
}
.header::after {
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  will-change: backdrop-filter;
  content: "";
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  background: var(--color-secondary-80);
  transition: opacity 0.2s ease-in-out;
}
.header.has-overlay::after {
  opacity: 1;
}
.header.has-overlay .header__submenu {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.header.has-overlay .header__submenu-item {
  animation: translate-down 0.1s forwards;
}
.header__core {
  padding: var(--py-header) 0;
  display: flex;
  align-items: center;
  gap: calc(16 / var(--scale-vw) * var(--vw, 1vw));
  border-bottom: 1px solid var(--color-border-primary);
  justify-content: space-between;
}
.header__logo {
  display: block;
  flex: none;
}
.header__box {
  flex-grow: 1;
}
.header__btns {
  display: flex;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
}
.header__burger {
  display: none;
}
.header__menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  list-style: none;
  counter-reset: list;
}
.header__menu-item:not(:last-child) {
  padding-right: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.header__menu-item:not(:first-child) {
  border-left: 1px solid var(--color-border-primary);
  padding-left: calc(16 / var(--scale-vw) * var(--vw, 1vw));
}
.header__menu-link {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: calc(4 / var(--scale-vw) * var(--vw, 1vw));
}
@media only screen and (min-width: 1921px) {
  .header__menu-link {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .header__menu-link {
    font-size: calc(13 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.header__menu-link::before {
  content: "00" counter(list) ". ";
  counter-increment: list;
}
.header__submenu {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s, transform 0.3s;
  display: none;
}
.header__submenu-item {
  opacity: 0;
  transform: translateY(-20px);
}
@media only screen and (min-width: 1921px) {
  .header__core {
    gap: 16px;
  }
  .header__btns {
    display: flex;
    gap: 4px;
  }
  .header__menu-item:not(:last-child) {
    padding-right: 16px;
  }
  .header__menu-item:not(:first-child) {
    padding-left: 16px;
  }
  .header__menu-link {
    gap: 4px;
  }
}
@media only screen and (max-width: 960px) {
  .header__burger {
    display: block;
  }
  .header__box {
    display: none;
  }
}
@media only screen and (max-width: 580px) {
  .header__call {
    display: none;
  }
}

.width {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-right: var(--main-padding);
  padding-left: var(--main-padding);
  flex: 0 0 auto;
}
@media only screen and (max-width: 1440px) {
  .width {
    max-width: 100%;
  }
}

[data-custom-caret-input=parent] {
  position: relative;
  isolation: isolate;
}
[data-custom-caret-input=parent]:has(input:focus, input:focus-visible) [data-custom-caret-input=caret-box] {
  opacity: 1;
}

[data-custom-caret-input=input] {
  box-sizing: border-box;
  width: 100%;
  caret-color: var(--color-transparent);
}

[data-custom-caret-input=caret-box] {
  box-sizing: border-box;
  width: 100%;
  caret-color: var(--color-transparent);
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  color: transparent;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

[data-custom-caret-input=caret-content] {
  display: flex;
  white-space: nowrap;
}
[data-custom-caret-input=caret-content] [data-custom-caret-input=caret-before],
[data-custom-caret-input=caret-content] [data-custom-caret-input=caret-after] {
  font-size: inherit;
  line-height: inherit;
}

[data-custom-caret-input=caret] {
  animation-name: custom-caret-blinking;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-iteration-count: infinite;
  display: block;
  width: 0.5em;
  height: 100%;
  background-color: currentColor;
}

[data-custom-caret-textarea=container] {
  position: relative;
}
[data-custom-caret-textarea=container]:has(textarea:focus, textarea:focus-visible) [data-custom-caret-textarea=caret] {
  animation-name: custom-caret-blinking;
  animation-duration: 1s;
  animation-timing-function: step-start;
  animation-iteration-count: infinite;
  opacity: 1;
}

[data-custom-caret-textarea=textarea] {
  position: relative;
  background-color: var(--color-transparent);
  caret-color: var(--color-transparent);
}

[data-custom-caret-textarea=mirror] {
  position: absolute;
  inset: 0;
  color: var(--color-transparent);
  overflow: hidden;
  pointer-events: none;
}

[data-custom-caret-textarea=caret] {
  position: absolute;
  width: 0.5em;
  height: 1em;
  background-color: currentColor;
  opacity: 0;
}

:root {
  /* stylelint-disable */
  --ui-kit-bg-grad: radial-gradient(
    circle at right top,
    rgb(28 28 246 / 0.9) 5%,
    rgb(57 43 237 / 0.75) 20%,
    var(--color-transparent) 70%
  );
  /* stylelint-enable */
  --ui-section-gap: 2rem;
  --ui-section-bd-rad: var(--ui-section-gap);
  --ui-section-shadow: 0 0 20px 2px rgb(255 255 255 / 0.5);
  --ui-kit-component-odd-bg: hsl(0 0% 38% / 0.5);
}

.ui-kit {
  display: flex;
  flex-direction: column;
}
.ui-kit::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: var(--ui-kit-bg-grad);
}
.ui-kit__header {
  padding: 5rem;
}
.ui-kit__core {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 25rem 1fr;
}
.ui-kit__sections {
  display: flex;
  flex-direction: column;
  row-gap: 7.2rem;
  padding-inline: 3.5rem;
}
.ui-kit__navigation {
  position: sticky;
  top: 1rem;
  z-index: 1;
  height: max-content;
  background-color: var(--color-primary-contrast);
  border: 0.2rem solid var(--color-white);
  border-left: none;
  border-top-right-radius: var(--ui-section-bd-rad);
  border-bottom-right-radius: var(--ui-section-bd-rad);
  overflow: hidden;
}
.ui-kit__navigation:has(input[type=checkbox]:checked) .ui-kit__nav-menu {
  display: flex;
}
.ui-kit__nav-switcher-label {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  display: none;
  align-items: center;
  column-gap: 0.8rem;
  padding: 1.2rem;
  cursor: pointer;
}
@media only screen and (min-width: 1921px) {
  .ui-kit__nav-switcher-label {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__nav-switcher-label {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__nav-switcher-label {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__nav-switcher-label {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator {
  background-color: var(--color-checked);
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator span[data-indicator=on] {
  color: var(--color-white);
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator span[data-indicator=off] {
  color: var(--color-transparent);
}
.ui-kit__nav-switcher-label:has(input[type=checkbox]:checked) .ui-kit__nav-switcher-indicator::before {
  left: 100%;
  transform: translate(calc(-100% - var(--nav-switcher-indicator-padding)), -50%);
}
.ui-kit__nav-switcher-indicator {
  --nav-switcher-indicator-padding: 0.1rem;
  --nav-switcher-indicator-height: 2em;
  --nav-switcher-indicator-width: calc(2 * var(--nav-switcher-indicator-height));
  position: relative;
  isolation: isolate;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  width: var(--nav-switcher-indicator-width);
  height: var(--nav-switcher-indicator-height);
  padding: var(--nav-switcher-indicator-padding);
  background-color: var(--color-primary-contrast);
  border: 0.2rem solid var(--color-white);
  border-radius: var(--nav-switcher-indicator-height);
  overflow: hidden;
  transition: background-color var(--trans-base);
}
.ui-kit__nav-switcher-indicator::before {
  width: var(--nav-switcher-indicator-height);
  height: var(--nav-switcher-indicator-height);
  content: "";
  position: absolute;
  top: 50%;
  left: var(--nav-switcher-indicator-padding);
  transform: translateY(-50%);
  z-index: 1;
  display: block;
  background-color: var(--color-white);
  border-radius: 50%;
  box-shadow: var(--shadow-block);
  transition: var(--trans-base);
  transition-property: left transform;
}
.ui-kit__nav-switcher-indicator span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-inline: 0.6rem;
  color: var(--color-white);
  pointer-events: none;
  user-select: none;
  transition: color var(--trans-base);
}
.ui-kit__nav-switcher-indicator span[data-indicator=on] {
  justify-content: start;
  color: var(--color-transparent);
}
.ui-kit__nav-switcher-indicator span[data-indicator=off] {
  justify-content: end;
}
.ui-kit__nav-menu {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.ui-kit__nav-link {
  font-family: "RobotoFlex", sans-serif;
  font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 140%;
  letter-spacing: -0.01em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1.2rem 2.4rem;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  color: var(--color-white);
  cursor: pointer;
  transition: var(--trans-base);
  transition-property: color, background-color;
}
@media only screen and (min-width: 1921px) {
  .ui-kit__nav-link {
    font-size: 24px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__nav-link {
    font-size: calc(20 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 130%;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__nav-link {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 140%;
    letter-spacing: -0.01em;
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__nav-link {
    font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.ui-kit__nav-link:where(:hover, :focus-visible) {
  color: var(--color-primary-contrast);
  background-color: var(--color-primary);
}
.ui-kit__title-box {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  gap: 4.8rem;
}
.ui-kit__title {
  font-family: "Iosevka", sans-serif;
  font-size: 9.6rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.ui-kit__logo-box {
  width: 100%;
  max-width: 50rem;
}
.ui-kit__logo {
  width: 100%;
  height: auto;
}
.ui-kit__section {
  display: flex;
  flex-direction: column;
  background-color: var(--color-primary-contrast);
  border-radius: var(--ui-section-bd-rad);
  box-shadow: var(--ui-section-shadow);
  overflow: clip;
}
.ui-kit__section-title {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  padding: var(--ui-section-gap);
  padding-block: calc(var(--ui-section-gap) * 2);
  text-transform: uppercase;
}
@media only screen and (min-width: 1921px) {
  .ui-kit__section-title {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__section-title {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__section-title {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__section-title {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.ui-kit__section-core, .ui-kit__subsection-core {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.ui-kit__section-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)), .ui-kit__subsection-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)) {
  background-color: var(--ui-kit-component-odd-bg);
}
.ui-kit__section-core--column {
  display: flex;
  flex-direction: column;
}
.ui-kit__section-core--column > .ui-kit-component:is(:nth-child(4n-3), :nth-child(4n)) {
  background-color: inherit;
}
.ui-kit__section-core--column > .ui-kit-component:nth-child(odd) {
  background-color: var(--ui-kit-component-odd-bg);
}
.ui-kit__subsection {
  position: relative;
  isolation: isolate;
}
.ui-kit__subtitle {
  font-size: calc(68 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 105%;
  letter-spacing: -0.02em;
  font-weight: 500;
  position: sticky;
  top: 0;
  z-index: 2;
  max-height: max-content;
  padding: var(--ui-section-gap);
  text-align: center;
  background-color: var(--color-primary-contrast);
  border: 1px solid var(--color-white);
}
@media only screen and (min-width: 1921px) {
  .ui-kit__subtitle {
    font-size: 68px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit__subtitle {
    font-size: calc(60 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__subtitle {
    font-size: calc(52 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit__subtitle {
    font-size: calc(40 / var(--scale-vw) * var(--vw, 1vw));
    line-height: 100%;
  }
}
.ui-kit__typo {
  font-size: 3.2rem;
  line-height: 1;
}
.ui-kit__typo--primary {
  font-family: "Iosevka", sans-serif;
}
.ui-kit__typo--secondary {
  font-family: "RobotoFlex", sans-serif;
}
@media only screen and (max-width: 960px) {
  .ui-kit__core {
    grid-template-columns: 18rem 1fr;
  }
  .ui-kit__section-core, .ui-kit__subsection-core {
    grid-template-columns: 1fr;
    width: auto;
  }
  .ui-kit__section-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)), .ui-kit__subsection-core .ui-kit-component:where(:nth-child(4n-3), :nth-child(4n)) {
    background-color: inherit;
  }
  .ui-kit__section-core .ui-kit-component:nth-child(odd), .ui-kit__subsection-core .ui-kit-component:nth-child(odd) {
    background-color: var(--ui-kit-component-odd-bg);
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit__core {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 7.2rem;
  }
  .ui-kit__navigation {
    top: initial;
    bottom: 0;
    transform: none;
    border-bottom: none;
    border-right: none;
    border-radius: 0;
  }
  .ui-kit__nav-switcher-label {
    display: flex;
  }
  .ui-kit__nav-menu {
    display: none;
  }
  .ui-kit__title-box {
    flex-direction: column-reverse;
  }
}

:root {
  --ui-kit-component-gap: 2rem;
  --ui-kit-box-bd-rad: 0.8rem;
  --ui-kit-copy-code-trigger-icn: url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCA2NCA2NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQoJPGc+DQoJCTxwYXRoIGQ9Ik01My45NzkxNDg5LDkuMTQyOTAwNUg1MC4wMTA4NDljLTAuMDgyNjk4OCwwLTAuMTU2MjAwNCwwLjAyODM5OTUtMC4yMzMxMDA5LDAuMDQ2OTk5OVY1LjAyMjgNCgkJCUM0OS43Nzc3NDgxLDIuMjUzLDQ3LjQ3MzE0ODMsMCw0NC42Mzk4NDY4LDBoLTM0LjQyMjU5NkM3LjM4Mzk1MTcsMCw1LjA3OTM1MTksMi4yNTMsNS4wNzkzNTE5LDUuMDIyOHY0Ni44NDMyOTk5DQoJCQljMCwyLjc2OTc5ODMsMi4zMDQ1OTk4LDUuMDIyODAwNCw1LjEzNzg5OTksNS4wMjI4MDA0aDYuMDM2NzAwMnYyLjI2Nzg5ODZDMTYuMjUzOTUyLDYxLjgyNzQwMDIsMTguNDcwMjUxMSw2NCwyMS4xOTU0NTE3LDY0DQoJCQloMzIuNzgzNjk5YzIuNzI1MjAwNywwLDQuOTQxNDk3OC0yLjE3MjU5OTgsNC45NDE0OTc4LTQuODQzMjAwN1YxMy45ODYxMDAyDQoJCQlDNTguOTIwNjQ2NywxMS4zMTU1MDAzLDU2LjcwNDM0OTUsOS4xNDI5MDA1LDUzLjk3OTE0ODksOS4xNDI5MDA1eiBNNy4xMTEwNTE2LDUxLjg2NjEwMDNWNS4wMjI4DQoJCQljMC0xLjY0ODc5OTksMS4zOTM4OTk5LTIuOTkwOTk5OSwzLjEwNjIwMDItMi45OTA5OTk5aDM0LjQyMjU5NmMxLjcxMjMwMzIsMCwzLjEwNjIwMTIsMS4zNDIyLDMuMTA2MjAxMiwyLjk5MDk5OTl2NDYuODQzMjk5OQ0KCQkJYzAsMS42NDg3OTk5LTEuMzkzODk4LDIuOTkxMTAwMy0zLjEwNjIwMTIsMi45OTExMDAzaC0zNC40MjI1OTZDOC41MDQ5NTE1LDU0Ljg1NzIwMDYsNy4xMTEwNTE2LDUzLjUxNDkwMDIsNy4xMTEwNTE2LDUxLjg2NjEwMDN6DQoJCQlNNTYuODg4ODQ3NCw1OS4xNTY3OTkzYzAsMS41NTA2MDItMS4zMDU1LDIuODExNTAwNS0yLjkwOTY5ODUsMi44MTE1MDA1aC0zMi43ODM2OTkNCgkJCWMtMS42MDQyMDA0LDAtMi45MDk3OTk2LTEuMjYwODk4Ni0yLjkwOTc5OTYtMi44MTE1MDA1di0yLjI2Nzg5ODZoMjYuMzU0MTk0Ng0KCQkJYzIuODMzMzAxNSwwLDUuMTM3OTAxMy0yLjI1MzAwMjIsNS4xMzc5MDEzLTUuMDIyODAwNFYxMS4xMjc1OTk3YzAuMDc2OTAwNSwwLjAxODYwMDUsMC4xNTA0MDIxLDAuMDQ2OTk5OSwwLjIzMzEwMDksMC4wNDY5OTk5DQoJCQloMy45NjgyOTk5YzEuNjA0MTk4NSwwLDIuOTA5Njk4NSwxLjI2MDkwMDUsMi45MDk2OTg1LDIuODExNTAwNVY1OS4xNTY3OTkzeiIvPg0KCQk8cGF0aCBkPSJNMzguNjAzMTQ5NCwxMy4yMDYzOTk5SDE2LjI1Mzk1MmMtMC41NjE1MDA1LDAtMS4wMTU5MDA2LDAuNDU0Mjk5OS0xLjAxNTkwMDYsMS4wMTU4MDA1DQoJCQljMCwwLjU2MTU5OTcsMC40NTQ0MDAxLDEuMDE1ODk5NywxLjAxNTkwMDYsMS4wMTU4OTk3aDIyLjM0OTE5NzRjMC41NjE1MDA1LDAsMS4wMTU4OTk3LTAuNDU0Mjk5OSwxLjAxNTg5OTctMS4wMTU4OTk3DQoJCQlDMzkuNjE5MDQ5MSwxMy42NjA2OTk4LDM5LjE2NDY1LDEzLjIwNjM5OTksMzguNjAzMTQ5NCwxMy4yMDYzOTk5eiIvPg0KCQk8cGF0aCBkPSJNMzguNjAzMTQ5NCwyMS4zMzM0MDA3SDE2LjI1Mzk1MmMtMC41NjE1MDA1LDAtMS4wMTU5MDA2LDAuNDU0Mjk5OS0xLjAxNTkwMDYsMS4wMTU3OTg2DQoJCQljMCwwLjU2MTUwMDUsMC40NTQ0MDAxLDEuMDE1OTAxNiwxLjAxNTkwMDYsMS4wMTU5MDE2aDIyLjM0OTE5NzRjMC41NjE1MDA1LDAsMS4wMTU4OTk3LTAuNDU0NDAxLDEuMDE1ODk5Ny0xLjAxNTkwMTYNCgkJCUMzOS42MTkwNDkxLDIxLjc4NzcwMDcsMzkuMTY0NjUsMjEuMzMzNDAwNywzOC42MDMxNDk0LDIxLjMzMzQwMDd6Ii8+DQoJCTxwYXRoIGQ9Ik0zOC42MDMxNDk0LDI5LjQ2MDMwMDRIMTYuMjUzOTUyYy0wLjU2MTUwMDUsMC0xLjAxNTkwMDYsMC40NTQzOTkxLTEuMDE1OTAwNiwxLjAxNTg5OTcNCgkJCXMwLjQ1NDQwMDEsMS4wMTU4OTk3LDEuMDE1OTAwNiwxLjAxNTg5OTdoMjIuMzQ5MTk3NGMwLjU2MTUwMDUsMCwxLjAxNTg5OTctMC40NTQzOTkxLDEuMDE1ODk5Ny0xLjAxNTg5OTcNCgkJCVMzOS4xNjQ2NSwyOS40NjAzMDA0LDM4LjYwMzE0OTQsMjkuNDYwMzAwNHoiLz4NCgkJPHBhdGggZD0iTTI4LjQ0NDQ0ODUsMzcuNTg3Mjk5M0gxNi4yNTM5NTJjLTAuNTYxNTAwNSwwLTEuMDE1OTAwNiwwLjQ1NDM5OTEtMS4wMTU5MDA2LDEuMDE1ODk5Nw0KCQkJczAuNDU0NDAwMSwxLjAxNTg5OTcsMS4wMTU5MDA2LDEuMDE1ODk5N2gxMi4xOTA0OTY0YzAuNTYxNTAyNSwwLDEuMDE1ODAwNS0wLjQ1NDM5OTEsMS4wMTU4MDA1LTEuMDE1ODk5Nw0KCQkJUzI5LjAwNTk1MDksMzcuNTg3Mjk5MywyOC40NDQ0NDg1LDM3LjU4NzI5OTN6Ii8+DQoJPC9nPg0KPC9zdmc+DQo=");
}

.ui-kit-component {
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
  width: 100%;
  padding: var(--ui-kit-component-gap);
  background-color: var(--color-primary-contrast);
  overflow: hidden;
}
.ui-kit-component.is-contrast .ui-kit-component__box--example {
  padding-inline: var(--ui-kit-component-gap);
  color: var(--color-black);
  background-color: var(--color-white);
  border-radius: var(--ui-kit-box-bd-rad);
}
.ui-kit-component__name {
  font-size: calc(32 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 115%;
  letter-spacing: -0.02em;
  font-weight: 500;
  padding-block-end: var(--ui-kit-component-gap);
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid var(--color-border-secondary);
}
@media only screen and (min-width: 1921px) {
  .ui-kit-component__name {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit-component__name {
    font-size: calc(28 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 768px) {
  .ui-kit-component__name {
    font-size: calc(24 / var(--scale-vw) * var(--vw, 1vw));
  }
}
@media only screen and (max-width: 480px) {
  .ui-kit-component__name {
    font-size: calc(17 / var(--scale-vw) * var(--vw, 1vw));
  }
}
.ui-kit-component__core {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 3.2rem;
  height: 100%;
}
.ui-kit-component__box {
  display: flex;
  flex-direction: column;
  row-gap: var(--ui-kit-component-gap);
}
.ui-kit-component__box--example {
  padding-block: var(--ui-kit-component-gap);
}
.ui-kit-component__subtitle {
  font-family: monospace;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
}
.ui-kit-component__code-box {
  position: relative;
  isolation: isolate;
}
.ui-kit-component__code-box:hover .ui-kit-component__copy-trigger-box {
  opacity: 1;
}
.ui-kit-component__code-box:has(button[data-copycode=trigger]:hover) .ui-kit-component__code {
  border-color: var(--color-white);
}
.ui-kit-component__copy-trigger-box {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: flex;
  min-height: 3.2rem;
  opacity: 0;
  transition: opacity var(--trans-base);
}
.ui-kit-component__copy-trigger-box.is-copied .ui-kit-component__copy-trigger {
  display: none;
}
.ui-kit-component__copy-trigger-box.is-copied .ui-kit-component__copy-trigger-success-text {
  display: flex;
}
.ui-kit-component__copy-trigger {
  width: 3.2rem;
  height: 3.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0;
  line-height: 0;
  background-color: var(--color-border-secondary);
  background-image: var(--ui-kit-copy-code-trigger-icn);
  background-repeat: no-repeat;
  background-size: 85%;
  background-position: center;
  border: none;
  border-radius: var(--ui-kit-box-bd-rad);
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  cursor: pointer;
  transition: background-color var(--trans-base);
}
.ui-kit-component__copy-trigger:where(:hover, :focus-visible) {
  background-color: var(--color-white);
}
.ui-kit-component__copy-trigger:active {
  background-color: var(--color-secondary);
}
.ui-kit-component__copy-trigger-success-text {
  font-size: calc(15 / var(--scale-vw) * var(--vw, 1vw));
  line-height: 120%;
  letter-spacing: 0.01em;
  font-weight: 500;
  display: none;
  justify-content: center;
  align-items: center;
  padding-inline: 0.8rem;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--ui-kit-box-bd-rad);
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
}
@media only screen and (min-width: 1921px) {
  .ui-kit-component__copy-trigger-success-text {
    font-size: 15px;
  }
}
@media only screen and (max-width: 1440px) {
  .ui-kit-component__copy-trigger-success-text {
    font-size: calc(11 / var(--scale-vw) * var(--vw, 1vw));
    letter-spacing: 0.02em;
  }
}
.ui-kit-component__code {
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
  width: 100%;
  margin: 0;
  padding: 2rem 1.6rem;
  background-color: var(--color-primary-contrast-900);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--ui-kit-box-bd-rad);
  white-space: pre-wrap;
  overflow-x: auto;
  transition: border-color var(--trans-base);
}
.ui-kit-component__code code {
  width: 100%;
  min-width: max-content;
  font-family: monospace;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN5c3RlbS9fbWl4LnNjc3MiLCJzeXN0ZW0vZm9udHMuc2NzcyIsInN5c3RlbS9hbmltYXRpb25zLnNjc3MiLCJzeXN0ZW0vcmVzZXQuc2NzcyIsInN5c3RlbS9jb3JlLnNjc3MiLCJzeXN0ZW0vdXRpbHMuc2NzcyIsInN5c3RlbS9iYXNlLnNjc3MiLCJzeXN0ZW0vX3R5cG9ncmFwaHkuc2NzcyIsInN5c3RlbS9fdmFycy5zY3NzIiwic3lzdGVtL3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zd2lwZXIvc3dpcGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL21vZHVsZXMvZWZmZWN0LWZhZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oeXN0bW9kYWwvbGliL2h5c3Rtb2RhbC5jc3MiLCJlbGVtZW50cy9hd2FyZC5zY3NzIiwiZWxlbWVudHMvYm9yZGVyLnNjc3MiLCJlbGVtZW50cy9ib3gtZGVjb3Iuc2NzcyIsImVsZW1lbnRzL2NoYXQuc2NzcyIsImVsZW1lbnRzL2NyZWVwaW5nLWxpbmUuc2NzcyIsImVsZW1lbnRzL2VsZW0taG92ZXIuc2NzcyIsImVsZW1lbnRzL2ZyYW1ld29yay5zY3NzIiwiZWxlbWVudHMvZnJhbWV3b3Jrcy1pbmZvLnNjc3MiLCJlbGVtZW50cy9tYWluLWxvZ28uc2NzcyIsImVsZW1lbnRzL251bWJlci1lbGVtLnNjc3MiLCJlbGVtZW50cy9waG9uZXMuc2NzcyIsImVsZW1lbnRzL3ByaW50ZWQuc2NzcyIsImVsZW1lbnRzL3NjcmFtYmxlLnNjc3MiLCJlbGVtZW50cy90ZXh0LW9wYWNpdHkuc2NzcyIsInVpLyU1QmRhdGEtdGFicyU1RC5zY3NzIiwidWkvYnRuLWNvcm5lcnMuc2NzcyIsInVpL2J0bi5zY3NzIiwidWkvZmllbGQuc2NzcyIsInVpL2lucHV0JnRleHRhcmVhLnNjc3MiLCJ1aS9saW5rLnNjc3MiLCJ1aS9waWN0dXJlLnNjc3MiLCJ1aS9yYWRpby5zY3NzIiwidWkvc3dpcGVyLnNjc3MiLCJ1aS9zd2l0Y2guc2NzcyIsImJsb2Nrcy9iYXNlLWFjY29yZGlvbi5zY3NzIiwiYmxvY2tzL2Jsb2NrLWJnLnNjc3MiLCJibG9ja3MvYmxvY2std2hpdGUtYmcuc2NzcyIsImJsb2Nrcy9jbGllbnQuc2NzcyIsImJsb2Nrcy9jb29raWUtYWNjZXB0LnNjc3MiLCJibG9ja3MvZm9ybS1yZXN1bHQtdGVtcC5zY3NzIiwiYmxvY2tzL2Zvcm0tcmVzdWx0LnNjc3MiLCJibG9ja3MvZm9ybS5zY3NzIiwiYmxvY2tzL2hlYWRlci1zdWJtZW51LnNjc3MiLCJibG9ja3MvaHlzdG1vZGFsLnNjc3MiLCJibG9ja3MvaW5wdXQtZWxlbS5zY3NzIiwiYmxvY2tzL2lucHV0LXRleHRhcmVhLnNjc3MiLCJibG9ja3MvbWFuYWdlci1ibG9jay5zY3NzIiwiYmxvY2tzL21vZGFsLW1lbnUuc2NzcyIsImJsb2Nrcy9wYWdlLW5hdi5zY3NzIiwiYmxvY2tzL3BhZ2Utc2VjdGlvbi5zY3NzIiwiYmxvY2tzL3ByZWxvYWRlci5zY3NzIiwiYmxvY2tzL3Byb2R1Y3Quc2NzcyIsImJsb2Nrcy9wcm9qZWN0LnNjc3MiLCJibG9ja3MvcmV2aWV3cy1zbGlkZXIuc2NzcyIsImJsb2Nrcy9zdGFjay5zY3NzIiwiYmxvY2tzL3N0aWNreS1uYXYuc2NzcyIsImJsb2Nrcy90ZWFtLWNhcmQuc2NzcyIsImJsb2Nrcy90ZWFtLXNsaWRlci10aHVtYnMuc2NzcyIsInNlY3Rpb25zL2FkZC1zZWN0aW9uLnNjc3MiLCJzZWN0aW9ucy9jYXRhbG9nLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL2NsaWVudHMtc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvZXJyb3Itc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvZmFxLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL2Zvcm0tc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvZnJhbWV3b3Jrcy1zZWN0aW9uLnNjc3MiLCJzZWN0aW9ucy9mdW5jdGlvbmFsLnNjc3MiLCJzZWN0aW9ucy9ncmlkLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL2xvZ28tc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvbmFtZS1wcm9kdWN0LnNjc3MiLCJzZWN0aW9ucy9wcm9qZWN0LXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL3Jldmlld3Mtc2VjdGlvbi5zY3NzIiwic2VjdGlvbnMvc2xvZ2FuLXNlY3Rpb24uc2NzcyIsInNlY3Rpb25zL3Ntb2tpbmctcm9vbS1zZWN0aW9uLnNjc3MiLCJzZWN0aW9ucy9zdGFuZGFyZC1ibG9jay5zY3NzIiwic2VjdGlvbnMvdGVhbS1zZWN0aW9uLnNjc3MiLCJwYWdlcy9+cGFnZS5zY3NzIiwibGF5b3V0L2Zvb3Rlci5zY3NzIiwibGF5b3V0L2hlYWRlci5zY3NzIiwibGF5b3V0L3dpZHRoLnNjc3MiLCJ2ZW5kb3JzL2N1c3RvbS1jYXJldC1pbnB1dC5zY3NzIiwidmVuZG9ycy9jdXN0b20tY2FyZXQtdGV4dGFyZWEuc2NzcyIsInNwZWNpYWwvdWkta2l0LnNjc3MiLCJzcGVjaWFsL3VpLWtpdC1jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBNEZBO0FDM0ZBO0VBQ0U7RUFDQSxLQUNFO0VBR0Y7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxLQUNFO0VBR0Y7RUFDQTtFQUNBOztBQ3BCRjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBTUo7RUFDRTtJQUVFOztFQUdGO0lBQ0U7OztBQy9HSjtB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RjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFDQTtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtBQUNBO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7O0FBQ0E7QUFBQTtFQUVFOzs7QUFJSjtBQUVFO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7O0FBR0o7RUFDRTs7QUFHQTtFQUNFOztBQUlGO0VBQ0U7O0FBSUY7RUFDRTs7QUFFRjtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFJRjtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUtOO0FBQ0E7QUFFRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7QUFBQTtFQUNFOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7QUN0UEk7RUFDRTs7QUFHSjtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTs7QUFJRjtFQUVFOzs7QUNoQk47RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VB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Q0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBckRzTUE7RXFEbE1BO0lBQ0U7OztBckRzTUY7RXFEak1BO0lBQ0U7OztBckQ0UEY7RXFEdlBBO0lBQ0U7OztBckRvUkY7RXFEL1FBO0lBQ0U7Ozs7QUFLTjtFQUNFO0VBQ0E7OztBQzFERjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFL0M4SUE7RUFDQTtFQUNBO0VBQ0E7RStDL0lFOztBdERpTEE7RXNEbkxGO0kvQ29KRTs7O0FQb0NBO0VzRHhMRjtJL0N3SkU7SUFDQTs7O0ErQ3BKRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0UvQ29TQTtFQUNBO0VBQ0E7RStDcFNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBdERzSUE7RXNEcEpGO0kvQ3lTRTs7O0FQdElBO0VzRG5LRjtJL0M2U0U7OztBUDVHQTtFc0RqTUY7SS9DaVRFOzs7QStDaFNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNB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RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS047RWxEbUtBO0VBQ0E7RUFDQTtFQUNBO0VrRHBLRTs7QXpEc01BO0V5RHhNRjtJbER5S0U7OztBUG9DQTtFeUQ3TUY7SWxENktFO0lBQ0E7OztBa0R6S0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQzNDSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RW5EK1BBO0VBQ0E7RUFDQTtFQUNBO0VtRGhRRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ExRDhNQTtFMERyTkY7SW5EcVFFOzs7QW1EM1BFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS047RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QTFEdU9BO0UwRG5TSjtJQWdFSTs7OztBQ2hFSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBS047RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VwRGdWQTtFQUNBO0VBQ0E7RW9EaFZFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTNEb0tBO0UyRDlLRjtJcERxVkU7OztBUHhKQTtFMkQ3TEY7SXBEeVZFOzs7QVAvR0E7RTJEMU9GO0lwRDZWRTs7O0FQckZBO0UyRHhRRjtJcERpV0U7SUFDQTs7O0FvRHRWQTtFcERvVUY7RUFDQTtFQUNBOztBUHBLRTtFMkRsS0E7SXBEeVVB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O0VnRTNRQTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7Ozs7QUNuRUo7RUFDRTtFQUNBOztBakUrTkE7RWlFM05BO0lBQ0U7SUFDQTs7O0FqRThORjtFaUV6TkE7SUFDRTtJQUNBOzs7QWpFbVJGO0VpRTlRQTtJQUNFO0lBQ0E7OztBakUwU0Y7RWlFclNBO0lBQ0U7SUFDQTs7OztBQzdCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QWxFMExBO0VrRXJMQTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7O0FsRTRKRjtFa0V2SkE7SUFDRTs7O0FsRXFLRjtFa0VoS0E7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QWxFaUtGO0VrRTVKQTtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFOzs7QWxFaU5GO0VrRTVNQTtJQUNFO0lBQ0E7OztBbEUyTEY7RWtFdExBO0lBQ0U7Ozs7QUM5R047RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFNUQ0SkE7RUFDQTtFQUNBO0VBQ0E7RTREN0pFOztBbkVvTkE7RW1FdE5GO0k1RGtLRTs7O0FQeURBO0VtRTNORjtJNURzS0U7OztBUCtJQTtFbUVyVEY7STVEMEtFO0lBQ0E7SUFDQTs7O0E0RHZLRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QW5FbVJBO0VtRTlRQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUlKO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUE7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUlKO0lBQ0U7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUo7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QW5FaUZGO0VtRTdFRTtJQUNFOztFQUdGO0FBQ0U7O0VBQ0E7QUFBQTtJQUVFOzs7QW5FL0NOO0VtRXVERTtJQUNFOzs7QW5FbkRKO0VtRXlEQTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOzs7QW5FdkRGO0VtRTREQTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFD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Q0E7RUFDQTtFQUNBO0VvRXZIRTtFQUNBOztBM0U2S0E7RTJFaExGO0lwRTRIRTs7O0FQeURBO0UyRXJMRjtJcEVnSUU7OztBUCtJQTtFMkUvUUY7SXBFb0lFO0lBQ0E7SUFDQTs7O0FvRWhJRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0EzRXlKQTtFMkVwSkE7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7OztBM0UwSUY7RTJFdElBO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QTNFMEhGO0UyRXJIQTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0EzRXlKRjtFMkVwSkE7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QTNFa0pGO0UyRTdJQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QTNFa0pGO0UyRTdJQTtJQUNFO0lBQ0E7Ozs7QUNyTEo7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFckVzQ0E7RUFDQTtFQUNBO0VBQ0E7RXFFdkNFO0VBQ0E7O0E1RW9OQTtFNEV2TkY7SXJFNENFOzs7QVBnTEE7RTRFNU5GO0lyRWdERTtJQUNBOzs7QVB1T0E7RTRFeFJGO0lyRXFERTs7O0FQaVFBO0U0RXRURjtJckV5REU7SUFDQTs7O0FxRXJEQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBSUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUVFOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBNUVpR0E7RTRFN0ZBO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBSUE7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBNUVvRUY7RTRFL0RBO0lBQ0U7O0VBSUE7SUFDRTs7RUFJSjtJQUNFOztFQUdGO0lBQ0U7OztBNUU0R0Y7RTRFdkdBO0lBQ0U7SUFDQTs7RUFFQTtJQUNFOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFHRjtJNUVsS0Y7SUFDQTtJQUNBO0k0RWtLSTtJQUNBO0lBQ0E7O0U1RWxLSjtJQUNFOztFNEVxS0U7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFJSjtJQUNFOztFQUdGO0lBQ0U7OztBNUV3Q0Y7RTRFbkNBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFJSjtJQUNFOztFQUlBO0lBQ0U7O0VBSUo7SUFDRTs7RUFHRjtJQUNFOzs7O0FDcFVKO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBRUU7O0FBR0Y7RTdFMkRBO0VBQ0E7RUFDQTtFNkUzREU7RUFDQTs7QTdFNERGO0VBQ0U7O0E2RTFERjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E3RW1MQTtFNkUvS0E7SUFDRTtJQUNBOzs7QTdFa0xGO0U2RTdLQTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBSUE7SUFDRTs7O0E3RStLSjtFNkV6S0E7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0E3RWlNSjtFNkUzTEE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0E3RWtORjtFNkU3TUE7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUo7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7O0FDN0pOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E5RThSQTtFOEVqVUo7SUF1Q0k7Ozs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QTlFcU9BO0U4RWpPQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7OztBOUU0TkY7RThFdk5BO0lBQ0U7Ozs7QUM1Rk47RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RS9Fb0NBO0VBQ0E7RUFDQTtFK0VwQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QS9Fa0NGO0VBQ0U7O0ErRWhDRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0V4RWJBO0VBQ0E7RUFDQTtFQUNBO0V3RVlFOztBL0V5SUE7RStFM0lGO0l4RVBFOzs7QVB1SkE7RStFaEpGO0l4RUhFO0lBQ0E7OztBUDhNQTtFK0U1TUY7SXhFRUU7OztBUHdPQTtFK0UxT0Y7SXhFTUU7OztBd0VGQTtFQUNFOztBQUlKO0V4RXdFQTtFQUNBO0VBQ0E7RUFDQTtFd0V6RUUsYXZFNUJvQjs7QVI0SnBCO0UrRWxJRjtJeEU4RUU7OztBUHlEQTtFK0V2SUY7SXhFa0ZFOzs7QVArSUE7RStFak9GO0l4RXNGRTtJQUNBO0lBQ0E7OztBd0VuRkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0V4RWlFQTtFQUNBO0VBQ0E7RUFDQTtFd0VsRUU7RUFDQTs7QS9FbUdBO0UrRXRHRjtJeEV1RUU7OztBUG9DQTtFK0UzR0Y7SXhFMkVFO0lBQ0E7OztBd0V0RUY7RXhFekdBO0VBQ0E7RUFDQTtFQUNBO0V3RXdHRTtFQUNBO0VBQ0E7O0EvRTRGQTtFK0VoR0Y7SXhFbkdFOzs7QVB3TUE7RStFckdGO0l4RS9GRTs7O0FQZ1FBO0UrRWpLRjtJ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O0VBQ0E7RUFDQTtFQUNBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RTlFb0lBO0VBQ0E7RUFDQTtFQUNBO0U4RXJJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBckZpR0E7RXFGMUdGO0k5RTBJRTs7O0FQM0JBO0VxRi9HRjtJOUU4SUU7SUFDQTs7O0E4RW5JRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWl4aW4gZm9udC1zaXplKCRzaXplLCAkbGluZUhlaWdodDogJHNpemUpIHtcbiAgZm9udC1zaXplOiAkc2l6ZTtcblxuICBAaWYgJGxpbmVIZWlnaHQgPT0gMCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKCRsaW5lSGVpZ2h0IC8gJHNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBmbGV4LXdpZHRoKCR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgZmxleDogMCAwICR3aWR0aDtcbiAgbWluLXdpZHRoOiAxcHg7XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xufVxuXG5AbWl4aW4gYWJzb2x1dGUtbGF5ZXIoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWl4aW4gaHlwaGVucygkc3ltYm9sOiAnLScpIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZVxuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAvLyBzdHlsZWxpbnQtZW5hYmxlXG4gIGh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbmF0ZS1jaGFyYWN0ZXI6ICRzeW1ib2w7XG59XG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCR2YWx1ZTogMSkge1xuICBAaWYgJHZhbHVlID09IDAge1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgIHRleHQtb3ZlcmZsb3c6IHVuc2V0O1xuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG5AbWl4aW4gbGluZS1jbGFtcCgkbGluZXM6IDMpIHtcbiAgQGlmICRsaW5lcyA9PSAwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogbm9uZTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGluaXRpYWw7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBvbiAqL1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICB0ZXh0LW92ZXJmbG93OiB1bnNldDtcbiAgICB3b3JkLXdyYXA6IHVuc2V0O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZVxuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXM7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9uICovXG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLXNjcm9sbCB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qINCe0YTQvtGA0LzQu9C10L3QuNC1INCy0LXRgNGC0LjQutCw0LvRjNC90L7Qs9C+INGB0LrRgNC+0LvQu9Cx0LDRgNCwICovXG5AbWl4aW4gdi1zY3JvbGwoKSB7XG4gIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTMwKSB2YXIoLS1jb2xvci1zZWNvbmRhcnktMjApO1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cbiAgLyog0YHQutGA0L7Qu9C70LHQsNGAICovXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNHB4O1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8vIHN0eWxlbGludC1lbmFibGVcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyog0YLRgNC10LogKi9cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktMjApO1xuICB9XG5cbiAgLyog0L/QvtC70LfRg9C90L7QuiAqL1xuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTIwKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTIwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW1nLWNvdmVyKCkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5AbWl4aW4gc2FmYXJpLXJhZGl1cygpIHtcbiAgLy8gRml4IG92ZXJmbG93IGZyb20gYmQgcmFkaXVzXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgjZmZmLCAjMDAwKTtcbiAgLy8gc3R5bGVsaW50LWVuYWJsZVxufVxuXG5AbWl4aW4gYmV0dGVyLWZvbnRzKCkge1xuICAvLyBGb3IgZGFyayBiYWNrZ3JvdW5kc1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGJ0bi1yZXNldCgpIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuQG1peGluIHNlbGVjdC1yZXNldCgpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8vIHN0eWxlbGludC1lbmFibGVcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdGV4dC1pbmRlbnQ6IDFweDtcbiAgdGV4dC1vdmVyZmxvdzogJyc7XG5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gYmx1cigkdmFsKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKCR2YWwpO1xuICAvLyBzdHlsZWxpbnQtZW5hYmxlXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigkdmFsKTtcbiAgd2lsbC1jaGFuZ2U6IGJhY2tkcm9wLWZpbHRlcjtcbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xufVxuXG5AbWl4aW4gcGljdHVyZWQtaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vLyBbISBWRU5ET1IgIV0gUmVxdWlyZWQgc2V0IG9mIHN0eWxlc1xuLy8gZm9yIGNvcnJlY3QgJ2N1c3RvbS1jYXJldCcgd29ya1xuQG1peGluIGN1c3RvbS1jYXJldC1yZXF1aXJlbWVudHMge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgY2FyZXQtY29sb3I6IHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KTtcbn1cblxuLy8gWyEgVkVORE9SICFdIE1peCB3aXRoIGFuaW1hdGlvblxuLy8gZm9yIHRoZSAnY3VzdG9tLWNhcmV0JyBmb3IgaW5wdXRzIGFuZCB0ZXh0YXJlYXNcbkBtaXhpbiBjdXN0b20tY2FyZXQtYmxpbmtpbmctYW5pbSB7XG4gIGFuaW1hdGlvbjoge1xuICAgIG5hbWU6IGN1c3RvbS1jYXJldC1ibGlua2luZztcbiAgICBkdXJhdGlvbjogMXM7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiBzdGVwLXN0YXJ0O1xuICAgIGl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIH1cbn1cblxuLy8gTUVESUFcbi8vINCj0L3QuNCy0LXRgNGB0LDQu9GM0L3Ri9C5INC80LjQutGB0LjQvSDQtNC70Y8g0LzQtdC00LjQsC3Qt9Cw0L/RgNC+0YHQvtCyXG5AbWl4aW4gbWVkaWEoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gZnVsbGhkIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1mdWxsaGQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gZnVsbGhkLWFmdGVyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGNhbGMoJG1lZGlhLWZ1bGxoZCAtIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gZnVsbGhkLWJlZm9yZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBjYWxjKCRtZWRpYS1mdWxsaGQgKyAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHF1YWRoZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtcXVhZGhkKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHF1YWRoZC1hZnRlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBjYWxjKCRtZWRpYS1xdWFkaGQgLSAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHF1YWRoZC1iZWZvcmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogY2FsYygkbWVkaWEtcXVhZGhkICsgMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBoZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtaGQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gaGQtYWZ0ZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogY2FsYygkbWVkaWEtaGQgLSAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGhkLWJlZm9yZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBjYWxjKCRtZWRpYS1oZCArIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gZGVza3RvcCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtZGVza3RvcCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBkZXNrdG9wLWFmdGVyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGNhbGMoJG1lZGlhLWRlc2t0b3AgLSAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGRlc2t0b3AtYmVmb3JlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNhbGMoJG1lZGlhLWRlc2t0b3AgKyAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG5vdGVib29rIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1ub3RlYm9vaykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBub3RlYm9vay1hZnRlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBjYWxjKCRtZWRpYS1ub3RlYm9vayAtIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbm90ZWJvb2stYmVmb3JlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNhbGMoJG1lZGlhLW5vdGVib29rICsgMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXRhYmxldCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXQtYWZ0ZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogY2FsYygkbWVkaWEtdGFibGV0IC0gMXB4KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSB0YWJsZXQtYmVmb3JlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNhbGMoJG1lZGlhLXRhYmxldCArIDFweCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc21hcnRwaG9uZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtc21hcnRwaG9uZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbWFydHBob25lLWFmdGVyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGNhbGMoJG1lZGlhLXNtYXJ0cGhvbmUgLSAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtYXJ0cGhvbmUtYmVmb3JlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNhbGMoJG1lZGlhLXNtYXJ0cGhvbmUgKyAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHBob25lIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1waG9uZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBwaG9uZS1iZWZvcmUge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogY2FsYygkbWVkaWEtcGhvbmUgKyAxcHgpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGxhc3Qge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWxhc3QpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gcmV0aW5hIHtcbiAgICBAbWVkaWEgKG1pbi1yZXNvbHV0aW9uOiAkcmV0aW5hLWRwaSksIChtaW4tcmVzb2x1dGlvbjogJHJldGluYS1kcHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IGhvdmVyIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBhbmltYXRpb24ge1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0lvc2V2a2EnO1xuICBzcmM6XG4gICAgdXJsKCcjeyR1cmwtZm9udH0vaW9zZXZrYS9Jb3NldmthLU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JHVybC1mb250fS9pb3NldmthL0lvc2V2a2EtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcblxuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvRmxleCc7XG4gIHNyYzpcbiAgICB1cmwoJyN7JHVybC1mb250fS9yb2JvdG8vcm9ib3RvLWZsZXgtdXBncmFkZS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JHVybC1mb250fS9yb2JvdG8vcm9ib3RvLWZsZXgtdXBncmFkZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG5cbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4iLCJAa2V5ZnJhbWVzIGxvYWQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZGlzcGxheS1ub25lIHtcbiAgMCUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDElIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjcmVlcGluZy1saW5lIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdHJhbnNsYXRlLWRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjdXJzb3ItYmxpbmsge1xuICAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlja2VyIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpY2tlci10ZXh0IHtcbiAgMCUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG59XG5cbi8vIFshIFZFTkRPUiAhXSBBbmltYXRpb24gZm9yIGJsaW5raW5nXG4vLyBvZiB0aGUgJ2N1c3RvbS1jYXJldCcgZm9yIGlucHV0cyBhbmQgdGV4dGFyZWFzXG5Aa2V5ZnJhbWVzIGN1c3RvbS1jYXJldC1ibGlua2luZyB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIqLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuaHRtbCB7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XG5cbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLy8g0L7Qv9GC0LjQvNC40LfQsNGG0LjRjyDQstGL0YDQsNCy0L3QuNCy0LDQvdC40Y8g0YjRgNC40YTRgtCwINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDRhtC10L3RgtGA0LAg0YHRgtGA0L7QutC4XG4gIC8vINC10YHQu9C4INC/0L4g0L/RgNC10LbQvdC10LzRgyDQtdGB0YLRjCDQv9GA0L7QsdC70LXQvNGLINGBINCy0YvRgNCw0LLQvdC40LLQsNC90LjQtdC8XG4gIC8vIGh0dHBzOi8vdHJhbnNmb250ZXIub3JnLyAtINCy0LrQu9GO0YfQuNGC0LUg0L3QsNGB0YLRgNC+0LnQutGDIGh0dHBzOi8vcHJudC5zYy8xMnJudDZnINC4INC/0LXRgNC10LrQvtC90LLQtdGA0YLQuNGA0YPQudGC0LUg0YjRgNC40YTRglxufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAvLyBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG59XG5cbmEge1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMmVtO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgY29sb3I6IGNvbG9yKGxpbmspO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBjb2xvcihsaW5rLWhvdmVyKTtcbiAgfVxufVxuXG5idXR0b24ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KTtcbn1cblxub2wsXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmRsLFxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnN3aXBlci1zbGlkZSB7XG4gICYsXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cbiIsIjpyb290IHtcbiAgLS1zY2FsZS12dzogY2FsYygxOTIwIC8gMTAwKTtcbiAgLS1weS1oZWFkZXI6ICN7c2l6ZSgxNil9O1xuICAtLWhlaWdodC1oZWFkZXI6ICN7cmVtKDcycHgpfTtcbiAgLS1tYWluLXBhZGRpbmc6ICN7c2l6ZSgxMDQpfTtcbiAgLS1weS1zZWN0aW9uOiAje3NpemUoMzIpfTtcblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tY29sb3ItI3skbmFtZX06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJHRyYW5zIHtcbiAgICAtLXRyYW5zLSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNoYWRvdyBpbiAkc2hhZG93cyB7XG4gICAgLS1zaGFkb3ctI3skbmFtZX06ICN7JHNoYWRvd307XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHogaW4gJHppbmRleCB7XG4gICAgLS16LSN7JG5hbWV9OiAjeyR6fTtcbiAgfVxuXG4gIC8vIE1FRElBXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAtLXB5LXNlY3Rpb246ICN7dnctdG8tcHgoMzIpfTtcbiAgICAtLXB5LWhlYWRlcjogI3t2dy10by1weCgxNil9O1xuICAgIC0tbWFpbi1wYWRkaW5nOiAje3Z3LXRvLXB4KDEwNCl9O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgLS1zY2FsZS12dzogY2FsYygje3N0cmlwLXVuaXQoJHNjYWxlLXF1YWRoZCl9IC8gMTAwKTtcbiAgICAtLWhlaWdodC1oZWFkZXI6ICN7cmVtKDY0cHgpfTtcbiAgICAtLW1haW4tcGFkZGluZzogI3tzaXplKDcyKX07XG4gICAgLS1weS1zZWN0aW9uOiAje3NpemUoMjQpfTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhkKSB7XG4gICAgLS1zY2FsZS12dzogY2FsYygje3N0cmlwLXVuaXQoJHNjYWxlLWhkKX0gLyAxMDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgLS1zY2FsZS12dzogY2FsYygje3N0cmlwLXVuaXQoJHNjYWxlLXRhYmxldCl9IC8gMTAwKTtcbiAgICAtLW1haW4tcGFkZGluZzogI3tzaXplKDU2KX07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgLS1tYWluLXBhZGRpbmc6IDE2cHg7XG4gICAgLS1weS1zZWN0aW9uOiAje3NpemUoMTYpfTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgLS1zY2FsZS12dzogY2FsYygje3N0cmlwLXVuaXQoJHNjYWxlLXBob25lKX0gLyAxMDApO1xuICB9XG59XG5cbi5ub3NjcmlwdCB7XG4gIGJhY2tncm91bmQ6ICNmMDA7XG4gIGNvbG9yOiAjODA4MDgwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIubm8td3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG59XG5cbi5pY24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgZmxleDogMCAwIGF1dG87XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuIiwiOnJvb3Qge1xuICBmb250LXNpemU6IDYyLjUlO1xufVxuXG5odG1sIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIEBpbmNsdWRlIHRleHRCb2R5O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuXG4gICYubWVudS1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbio6OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlbGVjdGlvbik7XG59XG5cbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8vIFRpdGxlc1xuQG1peGluIHRleHRCb2R5KCkge1xuICBmb250LXNpemU6IHNpemUoMTYpO1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHNsYXNoZWQtemVybztcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOlxuICAgICdjdjc3JyBvbixcbiAgICAnY3YxMScgb24sXG4gICAgJ2N2MDUnIG9uLFxuICAgICdjdjA0JyBvbixcbiAgICAnY3Y4Mycgb24sXG4gICAgJ3NzMDQnIG9uLFxuICAgICdzczE1JyBvbixcbiAgICAnY3Y5MCcgb24sXG4gICAgJ3NzMTEnIG9uLFxuICAgICdzczA3JyBvbixcbiAgICAnY2FsdCcgb2ZmO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDE2KTtcbiAgfVxufVxuXG5AbWl4aW4gdGl0bGVCaWcoKSB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgyMDApO1xuICBsaW5lLWhlaWdodDogOTIlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCgyMDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE1Mik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTA4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDU4KTtcbiAgfVxufVxuXG5AbWl4aW4gdGl0bGVIMSB7XG4gIGZvbnQtc2l6ZTogc2l6ZSg2OCk7XG4gIGxpbmUtaGVpZ2h0OiAxMDUlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCg2OCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoNjApO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDUyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDQwKTtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gdGl0bGVIMiB7XG4gIGZvbnQtc2l6ZTogc2l6ZSg0OCk7XG4gIGxpbmUtaGVpZ2h0OiAxMDUlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCg0OCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoNDApO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDM2KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDI4KTtcbiAgfVxufVxuXG5AbWl4aW4gdGl0bGVIMi1tIHtcbiAgZm9udC1zaXplOiBzaXplKDQ0KTtcbiAgbGluZS1oZWlnaHQ6IDEwNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDQ0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMzYpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoMjgpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUgzIHtcbiAgZm9udC1zaXplOiBzaXplKDMyKTtcbiAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDMyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgyOCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMjQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTcpO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUZyYW1ld29ya3Mge1xuICBmb250LXNpemU6IHNpemUoMzIpO1xuICBsaW5lLWhlaWdodDogMTE1JTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMzIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDI4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgzNik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgyOCk7XG4gIH1cbn1cblxuQG1peGluIHRpdGxlSDQge1xuICBmb250LXNpemU6IHNpemUoMTcpO1xuICBsaW5lLWhlaWdodDogMTA1JTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTcpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDE1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDEzKTtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB9XG59XG5cbkBtaXhpbiB0aXRsZUg1IHtcbiAgZm9udC1zaXplOiBzaXplKDE1KTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDEzKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0TCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICBmb250LXNpemU6IHNpemUoMjQpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMjQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDIwKTtcbiAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxNyk7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxNSk7XG4gIH1cbn1cblxuQG1peGluIHRleHRNIHtcbiAgZm9udC1zaXplOiBzaXplKDIwKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDIwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxNyk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxNSk7XG4gIH1cbn1cblxuQG1peGluIHRleHRTIHtcbiAgZm9udC1zaXplOiBzaXplKDE1KTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIGZvbnQtc2l6ZTogdnctdG8tcHgoMTUpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDExKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0WFMge1xuICBmb250LXNpemU6IHNpemUoMTMpO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCgxMyk7XG4gIH1cbn1cblxuQG1peGluIHRleHRNUyB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxMik7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxMCk7XG4gIH1cbn1cblxuQG1peGluIHRleHRYWFMge1xuICBmb250LXNpemU6IHNpemUoMTIpO1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiB2dy10by1weCgxMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDEwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDEwKTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dE5hbm8ge1xuICBmb250LXNpemU6IHNpemUoOSk7XG4gIGxpbmUtaGVpZ2h0OiAxMTAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDE1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDkpO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0TGluayB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxNSk7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDE1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxNSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHNpemUoMTMpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIH1cbn1cblxuQG1peGluIHRleHRMaW5rTSB7XG4gIGZvbnQtc2l6ZTogc2l6ZSgxNyk7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBmb250LXNpemU6IHZ3LXRvLXB4KDE3KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgxNSk7XG4gIH1cbn1cblxuQG1peGluIHRleHRQcmUge1xuICBmb250LXNpemU6IHNpemUoMyk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDIuNyk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShub3RlYm9vaykge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSgyLjUpO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0UHJlTWlkZGxlIHtcbiAgZm9udC1zaXplOiBzaXplKDEwKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBmb250LXNpemU6IHNpemUoNy41KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhkKSB7XG4gICAgZm9udC1zaXplOiBzaXplKDYpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiBzaXplKDcuNSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIGZvbnQtc2l6ZTogc2l6ZSg2KTtcbiAgICBsaW5lLWhlaWdodDogc2l6ZSg3KTtcbiAgfVxufVxuXG4vLyBbU1BFQ0lBTF1cbkBtaXhpbiB0ZXh0RXJyb3JJbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICBmb250LXNpemU6IHNpemUoMTIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4iLCIvLyBCYXNlXG4kd2lkdGg6IDE3MTJweDtcbiR1cmwtaW1nOiAnY2Vkcm8tZGV2L2ltZy9iZyc7XG4kdXJsLWZvbnQ6ICcuLi9mb250cyc7XG5cbi8vINCc0LjQvdC40LzQsNC70YzQvdCw0Y8g0YjQuNGA0LjQvdCwINGB0YLRgNCw0L3QuNGG0YtcbiRtaW5XaWR0aDogMzkwO1xuXG4vLyDQqNC40YDQuNC90LAg0L/QvtC70L7RgtC90LAgKNC80LDQutC10YLQsClcbiRtYXhXaWR0aDogMTkyMDtcblxuLy8gQ29sb3JzXG4kY29sb3JzOiAoXG4gICd3aGl0ZSc6ICNmZmYsXG4gICdibGFjayc6ICMwMDAsXG4gICd0cmFuc3BhcmVudCc6IHJnYmEoMCwgMCwgMCwgMCksXG4gIC8vIHByaW1hcnlcbiAgJ3ByaW1hcnknOiAjZjBmMGYwLFxuICAncHJpbWFyeS1jb250cmFzdCc6ICMwODA4MDgsXG4gICdwcmltYXJ5LWNvbnRyYXN0LTkwMCc6ICMxZjFmMWYsXG4gICdib3JkZXItcHJpbWFyeSc6ICMyZDJkMmQsXG4gIC8vIHNlY29uZGFyeVxuICAnc2Vjb25kYXJ5JzogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjQpLFxuICAnc2Vjb25kYXJ5LWNvbnRyYXN0JzogcmdiYSg4LCA4LCA4LCAwLjQpLFxuICAnYm9yZGVyLXNlY29uZGFyeSc6ICNkYWRhZGEsXG4gICdib3JkZXInOiAjZDNkM2QzLFxuICAvLyB0cmFuc3BhcmVudFxuICAnc2VsZWN0aW9uJzogcmdiYSgxOTQsIDE5OSwgMjAzLCAwLjUpLFxuICAnc2Vjb25kYXJ5LTkwJzogcmdiYSg4LCA4LCA4LCAwLjkpLFxuICAnc2Vjb25kYXJ5LTgwJzogcmdiYSg4LCA4LCA4LCAwLjgpLFxuICAnc2Vjb25kYXJ5LTYwJzogcmdiYSg4LCA4LCA4LCAwLjYpLFxuICAnc2Vjb25kYXJ5LTMwJzogcmdiYSg4LCA4LCA4LCAwLjMpLFxuICAnc2Vjb25kYXJ5LTIwJzogcmdiYSgzNiwgMzYsIDM2LCAwLjIpLFxuICAvLyBpbmZvXG4gICdlcnJvcic6ICNlODAwMDAsXG4gICdkaXNhYmxlZCc6IHJnYmEoMjI2LCAyMjYsIDIyNiwgMC41KSxcbiAgJ2NoZWNrZWQnOiAjMzdhMzM2LFxuICAnZ3JlZW4nOiAjMTk4ZjUxLFxuICAnZnItMTAwJzogI2YwZGE1MCxcbiAgJ2ZyLTIwMCc6ICM0MWI4ODMsXG4gICdmci0zMDAnOiAjNjFkYWZiLFxuICAnZnItNDAwJzogIzE4ZDg2MCxcbiAgJ2ZyLTUwMCc6ICNmZjJkMjAsXG4gICdmci02MDAnOiAjNDdjNWZiLFxuICAnZnItNzAwJzogI2Y4OTkxNyxcbiAgJ2ZyLWdyZXknOiAjODA3YzdjLFxuKTtcblxuLy8gVHJhbnNpdGlvbnMgKGh0dHBzOi8vZWFzaW5ncy5uZXQvcnUpXG4kdHJhbnM6IChcbiAgJ2Zhc3QnOiAwLjFzIGVhc2UsXG4gICdiYXNlJzogMC4zcyBlYXNlLFxuICAnbG9uZyc6IDAuNXMgZWFzZVxuKTtcblxuJHNoYWRvd3M6IChcbiAgJ2Jsb2NrJzogJzAgMCAxcHggIzAwMCdcbik7XG5cbiR6aW5kZXg6IChcbiAgJ21vZGFsJzogNzEsXG4gICdoZWFkZXInOiA3MCxcbiAgJ21lbnUnOiA2OSxcbiAgJ292ZXItY2hhdCc6IDIxNDcwMDAwMDFcbik7XG5cbi8vIEZvbnRcbiRmb250LWJhc2Utc2l6ZTogMTZweDtcbiRmb250LWJhc2UtbGg6ICN7Y2FsYygyMnB4IC8gMTZweCl9O1xuJGZvbnQtZmFtaWx5OiAnSW9zZXZrYScsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2Vjb25kYXJ5OiAnUm9ib3RvRmxleCcsIHNhbnMtc2VyaWY7XG4kZm9ybS1saW5lLWhlaWdodDogMS4xNTtcblxuLy8gRm9ybXNcbiRmaWVsZC1iYXNlOiA0MHB4O1xuJGZpZWxkLXM6IDE2cHg7XG4kYnRuLWxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDtcblxuLy8gU2NhbGUgc3RlcHNcbiRzY2FsZS1mdWxsaGQ6IDE5MjBweDsgLy8gMTYwMXB4IC0gMTkyMHB4XG4kc2NhbGUtcXVhZGhkOiAxNDQwcHg7IC8vIDk5MXB4IC0gMTYwMHB4XG4kc2NhbGUtaGQ6IDEyODBweDsgLy8gOTkxcHggLSAxNjAwcHhcbiRzY2FsZS10YWJsZXQ6IDc2OHB4OyAvLyA1NjhweCAtIDk5MHB4XG4kc2NhbGUtcGhvbmU6IDM5MHB4OyAvLyAzMjBweCAtIDU2N3B4XG5cbi8vIE1lZGlhXG4kbWVkaWEtZnVsbGhkOiAxOTIwcHg7XG4kbWVkaWEtcXVhZGhkOiAxNDQwcHg7XG4kbWVkaWEtaGQ6IDEyODBweDtcbiRtZWRpYS1kZXNrdG9wOiAxMDI0cHg7XG4kbWVkaWEtbm90ZWJvb2s6IDk2MHB4O1xuJG1lZGlhLXRhYmxldDogNzY4cHg7XG4kbWVkaWEtc21hcnRwaG9uZTogNTgwcHg7XG4kbWVkaWEtcGhvbmU6IDQ4MHB4O1xuJG1lZGlhLWxhc3Q6IDM5MHB4O1xuXG4vLyBSZXRpbmFcbiRyZXRpbmEtZHBpOiAxNDRkcGk7XG4kcmV0aW5hLWRwcHg6IDEuNWRwcHg7XG5cbi8vIFJhZGl1c1xuJHJhZGl1cy1sOiA0OHB4O1xuJHJhZGl1cy1tOiAzMnB4O1xuXG4vLyBHcmFkaWVudHNcbiRncmFkaWVudC1jb250cmFzdDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSg4LCA4LCA4LCAwKSAtMjUlLCByZ2JhKDgsIDgsIDgpIDc1JSk7XG4kZ3JhZGllbnQtY29udHJhc3QtMDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSg4LCA4LCA4LCAwKSAwJSwgcmdiYSg4LCA4LCA4KSA3NSUpO1xuJGdyYWRpZW50LXZlcnRpY2FsOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDgsIDgsIDgsIDEpIDY1JSwgcmdiYSgyNDAsIDI0MCwgMjQwLCAwKSAxMDAlKTtcbiIsIi50ZXh0LWJsb2NrIHtcbiAgLy8gUEFSQUdSQVBIU1xuXG4gIHA6bm90KFtjbGFzc10pIHtcbiAgICBAaW5jbHVkZSB0ZXh0TTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIH1cblxuICAgICsgdWw6bm90KFtjbGFzc10pIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbiAgLy8gSEVBRElOR1NcblxuICA6d2hlcmUoaDIsIGgzLCBoNCwgaDUsIGg2KTp3aGVyZSg6bm90KFtjbGFzc10pKSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgyMDApO1xuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDI0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjAwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxNDUpO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDExMik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc2l6ZSg4OCk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGgyOm5vdChbY2xhc3NdKSB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMi1tO1xuICB9XG5cbiAgaDM6bm90KFtjbGFzc10pIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgzO1xuICB9XG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBMSVNUXG5cbiAgOndoZXJlKHVsLCBvbCk6d2hlcmUoOm5vdChbY2xhc3NdKSkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIHVsOm5vdChbY2xhc3NdKSB7XG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgdGV4dE07XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICB9XG4gIH1cbn1cblxuYTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFN3aXBlciAxMS4yLjhcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwczovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMjUgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogTWF5IDIzLCAyMDI1XG4gKi9cblxuQHVzZSAnc3dpcGVyLXZhcnMuc2NzcycgYXMgdmFycztcbkBhdC1yb290IHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdzd2lwZXItaWNvbnMnO1xuICAgIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQScpXG4gICAgICBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxufVxuQGF0LXJvb3Qge1xuICA6cm9vdCB7XG4gICAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICN7dmFycy4kdGhlbWVDb2xvcn07XG4gICAgLypcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICAgLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogaW5pdGlhbDtcbiAgICAqL1xuICB9XG59XG46aG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sIGluaXRpYWwpO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1pb3MgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLXZlcnRpY2FsIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xufVxuLnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItM2QgLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAuc3dpcGVyLXNsaWRlLFxuICAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG59XG5cbi8qIENTUyBNb2RlICovXG4uc3dpcGVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRm9yIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xuICB9XG4gICYuc3dpcGVyLWhvcml6b250YWwge1xuICAgID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLWZyZWUtbW9kZSB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogbm9uZTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci1jZW50ZXJlZCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgb3JkZXI6IDk5OTk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cztcbiAgICB9XG4gIH1cbiAgJi5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwge1xuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgd2lkdGg6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xuICAgIH1cbiAgfVxuICAmLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwge1xuICAgID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKTtcbiAgICB9XG4gIH1cbn1cblxuLyogU2xpZGUgc3R5bGVzIHN0YXJ0ICovXG4vKiAzRCBTaGFkb3dzICovXG4uc3dpcGVyLTNkIHtcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3csXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3csXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnN3aXBlcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcyksXG4uc3dpcGVyLXdhdGNoLXByb2dyZXNzIC5zd2lwZXItc2xpZGUtdmlzaWJsZSB7XG4gIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICAgIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgfVxufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogI2ZmZjtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2sge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICMwMDA7XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBTbGlkZSBzdHlsZXMgZW5kICovXG5cblxuXG4iLCIuc3dpcGVyLWZhZGUge1xuICAmLnN3aXBlci1mcmVlLW1vZGUge1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIH1cbiAgfVxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICAmLFxuICAgICYgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCI6cm9vdCB7XG4gIC0taHlzdG1vZGFsLXNwZWVkOiAwLjJzO1xuICAtLWh5c3Rtb2RhbC16aW5kZXg6IDcwO1xufVxuXG4uaHlzdG1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwcHggbWluLWNvbnRlbnQgMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbn1cblxuLmh5c3Rtb2RhbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaHlzdG1vZGFsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaHlzdG1vZGFsLS1hbmltYXRlZDo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1oeXN0bW9kYWwtc3BlZWQpIGVhc2U7XG59XG5cbi5oeXN0bW9kYWwtLWFjdGl2ZTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uaHlzdG1vZGFsLS1tb3ZlZCxcbi5oeXN0bW9kYWwtLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uaHlzdG1vZGFsLS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmh5c3Rtb2RhbF9fd3JhcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDA7XG4gIGdyaWQtcm93OiAyIC8gMztcbn1cblxuLmh5c3Rtb2RhbF9fd2luZG93IHtcbiAgbWluLXdpZHRoOiAwO1xuICBncmlkLXJvdzogMiAvIDM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiA2MDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiA1MHB4IGF1dG87XG59XG5cbi5oeXN0bW9kYWxfX3dpbmRvdy0tbG9hZGluZyB7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHdpZHRoPScxMDUnIGhlaWdodD0nMTA1JyB2aWV3Qm94PScwIDAgMTA1IDEwNScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNhYWEnJTNFJTNDY2lyY2xlIGN4PScxMi41JyBjeT0nMTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzBzJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PScxMi41JyBjeT0nNTIuNScgcj0nMTIuNScgZmlsbC1vcGFjaXR5PScuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzEwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PSc1Mi41JyBjeT0nMTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzMwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PSc1Mi41JyBjeT0nNTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzYwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PSc5Mi41JyBjeT0nMTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzgwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PSc5Mi41JyBjeT0nNTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzQwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PScxMi41JyBjeT0nOTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzcwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PSc1Mi41JyBjeT0nOTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzUwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDY2lyY2xlIGN4PSc5Mi41JyBjeT0nOTIuNScgcj0nMTIuNSclM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J2ZpbGwtb3BhY2l0eScgYmVnaW49JzIwMG1zJyBkdXI9JzFzJyB2YWx1ZXM9JzE7LjI7MScgY2FsY01vZGU9J2xpbmVhcicgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIC8lM0UlM0MvY2lyY2xlJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG59XG5cbi5oeXN0bW9kYWwtLWFuaW1hdGVkIC5oeXN0bW9kYWxfX3dpbmRvdyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1oeXN0bW9kYWwtc3BlZWQpIGVhc2UgMHMsIG9wYWNpdHkgdmFyKC0taHlzdG1vZGFsLXNwZWVkKSBlYXNlIDBzO1xufVxuXG4uaHlzdG1vZGFsLS1hY3RpdmUgLmh5c3Rtb2RhbF9fd2luZG93IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaHlzdG1vZGFsX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdzcXVhcmUnIHN0cm9rZS1taXRlcmxpbWl0PSc1MCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNMjIgMkwyIDIyJy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0nc3F1YXJlJyBzdHJva2UtbWl0ZXJsaW1pdD0nNTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTIgMmwyMCAyMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5oeXN0bW9kYWxfX2Nsb3NlLS13aCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0nc3F1YXJlJyBzdHJva2UtbWl0ZXJsaW1pdD0nNTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTIyIDJMMiAyMicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3NxdWFyZScgc3Ryb2tlLW1pdGVybGltaXQ9JzUwJyBzdHJva2Utd2lkdGg9JzInIGQ9J00yIDJsMjAgMjAnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbi5oeXN0bW9kYWxfX2Nsb3NlOmhvdmVyIHtcbiAgb3BhY2l0eTogMC45NTtcbn1cblxuLmh5c3Rtb2RhbF9fY2xvc2U6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggZG90dGVkIHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmh5c3Rtb2RhbF9fY2xvc2UtLXdoOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IGRvdHRlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcbiAgLmh5c3Rtb2RhbF9fY2xvc2Uge1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gIH1cblxuICAuaHlzdG1vZGFsX193aW5kb3cge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLmF3YXJkIHtcbiAgQGluY2x1ZGUgdGV4dE1TO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgc2l6ZSgyMCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogc2l6ZSgxNCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbnMvd3JlYXRoLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBwYWRkaW5nOiAwIHZ3LXRvLXB4KDIwKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogdnctdG8tcHgoMTQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgIH1cbiAgfVxufVxuIiwiLmJvcmRlciB7XG4gICZfX3RvcCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gIH1cblxuICAmLS1ncmV5IHtcbiAgICAmLmJvcmRlcl9fdG9wLFxuICAgICYuYm9yZGVyX19ib3R0b20ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIH1cbiAgfVxufVxuIiwiLmJveC1kZWNvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19kZWNvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmcvY29ubmVjdGlvbi5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJi0tcmlnaHQge1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLS10b3Atc2VwYXJhdG9yIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmX19saW5lIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gIH1cblxuICAmX19zaWduIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IHNpemUoNDApIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cbn1cbiIsIi5jaGF0IHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiBzaXplKDMyKTtcbiAgYm90dG9tOiBzaXplKDE2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB3aWR0aDogcmVtKDQwcHgpO1xuICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogMCAzcHggMjZweCAtNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLWluLW91dDtcblxuICAmX19pY29uIHtcbiAgICB3aWR0aDogcmVtKDIwcHgpO1xuICAgIGhlaWdodDogcmVtKDI1cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDI2cHggLTRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTcpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICB3aWR0aDogc2l6ZSg0MCk7XG4gICAgaGVpZ2h0OiBzaXplKDQwKTtcblxuICAgICZfX2ljb24ge1xuICAgICAgd2lkdGg6IHNpemUoMjApO1xuICAgICAgaGVpZ2h0OiBzaXplKDI1KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICByaWdodDogc2l6ZSgxNik7XG4gIH1cbn1cbiIsIi5jcmVlcGluZy1saW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3RyYWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGl0bGVCaWc7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgcGFkZGluZzogMCBzaXplKDQwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFuaW1hdGlvbjogY3JlZXBpbmctbGluZSAyMHMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgJi0tbm9wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4iLCIuZWxlbS1ob3ZlciB7XG4gIHdpZHRoOiB2YXIoLS1lbGVtZW50LXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1lbGVtZW50LWhlaWdodCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1zbWFsbCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tZWwtdGVhbS13aWR0aCkgLSAxcHgpO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1lbC10ZWFtLWhlaWdodCkgLSAxcHgpO1xuICB9XG5cbiAgJl9fZWxlbSB7XG4gICAgd2lkdGg6IHNpemUoMTApO1xuICAgIGhlaWdodDogc2l6ZSgxMCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgJi0tdGwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgICYtLXRyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgICYtLWJsIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLS1iciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fZWxlbSB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mcmFtZXdvcmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHNpemUoMTYpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcGVyc3BlY3RpdmU6IDMwcmVtO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAmLS1mci0xMDAge1xuICAgIC5mcmFtZXdvcmtfX25hbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItMTAwKTtcbiAgICB9XG4gIH1cblxuICAmLS1mci0yMDAge1xuICAgIC5mcmFtZXdvcmtfX25hbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItMjAwKTtcbiAgICB9XG4gIH1cblxuICAmLS1mci0zMDAge1xuICAgIC5mcmFtZXdvcmtfX25hbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItMzAwKTtcbiAgICB9XG4gIH1cblxuICAmLS1mci00MDAge1xuICAgIC5mcmFtZXdvcmtfX25hbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItNDAwKTtcbiAgICB9XG4gIH1cblxuICAmLS1mci01MDAge1xuICAgIC5mcmFtZXdvcmtfX25hbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItNTAwKTtcbiAgICB9XG4gIH1cblxuICAmLS1mci02MDAge1xuICAgIC5mcmFtZXdvcmtfX25hbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItNjAwKTtcbiAgICB9XG4gIH1cblxuICAmLS1mci03MDAge1xuICAgIC5mcmFtZXdvcmtfX25hbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItNzAwKTtcbiAgICB9XG4gIH1cblxuICAmX19ib3gge1xuICAgIHdpZHRoOiBzaXplKDEyOCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gIH1cblxuICAmX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4NSU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA2NSU7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSB0ZXh0TGlua007XG4gICAgd2lkdGg6IHNpemUoMTI4KTtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgcGFkZGluZzogc2l6ZSg1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcblxuICAgICYtLWZyLTEwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci0xMDApO1xuICAgIH1cblxuICAgICYtLWZyLTIwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci0yMDApO1xuICAgIH1cblxuICAgICYtLWZyLTMwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci0zMDApO1xuICAgIH1cblxuICAgICYtLWZyLTQwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci00MDApO1xuICAgIH1cblxuICAgICYtLWZyLTUwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci01MDApO1xuICAgIH1cblxuICAgICYtLWZyLTYwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci02MDApO1xuICAgIH1cblxuICAgICYtLWZyLTcwMCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mci03MDApO1xuICAgIH1cblxuICAgICYtLWZyLWdyZXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZnItZ3JleSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmOmhvdmVyICZfX2JveCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyICZfX25hbWUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDM2MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fYm94LFxuICAgICZfX25hbWUge1xuICAgICAgd2lkdGg6IHNpemUoOTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2JveCB7XG4gICAgICB3aWR0aDogc2l6ZSgxNDQpO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBhc3BlY3QtcmF0aW86IHVuc2V0O1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJltjbGFzcyo9Jy0tZnInXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgZ2FwOiBzaXplKDgpO1xuXG4gICAgJl9fbmFtZSB7XG4gICAgICBmb250LXNpemU6IHNpemUoMTMpO1xuICAgIH1cblxuICAgICZfX2JveCB7XG4gICAgICB3aWR0aDogc2l6ZSgxMDQpO1xuICAgICAgLy8gaVBob25lMTIg0L3QtSDRgNCw0LHQvtGC0LDQtdGCIGFzcGVjdC1yYXRpb1xuICAgICAgaGVpZ2h0OiBjYWxjKHNpemUoMTA0KSAqIDEvMSk7XG4gICAgfVxuICB9XG59XG4iLCIuZnJhbWV3b3Jrcy1pbmZvIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgwLCAxZnIpIG1pbi1jb250ZW50IG1pbm1heCgwLCAxZnIpO1xuICByb3ctZ2FwOiBzaXplKDg1KTtcblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSB0aXRsZUZyYW1ld29ya3M7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBncmlkLWNvbHVtbjogMi82O1xuICAgIGdyaWQtcm93OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX3RleHQtYm94IHtcbiAgICBncmlkLXJvdzogMztcbiAgICBncmlkLWNvbHVtbjogMy81O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHNpemUoNCk7XG4gIH1cblxuICAmX19zdWJ0ZXh0IHtcbiAgICBAaW5jbHVkZSB0ZXh0TGlua007XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnPic7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzwnO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX3RleHQge1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICByb3ctZ2FwOiBzaXplKDIwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJl9fdGV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICZfX3RleHQtYm94IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIubWFpbi1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBzaXplKDI0Myk7XG4gIGhlaWdodDogc2l6ZSgzMik7XG5cbiAgJl9faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgd2lkdGg6IHZ3LXRvLXB4KDI0Myk7XG4gICAgaGVpZ2h0OiB2dy10by1weCgzMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICB3aWR0aDogc2l6ZSgxODApO1xuICAgIGhlaWdodDogc2l6ZSgzMCk7XG4gIH1cbn1cbiIsIi5udW1iZXItZWxlbSB7XG4gIEBpbmNsdWRlIHRpdGxlSDU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgJl9fb3BhY2l0eSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIH1cblxuICAmLS1mb3Itd2hpdGUge1xuICAgIC5udW1iZXItZWxlbV9fb3BhY2l0eSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cbn1cblxuW2lkKj0nYW5jaG9yJ10ge1xuICBzY3JvbGwtbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIDQwcHgpO1xufVxuIiwiLnBob25lcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAmX19saW5rIHtcbiAgICBAaW5jbHVkZSB0ZXh0UztcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAucGhvbmVzX19zZWNvbmR0ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDE2cHgpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgJl9fbGluazpudGgtY2hpbGQoZXZlbikge1xuICAgICAgLnBob25lc19fc2Vjb25kdGV4dCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wcmludGVkIHtcbiAgZm9udC1rZXJuaW5nOiBub25lO1xuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gICAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW47XG4gICAgLy8gYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuXG4gICAgJi52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fY3Vyc29yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IHNpemUoMjApIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGFuaW1hdGlvbjogY3Vyc29yLWJsaW5rIDFzIHN0ZXAtZW5kIGluZmluaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbi1yaWdodDogcmVtKC0xOHB4KTtcblxuICAgICYtLXNtYWxsIHtcbiAgICAgIGJvcmRlci13aWR0aDogc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fY3Vyc29yIHtcbiAgICAgIGJvcmRlci13aWR0aDogdnctdG8tcHgoMjApO1xuXG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdnctdG8tcHgoMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fY3Vyc29yIHtcbiAgICAgIGJvcmRlci13aWR0aDogc2l6ZSgxMCk7XG4gICAgfVxuICB9XG59XG4iLCJbZGF0YS1zY3JhbWJsZV0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgfVxufVxuIiwiLnRleHQtb3BhY2l0eSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuXG4gICYtLWNvbnRyYXN0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgfVxufVxuIiwiW2RhdGEtdGFicy1ibG9ja3NdID4gKiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBkaXNwbGF5LW5vbmUgdmFyKC0tdHJhbnMtYmFzZSk7XG4gIH1cbn1cbiIsIi5idG4tY29ybmVycyB7XG4gIHdpZHRoOiBzaXplKDI0KTtcbiAgLy8gaVBob25lMTIg0L3QtSDRgNCw0LHQvtGC0LDQtdGCIGFzcGVjdC1yYXRpb1xuICBoZWlnaHQ6IGNhbGMoc2l6ZSgyNCkgKiAxLzEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2JnL2Nvcm5lcnMtd2hpdGUuc3ZnJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cbiAgJl9faWNvbiB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogc2l6ZSgxNSk7XG4gICAgaGVpZ2h0OiBzaXplKDE1KTtcbiAgfVxuXG4gICYtLWJvcmRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYmcvY29ybmVycy1ib3JkZXIuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG5cbiAgJi0tc2l6ZS1sIHtcbiAgICB3aWR0aDogc2l6ZSg0MCk7XG4gICAgLy8gaVBob25lMTIg0L3QtSDRgNCw0LHQvtGC0LDQtdGCIGFzcGVjdC1yYXRpb1xuICAgIGhlaWdodDogY2FsYyhzaXplKDQwKSAqIDEvMSk7XG4gIH1cbn1cbiIsIi5idG4ge1xuICBAaW5jbHVkZSB0aXRsZUg1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBzaXplKDQpO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1pbi1oZWlnaHQ6IHNpemUoNDApO1xuICBwYWRkaW5nOiBzaXplKDEwKSBzaXplKDIwKTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8vIHN0YXRlc1xuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmhvdmVyOm5vdCguaXMtZGlzYWJsZWQpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmLS12YXItd2hpdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDNweCAyNnB4IC00cHggcmdiKDI1NSAyNTUgMjU1IC8gNTclKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gICYtLXZhci1ibGFjayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDE0cHggLTRweCB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICB9XG5cbiAgJi0tdmFyLW5vYm9yZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgcGFkZGluZzogc2l6ZSgxMSkgMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYtLXZhci1ub2JvcmRlci13aGl0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IHNpemUoMTEpIDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gTUVESUFcbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDEwKSB2dy10by1weCgyMCk7XG4gICAgbWluLWhlaWdodDogdnctdG8tcHgoNDApO1xuXG4gICAgJi0tdmFyLW5vYm9yZGVyIHtcbiAgICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDExKSAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIHBhZGRpbmc6IHNpemUoNykgc2l6ZSgxNik7XG4gICAgbWluLWhlaWdodDogc2l6ZSgzMik7XG5cbiAgICAmLS12YXItbm9ib3JkZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSg4KSAwO1xuICAgIH1cblxuICAgICYtLXZhci1ub2JvcmRlci13aGl0ZSB7XG4gICAgICBwYWRkaW5nOiBzaXplKDgpIDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBwYWRkaW5nOiBzaXplKDExKSBzaXplKDE5KTtcbiAgICBtaW4taGVpZ2h0OiBzaXplKDQwKTtcblxuICAgICYtLXNpemUtcyB7XG4gICAgICBwYWRkaW5nOiBzaXplKDcpIHNpemUoMTUpO1xuICAgICAgbWluLWhlaWdodDogc2l6ZSgzMik7XG4gICAgfVxuICB9XG59XG4iLCIuZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fZXJyb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmhhcy1lcnJvciAmX19lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi5pbnB1dCxcbi50ZXh0YXJlYSB7XG4gIEBpbmNsdWRlIHRpdGxlSDQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOlxuICAgIGJvcmRlciB2YXIoLS10cmFucy1iYXNlKSxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zLWJhc2UpLFxuICAgIGNvbG9yIHZhcigtLXRyYW5zLWJhc2UpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuXG4gIEBhdC1yb290IHRleHRhcmVhI3smfSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFucy1iYXNlKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAvLyB2YXJpYW50c1xuICAmLS12YXItcHJpbWFyeSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG5cbiAgLy8gc2l6ZXNcbiAgJi0tc2l6ZS1iYXNlIHtcbiAgICBoZWlnaHQ6ICRmaWVsZC1iYXNlO1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICB9XG5cbiAgJi0tc2l6ZS1zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIH1cblxuICBAYXQtcm9vdCB0ZXh0YXJlYSN7Jn0tLXNpemUtYmFzZSB7XG4gICAgbWluLWhlaWdodDogJGZpZWxkLWJhc2UgKiAyO1xuICB9XG59XG5cbi50ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IHNpemUoMjAwKTtcbiAgbWF4LWhlaWdodDogc2l6ZSg0MDApO1xuICBwYWRkaW5nOiBzaXplKDExKTtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAvLyBNRURJQVxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgbWluLWhlaWdodDogdnctdG8tcHgoMjAwKTtcbiAgICBtYXgtaGVpZ2h0OiB2dy10by1weCg0MDApO1xuICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDExKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgbWluLWhlaWdodDogc2l6ZSgxNDApO1xuICB9XG59XG4iLCIubGluayB7XG4gIEBpbmNsdWRlIHRpdGxlSDU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiBzaXplKDQpO1xuICBwYWRkaW5nOiBzaXplKDExKSAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuaXMtZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kaXNhYmxlZCk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IHNpemUoMTYpO1xuICAgIGhlaWdodDogc2l6ZSgxNik7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmLS1ncmV5IHtcbiAgICAgIGdhcDogcmVtKDRweCk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cblxuICAmLS1jb2xvci1ibGFjayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgIH1cbiAgfVxuXG4gICYtLXNpemUtbSB7XG4gICAgQGluY2x1ZGUgdGV4dExpbmtNO1xuICB9XG5cbiAgJi0tbm9wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDExKSAwO1xuICAgIGdhcDogdnctdG8tcHgoNCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBwYWRkaW5nOiBzaXplKDgpIDA7XG5cbiAgICAmLS1ub3BhZGRpbmcge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5waWN0dXJlIHtcbiAgLS13aWR0aDogYXV0bztcbiAgLS1hc3BlY3QtcmF0aW86IGF1dG87XG4gIC0tcmFkaXVzOiAwO1xuICAtLW9iamVjdC1maXQ6IGZpbGw7XG4gIC0tb2JqZWN0LXBvc2l0aW9uOiB1bnNldDtcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLVxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHZhcigtLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0LXJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblxuICAmX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiB2YXIoLS1vYmplY3QtZml0KTtcbiAgICBvYmplY3QtcG9zaXRpb246IHZhcigtLW9iamVjdC1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi5yYWRpbyB7XG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBzaXplKDgpIHNpemUoNCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBjaGVja2VkXG4gICZfX2lucHV0W3R5cGU9J3JhZGlvJ106d2hlcmUoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXZpc2libGUpIH4gJl9fdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICZfX2lucHV0W3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKTp3aGVyZSg6Zm9jdXMsIDpmb2N1cy12aXNpYmxlKSB+ICZfX3RpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICYud2hpdGUgJl9faW5wdXRbdHlwZT0ncmFkaW8nXTpjaGVja2VkIH4gJl9fdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICAucmFkaW9fX3RpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLndoaXRlOmhvdmVyIHtcbiAgICAgIC5yYWRpb19fdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiB2dy10by1weCg4KSB2dy10by1weCg0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgcGFkZGluZzogc2l6ZSgzKSBzaXplKDMpO1xuICAgIH1cbiAgfVxufVxuIiwiLnN3aXBlci1idG4ge1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgd2lkdGg6IHNpemUoNDApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9jb3JuZXJzLWJvcmRlci5zdmcnKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB9XG5cbiAgJjpub3QoLnN3aXBlci1idXR0b24tZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmUge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IHNpemUoMTYpO1xuICAgIGhlaWdodDogc2l6ZSgxNik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICY6aG92ZXI6bm90KC5zd2lwZXItYnV0dG9uLWRpc2FibGVkKTo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIuc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHNpemUoMjgpO1xuICBoZWlnaHQ6IHNpemUoMTYpO1xuXG4gICYuYWN0aXZlICZfX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNoZWNrZWQpO1xuICB9XG5cbiAgJi5hY3RpdmUgJl9fc3dpdGNoIHtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSBzaXplKDE0KSk7XG4gIH1cblxuICAmLmFjdGl2ZSAmX19pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY2hlY2tlZCk7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDFweDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMjcwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICB9XG5cbiAgJl9fc3dpdGNoIHtcbiAgICB3aWR0aDogc2l6ZSgxNCk7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIGxlZnQ6IDFweDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3M7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICB3aWR0aDogc2l6ZSg5KTtcbiAgICBoZWlnaHQ6IHNpemUoNCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG4gIH1cblxuICAmX19jaGVja2JveCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICY6Y2hlY2tlZCArICZfX2JvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY2hlY2tlZCk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgJl9fc3dpdGNoIHtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIHNpemUoMTQpKTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQgKyAmX19pY29uIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX3N3aXRjaCB7XG4gICAgICAvLyBpUGhvbmUxMiDQvdC1INGA0LDQsdC+0YLQsNC10YIgYXNwZWN0LXJhdGlvXG4gICAgICBoZWlnaHQ6IGNhbGMoc2l6ZSgxNCkgKiAxLzEpO1xuICAgIH1cbiAgfVxufVxuIiwiLmJhc2UtYWNjb3JkaW9uIHtcbiAgJl9faGVhZCB7XG4gICAgQGluY2x1ZGUgdGl0bGVINDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgY29sb3IgMC4zcyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBncmlkLWNvbHVtbjogNy8xMjtcbiAgfVxuXG4gICZfX2J0biB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGdyaWQtY29sdW1uOiAxMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgd2lkdGg6IHNpemUoMjApO1xuICAgIGhlaWdodDogc2l6ZSgyMCk7XG5cbiAgICAmLS1taW51cyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGV4dE07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgZ3JpZC1jb2x1bW46IDcvLTE7XG4gICAgcGFkZGluZzogc2l6ZSgyNCkgMDtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICAuYmFzZS1hY2NvcmRpb25fX2hlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmJhc2UtYWNjb3JkaW9uX19idG4ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cblxuICAgIC5iYXNlLWFjY29yZGlvbl9faWNvbiB7XG4gICAgICAmLS1taW51cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgJi0tcGx1cyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaG92ZXIpIHtcbiAgICAmX19oZWFkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgICZfX2hlYWQ6aG92ZXIgJl9fYnRuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9faGVhZCxcbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDI0KSAwO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgd2lkdGg6IHZ3LXRvLXB4KDIwKTtcbiAgICAgIGhlaWdodDogdnctdG8tcHgoMjApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2hlYWQsXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiBzaXplKDE2KSAwO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgd2lkdGg6IHNpemUoMTYpO1xuICAgICAgaGVpZ2h0OiBzaXplKDE2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX190aXRsZSxcbiAgICAmX19jb250ZW50IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxLzEyO1xuICAgIH1cblxuICAgICZfX251bWJlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLmJsb2NrLWJnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICAvLyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9iZy9jb2RlLnBuZycpO1xuICAvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIC8vIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICZfX3Nwb3RsaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDklIDEyJSwgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KSAwJSwgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCkgMjAlKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICZfX2NvZGUge1xuICAgIEBpbmNsdWRlIHRleHRTO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICZfX3Nwb3RsaWdodCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2NvZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay13aGl0ZS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9kb3QtZ3JleS5zdmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweDtcbn1cbiIsIi5jbGllbnQge1xuICBtaW4taGVpZ2h0OiBzaXplKDMyMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBwYWRkaW5nOiBzaXplKDI0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmX190b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19uYW1lLFxuICAmX19udW1iZXIge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgLS13aWR0aDogI3tzaXplKDIxNil9O1xuICAgIC0tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXgtaGVpZ2h0OiBzaXplKDQ4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICY6aG92ZXIgJl9faW1nIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDI0KTtcbiAgICBtaW4taGVpZ2h0OiB2dy10by1weCgzMjApO1xuXG4gICAgJl9faW1nIHtcbiAgICAgIC0td2lkdGg6ICN7dnctdG8tcHgoMjE2KX07XG4gICAgICBtYXgtaGVpZ2h0OiB2dy10by1weCg0OCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgcGFkZGluZzogc2l6ZSgxNik7XG4gICAgbWluLWhlaWdodDogc2l6ZSgyNjApO1xuXG4gICAgJl9faW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IHNpemUoNDApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIG1pbi1oZWlnaHQ6IHNpemUoMjEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgbWluLWhlaWdodDogc2l6ZSgyMDApO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJl9fdG9wIHtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cblxuICAgICZfX251bWJlciB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgbWF4LWhlaWdodDogc2l6ZSgzNik7XG4gICAgfVxuICB9XG59XG4iLCIuY29va2llLWFjY2VwdCB7XG4gIEBpbmNsdWRlIGJsdXIoNXB4KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktOTApO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAxJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICB6LWluZGV4OiB2YXIoLS16LW92ZXItY2hhdCk7XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBwYWRkaW5nOiBzaXplKDE2KSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IHNpemUoMzIpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGV4dExpbmtNO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fYm9keSB7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDMyKTtcbiAgICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDE2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2JvZHkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMDtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMTYpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tcmVzdWx0LXRlbXAge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICZfX2Jsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIuZm9ybS1yZXN1bHQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgc2l6ZSg2MTApIG1pbm1heCgwLCAxZnIpO1xuXG4gICYtLXdoaXRlICZfX2xvdHRpZSB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygxMDAlKTtcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogc2l6ZSgyNCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcm93LWdhcDogc2l6ZSgxNik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogc2l6ZSg2MjApO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSB0ZXh0TTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgfVxuXG4gICZfX2xvdHRpZSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgaGVpZ2h0OiA3MHZoO1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoNDAlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE1FRElBXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIHZ3LXRvLXB4KDYxMCkgbWlubWF4KDAsIDFmcik7XG5cbiAgICAmX19oZWFkIHtcbiAgICAgIHJvdy1nYXA6IHZ3LXRvLXB4KDE2KTtcbiAgICAgIG1heC13aWR0aDogdnctdG8tcHgoNjIwKTtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIGdhcDogdnctdG8tcHgoMjQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgc2l6ZSg1MjApIG1pbm1heCgwLCAxZnIpO1xuXG4gICAgJl9faGVhZCB7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoNTIwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShoZCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX2xvdHRpZSB7XG4gICAgICBncmlkLXJvdzogMTtcblxuICAgICAgJi0tY29sLTEge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIH1cblxuICAgICAgJi0tY29sLTIge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2xvdHRpZSB7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIGhlaWdodDogNjV2aDtcblxuICAgICAgJi0tY29sLTEge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIH1cblxuICAgICAgJi0tY29sLTIge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtIHtcbiAgJi5pcy1zdWJtaXR0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLS13aGl0ZSAmX19pbmZvIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICYtLXdoaXRlIHtcbiAgICAuaW5wdXQtZWxlbV9fbGFiZWw6OmJlZm9yZSxcbiAgICAuaW5wdXQtZWxlbV9fbGFiZWw6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtKDEwMDBweCk7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0cHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgdGV4dEw7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gIH1cblxuICAmX19pbnB1dHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBnYXA6IHJlbSg0cHgpO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSgyNHB4KTtcbiAgICB9XG4gIH1cblxuICAmX19zdWJtaXQge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBAaW5jbHVkZSB0ZXh0UztcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgICBtYXgtd2lkdGg6IHNpemUoMzgwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9faW5mbyBhW2hyZWZdIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC8vIE1FRElBXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19pbmZvIHtcbiAgICAgIG1heC13aWR0aDogdnctdG8tcHgoMzgwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19oZWFkIHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg1NDApO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDI4OCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9faGVhZCB7XG4gICAgICBtYXgtd2lkdGg6IHJlbSg0OTBweCk7XG4gICAgfVxuICB9XG59XG4iLCIuaGVhZGVyLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fbGlzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlIC0gc2l6ZSg1KSk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogc2l6ZSgyNjApO1xuICAgIGNvdW50ZXItcmVzZXQ6IHN1Ymxpc3Q7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tcHktaGVhZGVyKSArIHNpemUoMTUpKTtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgc2l6ZSg1NikpIG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcwMDEnICcuJyBjb3VudGVyKHN1Ymxpc3QpICcuJztcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdWJsaXN0O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19saXN0IHtcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gdnctdG8tcHgoNSkpO1xuICAgICAgd2lkdGg6IHZ3LXRvLXB4KDI2MCk7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1weS1oZWFkZXIpICsgdnctdG8tcHgoMTUpKTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIHZ3LXRvLXB4KDU2KSkgbWlubWF4KDAsIDFmcik7XG4gICAgfVxuICB9XG59XG4iLCIuaHlzdG1vZGFsIHtcbiAgei1pbmRleDogdmFyKC0tei1tb2RhbCk7XG5cbiAgJi0tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuaHlzdG1vZGFsIHtcbiAgICAgICZfX3dyYXAge1xuICAgICAgICBncmlkLXJvdzogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmX193aW5kb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Nsb3NlLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHNpemUoMTYpO1xuICAgIHJpZ2h0OiB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2Nsb3NlLW1lbnUge1xuICAgICAgdG9wOiB2dy10by1weCgxNik7XG4gICAgfVxuICB9XG59XG4iLCIuaW5wdXQtZWxlbSB7XG4gIHBhZGRpbmc6IHNpemUoNSkgMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi0tcmVxdWlyZWQge1xuICAgIC5pbnB1dC1lbGVtX19ib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1yYWRpbyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICYtLXJhZGlvICZfX2xhYmVsIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGhlaWdodDogc2l6ZSgyNCk7XG4gICAgfVxuICB9XG5cbiAgJjpoYXMoaW5wdXQuaGFzLWVycm9yKSAmX19lcnJvcixcbiAgJjpoYXMoaW5wdXQuaGFzLWVycm9yKSAmX19lcnJvci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXQtcnVsZS1uby11bmtub3duICovXG4gICAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgc2l6ZSgxMCk7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogc2l6ZSg0KTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICAmX19ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICYtLWdhcCB7XG4gICAgICBnYXA6IHNpemUoMjApO1xuICAgIH1cbiAgfVxuXG4gICZfX2Vycm9yLFxuICAmX19lcnJvci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogcmVtKDRweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi1iZWhhdmlvcjogYWxsb3ctZGlzY3JldGU7XG4gIH1cblxuICAmX19lcnJvciAuanVzdC12YWxpZGF0ZS1lcnJvci1sYWJlbCxcbiAgJl9fZXJyb3ItY29udGFpbmVyIC5qdXN0LXZhbGlkYXRlLWVycm9yLWxhYmVsIHtcbiAgICBAaW5jbHVkZSB0ZXh0RXJyb3JJbnB1dDtcbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHZhcigtLWNvbG9yLXNlY29uZGFyeS0zMCk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAwLjNzO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cblxuICAmLmVycm9yICZfX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGF0LXJ1bGUtbm8tdW5rbm93biAqL1xuICAgIEBzdGFydGluZy1zdHlsZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQgJl9fbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmLndoaXRlICZfX2lucHV0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhvdmVyKSB7XG4gICAgLndoaXRlICZfX2xhYmVsOmhvdmVyICZfX2lucHV0IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB9XG5cbiAgICAmX19sYWJlbDpob3ZlciAmX19pbnB1dCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgcGFkZGluZzogdnctdG8tcHgoNSkgMDtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDAgdnctdG8tcHgoMTIpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiB2dy10by1weCg1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgJi0tZ2FwIHtcbiAgICAgICAgZ2FwOiB2dy10by1weCgyMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZXJyb3Ige1xuICAgICAgbWFyZ2luLXRvcDogdnctdG8tcHgoNCk7XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYShkZXNrdG9wKSB7XG4gICAgJl9fYm94IHtcbiAgICAgICYtLWdhcCB7XG4gICAgICAgIGdhcDogc2l6ZSg4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoc21hcnRwaG9uZSkge1xuICAgICYtLXJhZGlvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMyk7XG4gICAgfVxuXG4gICAgJi0tcmFkaW8gJl9fdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDQpO1xuICAgIH1cblxuICAgICYtLXJhZGlvICZfX2xhYmVsIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiBzaXplKDIxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5pbnB1dC10ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICZfX2JveCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IG1pbm1heCgwLCAxZnIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiBzaXplKDEyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuXG4gICZfX2Vycm9yIHtcbiAgICBAaW5jbHVkZSB0ZXh0WFM7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBtYXJnaW4tdG9wOiBzaXplKDQpO1xuICAgIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbiAgfVxuXG4gICYuZXJyb3Ige1xuICAgIC5pbnB1dC10ZXh0YXJlYV9fZXJyb3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXQtcnVsZS1uby11bmtub3duICovXG4gICAgICBAc3RhcnRpbmctc3R5bGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmLmRpc2FibGVkICZfX2xhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQgJl9fYm94IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmLndoaXRlICZfX2JveCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICYud2hpdGUgJl9fdGV4dGFyZWEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19sYWJlbCB7XG4gICAgICBwYWRkaW5nOiB2dy10by1weCgxMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX2Vycm9yIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3LXRvLXB4KDQpO1xuICAgIH1cbiAgfVxufVxuIiwiLm1hbmFnZXItYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sdW1uLWdhcDogcmVtKDI0cHgpO1xuXG4gICZfX3BpYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiByZW0oODBweCk7XG4gICAgaGVpZ2h0OiByZW0oODBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgcGljdHVyZWQtaW1nO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICByb3ctZ2FwOiByZW0oNHB4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbSgzMjBweCk7XG4gIH1cblxuICAmX19pbmZvIHAsXG4gICZfX2luZm8gYSB7XG4gICAgQGluY2x1ZGUgdGV4dFM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX2luZm8gYSB7XG4gICAgcGFkZGluZy1ibG9jazogcmVtKDExcHgpO1xuICB9XG5cbiAgLy8gTUVESUFcbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9faW5mbyBwLFxuICAgICZfX2luZm8gYSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0WFM7XG4gICAgfVxuXG4gICAgJl9fcGljIHtcbiAgICAgIHdpZHRoOiByZW0oNjRweCk7XG4gICAgICBoZWlnaHQ6IHJlbSg2NHB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShkZXNrdG9wKSB7XG4gICAgY29sdW1uLWdhcDogcmVtKDE2cHgpO1xuICB9XG59XG4iLCIubW9kYWwtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS16LW1vZGFsKTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dDtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gICZfX2hlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9faGVhZC1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1weS1oZWFkZXIpIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBAaW5jbHVkZSBibHVyKDI0cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSgzMnB4KTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogMCAwIHZhcigtLW1haW4tcGFkZGluZykgcmVtKDE2cHgpO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0O1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgY29sdW1uLWdhcDogcmVtKDEwcHgpO1xuXG4gICAgQGluY2x1ZGUgdGV4dFhTO1xuXG4gICAgJi10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHJlbSg4cHgpIDA7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgcmVtKDg4cHgpKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIGdhcDogcmVtKDRweCk7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJzAwJyBjb3VudGVyKGxpc3QpICcuJztcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VibGlzdCB7XG4gICAgY291bnRlci1yZXNldDogc3VibGlzdDtcbiAgfVxuXG4gICZfX3N1Yml0ZW0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgcmVtKDg4cHgpKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBnYXA6IHJlbSg0cHgpO1xuICAgIHBhZGRpbmc6IHJlbSg4cHgpIDA7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcwMDEnICcuJyBjb3VudGVyKHN1Ymxpc3QpICcuJztcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdWJsaXN0O1xuICAgIH1cbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiByZW0oOHB4KTtcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIEBpbmNsdWRlIHRleHRYUztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEobm90ZWJvb2spIHtcbiAgICAmX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDAgdmFyKC0tbWFpbi1wYWRkaW5nKSByZW0oMTZweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoc21hcnRwaG9uZSkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcblxuICAgICAgJjpoYXMoLm1vZGFsLW1lbnVfX3N1Ymxpc3QpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMycHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3Bob25lcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBtaW4tY29udGVudDtcbiAgICAgIGNvbHVtbi1nYXA6IHJlbSgxNnB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiByZW0oOHB4KSAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNnB4KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgQGluY2x1ZGUgbGluZS1jbGFtcCgxKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0ZXh0TGluaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogcmVtKDE2cHgpO1xuICAgIGhlaWdodDogcmVtKDE2cHgpO1xuICB9XG5cbiAgJi0tc3VibmF2IHtcbiAgICAucGFnZS1uYXZfX2xpbms6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAmX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMjRweCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAmLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogc2l6ZSgzMik7XG4gIHBhZGRpbmctYm90dG9tOiBzaXplKDIwMCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgIHBhZGRpbmctdG9wOiB2dy10by1weCgzMik7XG4gICAgcGFkZGluZy1ib3R0b206IHZ3LXRvLXB4KDIwMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBwYWRkaW5nLXRvcDogc2l6ZSgyNCk7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoMTQ0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDExMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIHBhZGRpbmctdG9wOiBzaXplKDE2KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSg4OCk7XG4gIH1cbn1cbiIsIi5wcmVsb2FkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHotaW5kZXg6IHZhcigtLXotbW9kYWwpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmX19ib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmX19lbC1tYWluIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IHJlbSg1cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDUwdmg7XG4gICAgZm9udC1zaXplOiBzaXplKDI2KTtcbiAgICBsaW5lLWhlaWdodDogMTE1JTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fZWwtbWFpbiB7XG4gICAgICBmb250LXNpemU6IHZ3LXRvLXB4KDI2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19lbC1tYWluIHtcbiAgICAgIGZvbnQtc2l6ZTogc2l6ZSgyNCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fZWwtbWFpbiB7XG4gICAgICBmb250LXNpemU6IHNpemUoMjIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fZWwtbWFpbiB7XG4gICAgICBmb250LXNpemU6IHNpemUoMTgpO1xuICAgIH1cbiAgfVxufVxuXG4ucHJlbG9hZGVyLW9wZW5lZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNjcm9sbC13aWR0aCk7XG59XG4iLCIucHJvZHVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYXNwZWN0LXJhdGlvOiA1NzAvNTIwO1xuXG4gICZfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IHNpemUoMzIpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogc2l6ZSg1MCk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgcmlnaHQ6IDJweDtcbiAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTRkZWcsIHJnYmEoOCwgOCwgOCwgMSkgMCUsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCkgNTAlLCByZ2JhKDgsIDgsIDgsIDEpIDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvcmRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBsZWZ0OiAtMnB4O1xuICAgIGJvdHRvbTogLTJweDtcbiAgICByaWdodDogLTFweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBwYWRkaW5nOiAwIHNpemUoMzIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgd2lkdGg6IHNpemUoMjApO1xuICAgIGhlaWdodDogc2l6ZSgyMCk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAmX19waWN0dXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHNpemUoMjUwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgJl9fYXNjaWkge1xuICAgIEBpbmNsdWRlIHRleHRQcmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjMpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSwgcmdiYSgwLCAwLCAwLCAwLjMpKTtcbiAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gICAgYm94LXNoYWRvdzogMCAyNXB4IDE4cHggLTExcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjRzIGVhc2Utb3V0LCBib3JkZXItd2lkdGggMC40cyBlYXNlLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX2FzY2lpLXByZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDMgLyB2YXIoLS1zY2FsZS12dykgKiB2YXIoLS12dywgMXZ3KSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2YxZjFmMSwgIzk5YWVkYyk7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXG4gICAgY29kZSB7XG4gICAgICBmb250LXNpemU6IGNhbGMoMyAvIHZhcigtLXNjYWxlLXZ3KSAqIHZhcigtLXZ3LCAxdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2FzY2lpLWltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0ZXh0TGlua007XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICY6aG92ZXIgJl9fYm9yZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6aG92ZXIgJl9fYXNjaWkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX190b3Age1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgICY6aG92ZXIgJl9fdGl0bGUge1xuICAgICAgYW5pbWF0aW9uOiBjcmVlcGluZy1saW5lIDIwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX190ZXh0IHtcbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDUwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBhc3BlY3QtcmF0aW86IDQzMC80MjU7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMjQpIDA7XG4gICAgfVxuXG4gICAgJl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IDAgc2l6ZSgyNCk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICB3aWR0aDogc2l6ZSgxNik7XG4gICAgICBoZWlnaHQ6IHNpemUoMTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgIGFzcGVjdC1yYXRpbzogYXV0bztcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgZ2FwOiBzaXplKDQzKTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX3BpY3R1cmUge1xuICAgICAgd2lkdGg6IHNpemUoMTgwKTtcbiAgICAgIC8vIGlQaG9uZTEyINC90LUg0YDQsNCx0L7RgtCw0LXRgiBhc3BlY3QtcmF0aW9cbiAgICAgIGhlaWdodDogY2FsYyhzaXplKDE4MCkgKiAxLzEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgzNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBtaW4taGVpZ2h0OiBzaXplKDM4MCk7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMTYpIDA7XG4gICAgfVxuXG4gICAgJl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IDAgc2l6ZSgxNik7XG4gICAgfVxuICB9XG59XG4iLCIucHJvamVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogc2l6ZSg4MDApO1xuXG4gIC5wYWdlLXByb2R1Y3QtLW5ldyAmIHtcbiAgICAucHJvamVjdF9fYXdhcmRzLFxuICAgIC5wcm9qZWN0X19ib3R0b20ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19ib3JkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgbGVmdDogLTJweDtcbiAgICBib3R0b206IC0ycHg7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgfVxuXG4gICZfX2NvdmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjNzIGVhc2UtaW47XG4gIH1cblxuICAmX19waWN0dXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmX19pbWcge1xuICAgIC0tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXgtd2lkdGg6IDgzJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3RvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogcmVtKDMycHgpO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiByZW0oMzJweCk7XG4gICAgbGVmdDogcmVtKDMycHgpO1xuICAgIHJpZ2h0OiByZW0oMzJweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19vcGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9faW5mby1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiByZW0oMzJweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogcmVtKDIwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS05MCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICAtLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWF4LXdpZHRoOiByZW0oMjUwcHgpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGV4dE07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgbWF4LXdpZHRoOiByZW0oNjAwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX3RleHQtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHJlbSgyMHB4KTtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgfVxuXG4gICZfX2F3YXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHJlbSgzMnB4KTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmX19zdHViIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZ2FwOiBzaXplKDE2KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgICAgIGJhY2tncm91bmQ6ICRncmFkaWVudC1jb250cmFzdCwgdXJsKCcuLi9pbWcvYmcvZG90LnN2ZycpIHJlcGVhdCBjZW50ZXIgLyA4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc3R1Yi1pY29uIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX2ljb24tcGx1cyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhvdmVyKSB7XG4gICAgJjpob3ZlciAmX19ib3JkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX19pbmZvIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6aG92ZXIgJl9fY292ZXIge1xuICAgICAgZmlsdGVyOiBibHVyKDI1cHgpO1xuICAgIH1cblxuICAgICY6aG92ZXIgJl9fc3R1YiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciAmX19pY29uLXBsdXMge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICBtaW4taGVpZ2h0OiB2dy10by1weCg4MDApO1xuXG4gICAgJl9fc3R1YiB7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDE2KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYWRpZW50LWNvbnRyYXN0LCB1cmwoJy4uL2ltZy9iZy9kb3Qtd2hpdGUuc3ZnJykgcmVwZWF0IGNlbnRlciAvIDE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgbWluLWhlaWdodDogc2l6ZSg2NDgpO1xuXG4gICAgJl9fdG9wIHtcbiAgICAgIHRvcDogcmVtKDI0cHgpO1xuICAgICAgbGVmdDogcmVtKDI0cHgpO1xuICAgICAgcmlnaHQ6IHJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgYm90dG9tOiByZW0oMjRweCk7XG4gICAgICBsZWZ0OiByZW0oMjRweCk7XG4gICAgICByaWdodDogcmVtKDI0cHgpO1xuICAgIH1cblxuICAgICZfX2luZm8sXG4gICAgJl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IHJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAmX190ZXh0LWJveCB7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoNTMwKTtcbiAgICB9XG5cbiAgICAmX19zdHViIHtcbiAgICAgIGdhcDogc2l6ZSg4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShkZXNrdG9wKSB7XG4gICAgJl9fbnVtYmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fb3BlbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9iZy9kb3QtZ3JleS5zdmcnKSByZXBlYXQgY2VudGVyIC8gOHB4LCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSAmX19pbmZvIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICYuYWN0aXZlICZfX29wZW4ge1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg1MjUpO1xuICAgIH1cblxuICAgICZfX2luZm8tY2xvc2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogcmVtKDE2cHgpO1xuICAgICAgcmlnaHQ6IHJlbSgxNnB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIH1cblxuICAgICZfX2F3YXJkIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICBmaWx0ZXI6IGludmVydCgxKSBncmF5c2NhbGUoMTUwJSk7XG4gICAgfVxuXG4gICAgJi0tc3R1YiAmX19saW5rIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmLS1zdHViIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBtaW4taGVpZ2h0OiByZW0oNDgwcHgpO1xuXG4gICAgJjpub3QoLnByb2plY3QtLXN0dWIpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fY292ZXIge1xuICAgICAgcGFkZGluZzogcmVtKDE2cHgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IHJlbSg0cHgpO1xuICAgIH1cblxuICAgICZfX3BpY3R1cmUge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICZfX3RvcCxcbiAgICAmX19ib3R0b20sXG4gICAgJl9fcGljdHVyZSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgcGFkZGluZzogcmVtKDE2cHgpO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9faW5mby1jbG9zZSB7XG4gICAgICB0b3A6IHJlbSg4cHgpO1xuICAgICAgcmlnaHQ6IHJlbSg4cHgpO1xuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuIiwiLnJldmlld3Mtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3RodW1icyB7XG4gICAgd2lkdGg6IHJlbSg2NXB4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXB5LXNlY3Rpb24pICsgcmVtKDEwcHgpKTtcbiAgICB9XG4gIH1cblxuXG4gICZfX3RodW1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLnJldmlld3Mtc2xpZGVyX190aHVtYi1jYXJkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLXNlY29uZGFyeS1jb250cmFzdCk7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zd2lwZXItc2xpZGUtbmV4dC5yZXZpZXdzLXNsaWRlcl9fdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpIHRyYW5zbGF0ZVgoc2l6ZSg1KSk7XG4gICAgfVxuXG4gICAgJi5zd2lwZXItc2xpZGUtcHJldi5yZXZpZXdzLXNsaWRlcl9fdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpIHRyYW5zbGF0ZVgoc2l6ZSgtNSkpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RodW1iLWNhcmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IHJlbSgzcHgpO1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgfVxuXG4gICZfX3RodW1iLWltZyB7XG4gICAgLS13aWR0aDogI3tyZW0oMzJweCl9O1xuICAgIC0tcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX2NhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1heC13aWR0aDogcmVtKDc2MHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcHktc2VjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgJl9fYXV0aG9yIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSg0cHgpO1xuICAgIG1heC13aWR0aDogcmVtKDc2MHB4KTtcbiAgfVxuXG4gICZfX3N1Ym5hbWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udHJhc3QpO1xuICB9XG5cbiAgJl9fYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmLS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShub3RlYm9vaykge1xuICAgICZfX3RleHQsXG4gICAgJl9fYXV0aG9yIHtcbiAgICAgIG1heC13aWR0aDogcmVtKDU2MHB4KTtcbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgJi0tcHJldiB7XG4gICAgICAgIGxlZnQ6IHJlbSg4cHgpO1xuICAgICAgfVxuXG4gICAgICAmLS1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IHJlbSg4cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX190ZXh0LFxuICAgICZfX2F1dGhvciB7XG4gICAgICBtYXgtd2lkdGg6IHJlbSg0NjBweCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19idG4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDAgdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zdGFjayB7XG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiByZW0oMTZweCk7XG4gICAgcm93LWdhcDogcmVtKDVweCk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHJlbSg4cHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oOHB4KTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiByZW0oMTJweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg1O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICAtLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgLS1vYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogcmVtKDMycHgpO1xuICAgIGhlaWdodDogcmVtKDI0cHgpO1xuICB9XG5cbiAgJi0tZ3JleSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIH1cblxuICAmLS1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG4iLCIuc3RpY2t5LW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIHZhcigtLW1haW4tcGFkZGluZyk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiByZW0oMTZweCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB6LWluZGV4OiB2YXIoLS16LW1lbnUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcblxuICAmX19lbGVtIHtcbiAgICBAaW5jbHVkZSB0ZXh0WFM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHJlbSg4cHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oOHB4KTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiByZW0oMTJweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5zdGlja3ktbmF2X190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAuc3RpY2t5LW5hdl9fdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBwYWRkaW5nOiByZW0oMTJweCkgMDtcbiAgfVxuXG4gICYuaXMtaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIudGVhbS1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiByZW0oNDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB3aWR0aDogMTAwJTtcblxuICAmX19oZWFkZXIge1xuICAgIGZsZXg6IDAgMCA0OCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBoZWlnaHQ6IHNpemUoNzUwKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcztcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICAudGVhbS1jYXJkX19hc2NpaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGVyLmFjdGl2ZSAmX19ib3R0b20gJl9fdGV4dCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDY3cHggMzVweCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICB9XG5cbiAgJl9fcGljdHVyZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICAtLWFzcGVjdC1yYXRpbzogNTgwLzc1MDtcbiAgICAtLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgIC0tb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fYXNjaWkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgfVxuXG4gICZfX2FzY2lpLXByZSB7XG4gICAgQGluY2x1ZGUgdGV4dFByZU1pZGRsZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIGNvZGUge1xuICAgICAgQGluY2x1ZGUgdGV4dFByZU1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAmX190b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSg4cHgpO1xuICAgIGxlZnQ6IHJlbSg4cHgpO1xuICAgIHJpZ2h0OiByZW0oOHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiByZW0oOHB4KTtcbiAgICBsZWZ0OiByZW0oOHB4KTtcbiAgICByaWdodDogcmVtKDhweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGV4dFhYUztcbiAgfVxuXG4gICZfX3NraWxscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBjb2x1bW4tZ2FwOiByZW0oNXB4KTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IHNpemUoOTApO1xuICB9XG5cbiAgJl9fc2tpbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICc+JztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg1cHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX2hpbnQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSgyNHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICBwOm5vdChbY2xhc3NdKSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0TTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBjb2x1bW4tZ2FwOiByZW0oMTZweCk7XG4gIH1cblxuICAmX19pY29uLWJveCB7XG4gICAgbWFyZ2luOiByZW0oNnB4KSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiByZW0oMTZweCk7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LWhlaWdodDogcmVtKDIwcHgpO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG1heC13aWR0aDogcmVtKDc1cHgpO1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19oZWFkZXIge1xuICAgICAgZmxleDogMCAwIDQ3JTtcbiAgICAgIGhlaWdodDogcmVtKDU2MHB4KTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGhkKSB7XG4gICAgZ2FwOiByZW0oMjBweCk7XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgZmxleDogMCAwIDM1JTtcbiAgICAgIGhlaWdodDogcmVtKDQ2MHB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDQ4cHgpO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICBoZWlnaHQ6IHJlbSg1NjBweCk7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogc2l6ZSgtMjE2KTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgLS1hc3BlY3QtcmF0aW86IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBnYXA6IHJlbSgzMnB4KTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBnYXA6IHJlbSgxMnB4KTtcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgaGVpZ2h0OiBzaXplKDQ2NSk7XG4gICAgfVxuICB9XG59XG4iLCIudGVhbS1zbGlkZXItdGh1bWJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3NsaWRlIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJl9fc2xpZGUuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSAmX19vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktNjApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW47XG4gIH1cblxuICAmX19jYXJkIHtcbiAgICAtLWFzcGVjdC1yYXRpbzogMTUwLzE1MDtcbiAgICAtLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgIC0tb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICB3aWR0aDogcmVtKDE1MHB4KTtcbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgQGluY2x1ZGUgdGV4dE5hbm87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtKDRweCk7XG4gICAgbGVmdDogcmVtKDRweCk7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSB0ZXh0TmFubztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHJlbSg0cHgpO1xuICAgIGxlZnQ6IHJlbSg0cHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICZfX3NsaWRlOmhvdmVyICZfX292ZXJsYXkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmX19zbGlkZTpob3ZlciAmX19uYW1lIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2NhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fY2FyZCB7XG4gICAgICAtLWFzcGVjdC1yYXRpbzogMTA4LzEwODtcbiAgICAgIHdpZHRoOiBzaXplKDEwOCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUtYmVmb3JlKSB7XG4gICAgJl9fc2xpZGUge1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAmX19jYXJkIHtcbiAgICAgIC0tYXNwZWN0LXJhdGlvOiAxMDgvMTA4O1xuICAgICAgd2lkdGg6IHNpemUoMTA4KTtcbiAgICAgIC8vIGlQaG9uZTEyINC90LUg0YDQsNCx0L7RgtCw0LXRgiBhc3BlY3QtcmF0aW9cbiAgICAgIGhlaWdodDogY2FsYyhzaXplKDEwOCkgKiAxLzEpO1xuICAgIH1cblxuICB9XG59XG4iLCIuYWRkLXNlY3Rpb24ge1xuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2VsZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWluLWhlaWdodDogc2l6ZSg1MDApO1xuICAgIHBhZGRpbmc6IHNpemUoMzIpIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiBzaXplKDMyKTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1heC13aWR0aDogc2l6ZSg0ODApO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGV4dEw7XG4gICAgbWF4LXdpZHRoOiBzaXplKDQ4MCk7XG4gIH1cblxuICAmX19idG4tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fZWxlbSB7XG4gICAgICBtaW4taGVpZ2h0OiBzaXplKDQwMCk7XG4gICAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogc2l6ZSgyNCk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzaXplKDI0KTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmcvZG90LWdyZXkuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcblxuICAgICZfX2dyaWQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICogLTEpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLW1haW4tcGFkZGluZykgKiAtMSk7XG4gICAgfVxuXG4gICAgJl9fZGVjb3Ige1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19lbGVtIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHNpemUoMjcwKTtcbiAgICAgIHBhZGRpbmc6IHNpemUoMTYpO1xuXG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogc2l6ZSgxNik7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzaXplKDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG4tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fYnRuLWRlY2sge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXRhbG9nLXNlY3Rpb24ge1xuICAmX19saW5lIHtcbiAgICBtYXJnaW4tdG9wOiBzaXplKDM1MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg3Mik7XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDFweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcblxuICAgICY6aGFzKDpob3ZlcikgLnByb2R1Y3Q6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2VsZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG5cbiAgICAmOm50aC1jaGlsZChuKzQpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC8vINCy0YHQtSDRjdC70LXQvNC10L3RgtGLINC90LDRh9C40L3QsNGPINGBIDQsINC90L4g0L3QtSA2LDksMTJcbiAgICAmOm50aC1jaGlsZChuKzQpOm5vdCg6bnRoLWNoaWxkKDNuKzMpKSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmcvY29ubmVjdGlvbi0yLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fYm94Omhhcyg6aG92ZXIpICZfX2hvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJl9faG92ZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2xpbmUge1xuICAgICAgbWFyZ2luLXRvcDogdnctdG8tcHgoMzUwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZ3LXRvLXB4KDcyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMjUwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoNTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2xpbmUge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxOTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg0OCk7XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxuXG4gICAgJl9fZWxlbSB7XG4gICAgICAmOm50aC1jaGlsZChuKzMpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG4rNCk6bm90KDpudGgtY2hpbGQoM24rMykpOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChuKzIpOm50aC1jaGlsZChvZGQpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmcvY29ubmVjdGlvbi0yLnN2ZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2xpbmUge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxMTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgzMik7XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuICAgICZfX2VsZW0ge1xuICAgICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChuKzIpOm50aC1jaGlsZChvZGQpOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsaWVudHMtc2VjdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcblxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGNvdW50ZXItcmVzZXQ6IGNsaWVudDtcbiAgfVxuXG4gICZfX2VsZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXNlY29uZGFyeSk7XG5cbiAgICAmOm50aC1jaGlsZChuKzUpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLy8g0LLRgdC1INGN0LvQtdC80LXQvdGC0Ysg0L3QsNGH0LjQvdCw0Y8g0YEgNSwg0L3QviDQvdC1IDgsMTIsMTZcbiAgICAmOm50aC1jaGlsZChuKzUpOm5vdCg6bnRoLWNoaWxkKDRuKzQpKSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmcvY29ubmVjdGlvbi1ibGFjay5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTUwKTtcbiAgICB9XG4gIH1cblxuICAmX19jb3JuZXJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmX19jb3JuZXIge1xuICAgIHdpZHRoOiBzaXplKDEyKTtcbiAgICBoZWlnaHQ6IHNpemUoMTIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICYtLXRsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmLS10ciB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmLS1ibCB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgJi0tYnIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2JveCB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdnctdG8tcHgoMTUwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb3JuZXIge1xuICAgICAgd2lkdGg6IHZ3LXRvLXB4KDEyKTtcbiAgICAgIGhlaWdodDogdnctdG8tcHgoMTIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2JveCB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxMDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2xpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cblxuICAgICZfX2VsZW0ge1xuICAgICAgJjpudGgtY2hpbGQobiszKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG4rNSk6bm90KDpudGgtY2hpbGQoNG4rNCkpOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChuKzIpOm50aC1jaGlsZChvZGQpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmcvY29ubmVjdGlvbi1ibGFjay5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2JveCB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc2l6ZSg1Nik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZXJyb3Itc2VjdGlvbiB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmX19saW5lIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgLS1hc3BlY3QtcmF0aW86IGF1dG87XG4gICAgd2lkdGg6IHNpemUoMzEwKTtcbiAgICBoZWlnaHQ6IHNpemUoNDgwKTtcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIHBhZGRpbmc6IHNpemUoNTYpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXgtd2lkdGg6IDQ1JTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVINDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2luZm8ge1xuICAgICAgcGFkZGluZzogNTZweCAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2luZm8ge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZzogc2l6ZSg0OCkgMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2luZm8ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IHNpemUoMTYpO1xuICAgICAgcGFkZGluZzogc2l6ZSgzMikgMDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgIHdpZHRoOiBzaXplKDIwNSk7XG4gICAgICBoZWlnaHQ6IHNpemUoMzIwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mYXEtc2VjdGlvbiB7XG4gICZfX2xpbmUge1xuICAgIG1hcmdpbi10b3A6IHNpemUoMzUwKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzaXplKDcyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3LXRvLXB4KDM1MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2dy10by1weCg3Mik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDI0OCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDU2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19saW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTkwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoNDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDExMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDMyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLXNlY3Rpb24ge1xuICAmLS1zdWJtaXR0ZWQgJl9fY29yZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgcGFkZGluZy10b3A6IHNpemUoMzIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDIwMCk7XG4gIH1cblxuICAmX193cmFwcGVyLmlzLXN1Ym1pdHRlZCAmX19jb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9fY29yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjtcbiAgICBjb2x1bW4tZ2FwOiBzaXplKDMyKTtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHNpemUoMTUwKTtcbiAgfVxuXG4gICZfX2Nvbm5lY3QtYmxvY2sge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiBjYWxjKHZhcigtLWhlaWdodC1oZWFkZXIpICsgc2l6ZSgyNCkpO1xuICAgIG1heC1oZWlnaHQ6IG1heC1jb250ZW50O1xuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBzaXplKDExNzYpO1xuICB9XG5cbiAgJl9fcmVzdWx0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIE1FRElBXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19jb3JlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdnctdG8tcHgoNTAwKSAxZnI7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZ3LXRvLXB4KDE1MCk7XG4gICAgfVxuXG4gICAgJl9fY29ubmVjdC1ibG9jayB7XG4gICAgICB0b3A6IGNhbGModmFyKC0taGVpZ2h0LWhlYWRlcikgKyB2dy10by1weCgyNCkpO1xuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgbWF4LXdpZHRoOiB2dy10by1weCgxMTc2KTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiB2dy10by1weCgzMik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdnctdG8tcHgoMjAwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQpIHtcbiAgICAmX19mb3JtIHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg4NTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IHNpemUoMjQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoMTQ0KTtcbiAgICB9XG5cbiAgICAmX19jb3JlIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogc2l6ZSg3Mik7XG4gICAgfVxuXG4gICAgJl9fY29ubmVjdC1ibG9jayB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDY0OCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICAmX19jb3JlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcm93LWdhcDogc2l6ZSgxMTIpO1xuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHNtYXJ0cGhvbmUpIHtcbiAgICAmX19jb3JlIHtcbiAgICAgIHJvdy1nYXA6IHNpemUoODgpO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBzaXplKDU2KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDExMik7XG4gICAgfVxuICB9XG59XG4iLCIuZnJhbWV3b3Jrcy1zZWN0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbi10b3A6IHNpemUoMTgwKTtcbiAgfVxuXG4gICZfX2Rlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19taWRkbGUtYm94IHtcbiAgICB3aWR0aDogc2l6ZSgxMzAwKTtcbiAgfVxuXG4gICZfX3NtYWxsLWJveCB7XG4gICAgd2lkdGg6IHNpemUoOTAwKTtcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIHdpZHRoOiBzaXplKDc1MCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldC1iZWZvcmUpIHtcbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG4gICAgJl9fYm94IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICYtLW1pZGRsZSB7XG4gICAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICB9XG5cbiAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgYW5pbWF0aW9uOiA5MHMgbGluZWFyIGluZmluaXRlIHJvdGF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19taWRkbGUtYm94IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICB9XG5cbiAgICAmX19taWRkbGUtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICAgIGJvdHRvbTogMTUlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQyZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSAwJSwgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDI4JSk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHNpemUoMTgwKSBzaXplKDE4MCkgMTcwcHggMCB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSA3NSUpLCB1cmwoJy4uL2ltZy9iZy9kb3Qtd2hpdGUuc3ZnJykgcmVwZWF0IGNlbnRlciAvIDhweCwgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWlkZGxlLWVsLTEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTUlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYW5pbWF0aW9uOiA5MHMgbGluZWFyIGluZmluaXRlIHJvdGF0ZTtcbiAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgfVxuXG4gICAgJl9fbWlkZGxlLWVsLTMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAtNSU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYW5pbWF0aW9uOiA5MHMgbGluZWFyIGluZmluaXRlIHJvdGF0ZTtcbiAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgfVxuXG4gICAgJl9fbWlkZGxlLWVsLTIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDUlO1xuICAgICAgdG9wOiAxNSU7XG4gICAgICBhbmltYXRpb246IDkwcyBsaW5lYXIgaW5maW5pdGUgcm90YXRlO1xuICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9fbWlkZGxlLWVsLTQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRvcDogLTUlO1xuICAgICAgYW5pbWF0aW9uOiA5MHMgbGluZWFyIGluZmluaXRlIHJvdGF0ZTtcbiAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX3NtYWxsLWJveCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19zbWFsbC1jb250ZW50IHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gYW5pbWF0aW9uOiA2MHMgbGluZWFyIGluZmluaXRlIHBlcnNwZXZ0aXZlLXJldmVydDtcbiAgICAgIC8vIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgbGVmdDogLTNweDtcbiAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xNDJkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpIDAlLCB2YXIoLS1jb2xvci10cmFuc3BhcmVudCkgMTAwJSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbWFsbC1lbC0xIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOCU7XG4gICAgICBsZWZ0OiA4JTtcbiAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX3NtYWxsLWVsLTIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA4JTtcbiAgICAgIHJpZ2h0OiA4JTtcbiAgICAgIGFuaW1hdGlvbjogOTBzIGxpbmVhciBpbmZpbml0ZSByb3RhdGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICZfX3NtYWxsLWVsLTMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA4JTtcbiAgICAgIGxlZnQ6IDglO1xuICAgICAgYW5pbWF0aW9uOiA5MHMgbGluZWFyIGluZmluaXRlIHJvdGF0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9fc21hbGwtZWwtNCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDglO1xuICAgICAgcmlnaHQ6IDglO1xuICAgICAgYW5pbWF0aW9uOiA5MHMgbGluZWFyIGluZmluaXRlIHJvdGF0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJl9fYmlnLWJveCB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxLy0xO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJl9fYmlnLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmX19uYW1lIHtcbiAgICAgICYtLWJvcmRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDEyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgJi0tYm9yZGVyLXNvbGlkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoMTIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVjb3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IHNpemUoMjgwKTtcbiAgICAgICAgaGVpZ2h0OiBzaXplKDIxMCk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2JnL2ZyYW1ld29ya3MtZGVjb3Iuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2RlY29yLXRleHQge1xuICAgICAgcGFkZGluZzogc2l6ZSgxMikgc2l6ZSg0KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMjApO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2Rlc2t0b3Age1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IHNpemUoMTYwKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiBzaXplKDMyKTtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKGhvdmVyKSB7XG4gICAgICAmX19lbGVtZW50OmhvdmVyICZfX2JveCB7XG4gICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgICB9XG5cbiAgICAgICZfX2VsZW1lbnQ6aG92ZXIge1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LW5lc3RpbmctZGVwdGggKi9cbiAgICAgICAgW2NsYXNzKj0nZnJhbWV3b3Jrcy1zZWN0aW9uX19taWRkbGUtZWwnXSxcbiAgICAgICAgW2NsYXNzKj0nZnJhbWV3b3Jrcy1zZWN0aW9uX19zbWFsbC1lbCddIHtcbiAgICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX21pZGRsZS1jb250ZW50IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYWRpZW50LWNvbnRyYXN0LTAsIHVybCgnLi4vaW1nL2JnL2RvdC13aGl0ZS5zdmcnKSByZXBlYXQgY2VudGVyIC8gMTRweCwgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fZ3JpZCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDEwNCk7XG4gICAgfVxuXG4gICAgJl9fbWlkZGxlLWJveCB7XG4gICAgICB3aWR0aDogc2l6ZSgxMDgwKTtcbiAgICB9XG5cbiAgICAmX19zbWFsbC1ib3gge1xuICAgICAgd2lkdGg6IHNpemUoNzIwKTtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIHdpZHRoOiBzaXplKDUyMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICAmX19taWRkbGUtYm94IHtcbiAgICAgIHdpZHRoOiBzaXplKDkwMCk7XG4gICAgfVxuXG4gICAgJl9fc21hbGwtYm94IHtcbiAgICAgIHdpZHRoOiBzaXplKDY1MCk7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICB3aWR0aDogc2l6ZSg1NTApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2dyaWQge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxODgpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgzMik7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmX19lbGVtZW50LWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDEuNTVmcikgbWlubWF4KDAsIDVmcik7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgIGdhcDogc2l6ZSgyNCk7XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogc2l6ZSgyNCk7XG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoMjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiBzaXplKDI0KTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgICZfX21pZGRsZS1ib3gsXG4gICAgJl9fc21hbGwtYm94IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICZfX25hbWUtLW1vYmlsZSxcbiAgICAmX19kZWNvciB7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoMTUyKTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICZfX2dyaWQge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSg1Nik7XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudC1jb250ZW50IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuXG4gICAgJl9fZWxlbWVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogc2l6ZSgxNik7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIGdhcDogc2l6ZSgxNik7XG4gICAgfVxuXG4gICAgJl9fbmFtZS0tbW9iaWxlLFxuICAgICZfX2RlY29yIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg0OCk7XG4gICAgfVxuICB9XG59XG4iLCIuZnVuY3Rpb25hbCB7XG4gICZfX2FydGljbGUgcDpub3QoW2NsYXNzXSkge1xuICAgIEBpbmNsdWRlIHRleHRMO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWF4LXdpZHRoOiBzaXplKDcyMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fYXJ0aWNsZSBwOm5vdChbY2xhc3NdKSB7XG4gICAgICBtYXgtd2lkdGg6IHZ3LXRvLXB4KDcyMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fYXJ0aWNsZSBwOm5vdChbY2xhc3NdKSB7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoNjAwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19hcnRpY2xlIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTEyKTtcblxuICAgICAgcDpub3QoW2NsYXNzXSkge1xuICAgICAgICBtYXgtd2lkdGg6IHNpemUoNTQwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2FydGljbGUge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSg4OCk7XG4gICAgfVxuICB9XG59XG4iLCIuZ3JpZC1zZWN0aW9uIHtcbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG5cbiAgJl9fbGVmdCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgfVxuXG4gICZfX3JpZ2h0IHtcbiAgICBncmlkLWNvbHVtbjogNy8tMTtcbiAgfVxuXG4gICZfX2NlbnRlciB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShub3RlYm9vaykge1xuICAgICZfX2xlZnQge1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgfVxuICB9XG59XG4iLCIubG9nby1zZWN0aW9uIHtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpIC0gNTJweCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctYm90dG9tOiBzaXplKDMyKTtcblxuICAmX193cmFwcGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDE2cHgpO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCA0NXB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX25hbWUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3N3aXRjaCB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI3MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QtOTAwKTtcbiAgfVxuXG4gICZfX3N3aXRjaC1kZWNvciB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDFweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gICZfX2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fcGljdHVyZSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fdmlkZW8ge1xuICAgIHdpZHRoOiBzaXplKDEyMjApO1xuICAgIGhlaWdodDogc2l6ZSg3NjQpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1peC1ibGVuZC1tb2RlOiBsaWdodGVuO1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOGRlZyk7XG4gIH1cblxuICAmX19idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZ3LXRvLXB4KDMyKTtcblxuICAgICZfX3ZpZGVvIHtcbiAgICAgIHdpZHRoOiB2dy10by1weCgxMjIwKTtcbiAgICAgIGhlaWdodDogdnctdG8tcHgoNzY0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgyNCk7XG5cbiAgICAmX192aWRlbyB7XG4gICAgICB3aWR0aDogc2l6ZSg5NjApO1xuICAgICAgaGVpZ2h0OiBzaXplKDYwMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiBzaXplKDQ4KSAwO1xuICAgIH1cblxuICAgICZfX3ZpZGVvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogc2l6ZSgzMjApO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICAvLy0gaXBob25lINC/0YDQvtCx0LvQtdC80Ysg0YEgdmgoKVxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIHNpemUoNjApKTtcblxuICAgICZfX2J0biB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAyNHB4IDA7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiBzaXplKDMyKSAwO1xuICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgICZfX2JveDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMTIpO1xuICAgIH1cbiAgfVxufVxuXG4uaW9zIC5sb2dvLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIHNpemUoMTAwKSk7XG4gIH1cbn1cbiIsIi5uYW1lLXByb2R1Y3Qge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC5wYWdlLXByb2R1Y3QtLW5ldyAmIHtcbiAgICAubmFtZS1wcm9kdWN0X190b3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIG1pbi1jb250ZW50O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gICZfX2NlbnRlciB7XG4gICAgZ3JpZC1jb2x1bW46IDMvMTE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX190b3Age1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3RvcC0xIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICBncmlkLXJvdzogMTtcbiAgfVxuXG4gICZfX3RvcC0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC1jb2x1bW46IDExLy0xO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAmX19zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCA0NXB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS04MCk7XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgcGFkZGluZzogc2l6ZSgzMikgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHNpemUoMjQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogc2l6ZSgyNCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlQmlnO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1heC13aWR0aDogcmVtKDcyMHB4KTtcbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICZfX21vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19ib3R0b20ge1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoMzIpIDA7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDI0KTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGdhcDogdnctdG8tcHgoMjQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2JvdHRvbSB7XG4gICAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICAgICAgZ2FwOiBzaXplKDE2KTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGdhcDogc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IGF1dG8gbWluLWNvbnRlbnQ7XG5cbiAgICAgIC5wYWdlLXByb2R1Y3QtLW5ldyAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IHNpemUoMjQpIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgICAgIGNvbnRlbnQ6ICcmJztcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2VudGVyIHtcbiAgICAgIGdyaWQtcm93OiBhdXRvO1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTA0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIC8vLSBpcGhvbmUg0L/RgNC+0LHQu9C10LzRiyDRgSB2aCgpXG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpIC0gc2l6ZSg2MCkpO1xuXG4gICAgJl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMTYpIDA7XG4gICAgfVxuXG4gICAgJl9fYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMTYpIDA7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDYzKTtcbiAgICB9XG5cbiAgICAmX19tb2JpbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogc2l6ZSgyNCkgMDtcbiAgICB9XG4gIH1cbn1cblxuLmlvcyAubmFtZS1wcm9kdWN0IHtcbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkgLSBzaXplKDEwMCkpO1xuICB9XG59XG4iLCIucHJvamVjdC1zZWN0aW9uIHtcbiAgJl9fbGluZSB7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSgzNTApO1xuICAgIG1hcmdpbi1ib3R0b206IHNpemUoNzIpO1xuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxcHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAmOmhhcyg6aG92ZXIpIC5wcm9qZWN0OjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAmX19lbGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuXG4gICAgJjpudGgtY2hpbGQobiszKSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvLyAmOm50aC1jaGlsZChuKzIpOm50aC1jaGlsZChvZGQpIHtcbiAgICAvLyAgICY6OmJlZm9yZSB7XG4gICAgLy8gICAgIGNvbnRlbnQ6ICcnO1xuICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgICB0b3A6IC0xcHg7XG4gICAgLy8gICAgIHJpZ2h0OiAtMXB4O1xuICAgIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgIC8vICAgICB3aWR0aDogMTBweDtcbiAgICAvLyAgICAgaGVpZ2h0OiAxMHB4O1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9jb25uZWN0aW9uLTIuc3ZnJyk7XG4gICAgLy8gICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIC8vICAgICB6LWluZGV4OiAxO1xuICAgIC8vICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgJi5wcm9qZWN0LS1zdHViOm50aC1jaGlsZCgzKSxcbiAgICAmLnByb2plY3QtLXN0dWI6bnRoLWNoaWxkKDUpLFxuICAgICYucHJvamVjdC0tc3R1YjpudGgtY2hpbGQoNykge1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgfVxuICB9XG5cbiAgJl9fYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19ib3g6aGFzKDpob3ZlcikgJl9faG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmX19ob3ZlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXM7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiB2dy10by1weCgzNTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdnctdG8tcHgoNzIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2xpbmUge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgyNDgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg1Nik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEobm90ZWJvb2spIHtcbiAgICAmX19ob3ZlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2xpbmUge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxOTApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSg0OCk7XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuICAgICZfX2VsZW0ge1xuICAgICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChuKzIpOm50aC1jaGlsZChvZGQpOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDExMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDMyKTtcbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG4gICAgJl9fZWxlbSB7XG4gICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG4rMik6bnRoLWNoaWxkKG9kZCk6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucmV2aWV3cy1zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXB5LXNlY3Rpb24pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1weS1zZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICAmX19zbGlkZXIge1xuICAgIHBhZGRpbmc6IHNpemUoMjAwKSAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX3NsaWRlciB7XG4gICAgICBwYWRkaW5nOiB2dy10by1weCgyMDApIDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMTQ0KSAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKG5vdGVib29rKSB7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMTEyKSAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICogLTEpO1xuICAgIH1cblxuICAgICZfX2hlYWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDU0MCk7XG4gICAgICBtYXJnaW46IHNpemUoNzIpIGF1dG8gMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19oZWFkIHtcbiAgICAgIG1heC13aWR0aDogc2l6ZSg0NDApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoODgpIDA7XG4gICAgfVxuXG4gICAgJl9faGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDU2KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zbG9nYW4tc2VjdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSAtIHJlbSg3N3B4KSk7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCBtaW4tY29udGVudCkgbWlubWF4KDAsIDFmcik7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fY2VudGVyIHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICBncmlkLXJvdzogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiBzaXplKDcyMCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDQ5JSwgdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCkgNTAlLCB2YXIoLS1jb2xvci10cmFuc3BhcmVudCkgNTElKTtcbiAgICBwYWRkaW5nOiBzaXplKDcyKSAwO1xuXG4gICAgJi0tbSB7XG4gICAgICBtYXgtd2lkdGg6IHNpemUoOTAwKTtcblxuICAgICAgLnNsb2dhbi1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRpdGxlSDM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCA0NXB4IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktODApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2J0biB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMThweCAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5pcy1oaWRkZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUg0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS04MCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwMHB4IDQ1cHggdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShob3Zlcikge1xuICAgICZfX2J0bjpob3ZlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYW5pbWF0aW9uOiBmbGlja2VyIDAuMXMgc3RlcC1lbmQgZm9yd2FyZHM7XG4gICAgfVxuXG4gICAgJl9fYnRuOmhvdmVyIC50ZXh0LW9wYWNpdHkge1xuICAgICAgYW5pbWF0aW9uOiBmbGlja2VyLXRleHQgMC4wMXMgc3RlcC1lbmQgZm9yd2FyZHM7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX2NlbnRlciB7XG4gICAgICBwYWRkaW5nOiB2dy10by1weCg3MikgMDtcbiAgICAgIG1heC13aWR0aDogdnctdG8tcHgoNzIwKTtcblxuICAgICAgJi0tbSB7XG4gICAgICAgIG1heC13aWR0aDogdnctdG8tcHgoOTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShxdWFkaGQpIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkgLSByZW0oMTEwcHgpKTtcblxuICAgICZfX2NlbnRlciB7XG4gICAgICBwYWRkaW5nOiBzaXplKDU2KSAwO1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDY1NSk7XG5cbiAgICAgICYtLW0ge1xuICAgICAgICBtYXgtd2lkdGg6IHNpemUoNjU4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19jZW50ZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSg0OCkgMDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgbWF4LXdpZHRoOiBzaXplKDU3NSk7XG5cbiAgICAgICYtLW0ge1xuICAgICAgICBtYXgtd2lkdGg6IHNpemUoNTc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgIC8vLSBpcGhvbmUg0L/RgNC+0LHQu9C10LzRiyDRgSB2aCgpXG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpIC0gcmVtKDExMHB4KSk7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAmX19idG4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICAmX19jZW50ZXIge1xuICAgICAgcGFkZGluZzogc2l6ZSgzMikgMDtcbiAgICAgIGdhcDogc2l6ZSgxNik7XG5cbiAgICAgICYtLW0gLnNsb2dhbi1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogc2l6ZSgyNCk7XG4gICAgICAgIHdpZHRoOiA5OSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zbW9raW5nLXJvb20tc2VjdGlvbiB7XG4gIC53aWR0aCB7XG4gICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIH1cblxuICAmX19jb3JlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzYwcHggMWZyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gICAgICByaWdodDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiByZW0oNzYwKTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICBwYWRkaW5nLXRvcDogc2l6ZSgzMik7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoNzIpO1xuICB9XG5cbiAgJl9fdGV4dC1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IHJlbSg1Nik7XG4gICAgbWFyZ2luLWJsb2NrOiBhdXRvO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2x1bW4tZ2FwOiByZW0oMTYpO1xuICB9XG5cbiAgJl9fY291bnRlciB7XG4gICAgQGluY2x1ZGUgdGl0bGVINDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB9XG5cbiAgJl9fcXItY29kZSB7XG4gICAgd2lkdGg6IHNpemUoMTUwKTtcbiAgICBoZWlnaHQ6IHNpemUoMTUwKTtcbiAgICBvcmRlcjogLTE7XG4gIH1cblxuICAmX19waWMge1xuICAgIC0tb2JqZWN0LWZpdDogY292ZXI7XG4gICAgLS1vYmplY3QtcG9zaXRpb246IGxlZnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiBzaXplKDExNDApO1xuICB9XG5cbiAgJl9fdGV4dC1pY24ge1xuICAgIG1hcmdpbi1sZWZ0OiBzaXplKC0xMCk7XG4gIH1cblxuICAvLyBNRURJQVxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9faW5mbyB7XG4gICAgICBwYWRkaW5nLXRvcDogdnctdG8tcHgoMzIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHZ3LXRvLXB4KDcyKTtcbiAgICB9XG5cbiAgICAmX19jb3JlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODkwcHggMWZyO1xuICAgIH1cblxuICAgICZfX3BpYyB7XG4gICAgICBoZWlnaHQ6IHZ3LXRvLXB4KDExNDApO1xuICAgIH1cblxuICAgICZfX3FyLWNvZGUge1xuICAgICAgd2lkdGg6IHZ3LXRvLXB4KDE1MCk7XG4gICAgICBoZWlnaHQ6IHZ3LXRvLXB4KDE1MCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2NvcmUge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzaXplKDYzNSkgMWZyO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgcGFkZGluZy10b3A6IHNpemUoMjQpO1xuICAgIH1cblxuICAgICZfX3FyLWNvZGUge1xuICAgICAgd2lkdGg6IHNpemUoOTApO1xuICAgICAgaGVpZ2h0OiBzaXplKDkwKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiByZW0oNzIpO1xuICAgIH1cblxuICAgICZfX3RleHQtYmxvY2sge1xuICAgICAgcm93LWdhcDogcmVtKDM1KTtcbiAgICB9XG5cbiAgICAmX190ZXh0LWljbiB7XG4gICAgICB3aWR0aDogcmVtKDQwKTtcbiAgICAgIGhlaWdodDogcmVtKDQwKTtcbiAgICB9XG5cbiAgICAmX19waWMge1xuICAgICAgaGVpZ2h0OiBzaXplKDcxMik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoaGQpIHtcbiAgICAmX19jb3JlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc2l6ZSg3MTUpIDFmcjtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIHBhZGRpbmctdG9wOiBzaXplKDI0KTtcbiAgICB9XG5cbiAgICAmX19waWMge1xuICAgICAgLS1vYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2NvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9fcXItY29kZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX3BpYyB7XG4gICAgICAtLW9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogcmVtKC0yMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoc21hcnRwaG9uZSkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IHJlbSg0OCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1pY24ge1xuICAgICAgd2lkdGg6IHJlbSgzMik7XG4gICAgICBoZWlnaHQ6IHJlbSgzMik7XG4gICAgfVxuXG4gICAgJl9fcGljIGltZyB7XG4gICAgICBtaW4td2lkdGg6IHJlbSg2MjgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fcGljIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoLTIwKTtcbiAgICAgIGhlaWdodDogc2l6ZSg1MDApO1xuICAgIH1cbiAgfVxufVxuIiwiLnN0YW5kYXJkLWJsb2NrIHtcbiAgJl9fd2lkdGgge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19oZWFkIHtcbiAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXgtd2lkdGg6IHNpemUoNjUwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgyODApO1xuICAgIH1cbiAgfVxuXG4gICZfX2FzaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19hc2lkZS1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyByZW0oMjApKTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX25hdiB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICB9XG5cbiAgJl9fc3ViLW5hdiB7XG4gICAgbWFyZ2luOiBhdXRvIHNpemUoMTYpIHNpemUoMzIpIDA7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IHNpemUoMjQpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICAgJi5pcy1vcGFjaXR5IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICBwYWRkaW5nOiBzaXplKDMyKSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHNpemUoMzYwKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogc2l6ZSg3Mik7XG4gICAgcGFkZGluZy1yaWdodDogc2l6ZSg3Mik7XG4gICAgcGFkZGluZy1ib3R0b206IHNpemUoNTYpO1xuICB9XG5cbiAgJl9fYXJ0aWNsZSB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9fcGljdHVyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhc3BlY3QtcmF0aW86IDEzNTAvODAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogc2l6ZSgxMzUwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktMjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9zdHViLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHdpZHRoOiBzaXplKDM0NSk7XG4gICAgICBoZWlnaHQ6IHNpemUoOTUpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJjpoYXMocGljdHVyZSksXG4gICAgJjpoYXModmlkZW8pIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19pbWcge1xuICAgIC0tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gIH1cblxuICAmX192aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IHNpemUoNzk0KTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCAmX19hcnRpY2xlOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDcyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX19zdWItbmF2IHtcbiAgICAgIGJvdHRvbTogdnctdG8tcHgoMjQpO1xuICAgICAgbWFyZ2luOiBhdXRvIHZ3LXRvLXB4KDMyKSB2dy10by1weCgzMikgMDtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgcGFkZGluZzogdnctdG8tcHgoMzIpIDA7XG4gICAgfVxuXG4gICAgJl9fcGljdHVyZSB7XG4gICAgICBtYXgtd2lkdGg6IHZ3LXRvLXB4KDEzNTApO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dy10by1weCgyODApO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2dy10by1weCg3Mik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2dy10by1weCg3Mik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdnctdG8tcHgoNTYpO1xuICAgIH1cblxuICAgICZfX3ZpZGVvIHtcbiAgICAgIG1heC1oZWlnaHQ6IHZ3LXRvLXB4KDc5MCk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICZfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdnctdG8tcHgoNzIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX251bWJlciB7XG4gICAgICBwYWRkaW5nOiBzaXplKDI0KSAwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDI4MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHNpemUoMjgwKSBtaW5tYXgoMCwgNWZyKTtcbiAgICB9XG5cbiAgICAmX19zdWItbmF2IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSh0YWJsZXQpIHtcbiAgICAmX19ib2R5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAuYm94LWRlY29yX19kZWNvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXNpZGUge1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgJl9fYXNpZGUtc3RpY2t5IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoNzIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgICB0b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgICAgei1pbmRleDogdmFyKC0tei1oZWFkZXIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1tYWluLXBhZGRpbmcpICogLTEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSAxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC05MGRlZywgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KSAxMDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWItbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbmF2LWVsZW0ge1xuICAgICAgQGluY2x1ZGUgaGlkZS1zY3JvbGw7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxNzYpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBzaXplKDQ4KTtcbiAgICB9XG5cbiAgICAmX19waWN0dXJlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW1haW4tcGFkZGluZykgKiAtMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBzaXplKDE3Myk7XG4gICAgICAgIGhlaWdodDogc2l6ZSg0OCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICZfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSg2NCk7XG4gICAgfVxuXG4gICAgJl9fYXJ0aWNsZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDc4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShwaG9uZSkge1xuICAgICZfX2hlYWQge1xuICAgICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICB9XG5cbiAgICAmX19udW1iZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoNDYpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoMzIpO1xuICAgIH1cblxuICAgICZfX3BpY3R1cmUge1xuICAgICAgLy8gaVBob25lMTIg0L3QtSDRgNCw0LHQvtGC0LDQtdGCIGFzcGVjdC1yYXRpb1xuICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogc2l6ZSgyNjApO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiBzaXplKDE3Myk7XG4gICAgICAgIGhlaWdodDogc2l6ZSg0OCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmlkZW8ge1xuICAgICAgbWF4LWhlaWdodDogc2l6ZSgyNjApO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDE0NCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICZfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSg1Nik7XG4gICAgfVxuXG4gICAgJl9fYXJ0aWNsZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDQ5KTtcbiAgICB9XG4gIH1cbn1cbiIsIi50ZWFtLXNlY3Rpb24ge1xuICAmX193cmFwcGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnkpO1xuICAgIHBhZGRpbmctdG9wOiBzaXplKDMyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgyMDApO1xuICB9XG5cbiAgJl9fc2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiBzaXplKDE1MCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgc2l6ZSg0NTApO1xuICAgIGdhcDogc2l6ZSg1MCk7XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVyLWNhcmQsXG4gICZfX3NsaWRlci1saXN0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAmX19zbGlkZXItYm94IHtcbiAgICBAaW5jbHVkZSBoaWRlLXNjcm9sbDtcbiAgICBoZWlnaHQ6IHZhcigtLXNsaWRlci1oZWlnaHQpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgJl9fc2xpZGVyLWxpc3Qge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpbGwsIHNpemUoMTUwKSk7XG4gICAgfVxuICB9XG5cbiAgJl9fZWxlbS1ob3ZlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoZnVsbGhkLWJlZm9yZSkge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IHZ3LXRvLXB4KDMyKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2dy10by1weCgyMDApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IHNpemUoMjQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHNpemUoMTQ0KTtcbiAgICB9XG5cbiAgICAmX19zbGlkZXIge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxMDApO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBzaXplKDMyNSk7XG4gICAgICBnYXA6IHNpemUoNDApO1xuICAgIH1cblxuICAgICZfX3NsaWRlci1saXN0IHtcbiAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KGF1dG8tZmlsbCwgc2l6ZSgxMDgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShoZCkge1xuICAgICZfX3NsaWRlciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIHNpemUoMjE2KTtcbiAgICAgIGdhcDogc2l6ZSgyMCk7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyLWxpc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiBzaXplKDgzKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSg4LCA4LCA4LCAxKSAxMDAlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSgxMTIpO1xuICAgIH1cblxuICAgICZfX3NsaWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDcyKTtcbiAgICAgIGdhcDogc2l6ZSg4KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgc2l6ZSgyMTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHBob25lKSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogc2l6ZSgxNik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2l6ZSg4OCk7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoNTYpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIGdhcDogc2l6ZSg4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW1haW4tcGFkZGluZykgKiAtMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tbWFpbi1wYWRkaW5nKSAqIC0xKTtcbiAgICB9XG5cbiAgICAmX19zbGlkZXItY2FyZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICAgIH1cblxuICAgICZfX3NsaWRlci1saXN0IHtcbiAgICAgIG9yZGVyOiAtMTtcblxuICAgICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBzaXplKDEwMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5NGRlZywgcmdiYSgyNTQsIDI1NCwgMjU0LCAwKSAwJSwgcmdiYSg4LCA4LCA4LCAxKSA3NSUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyLWJveCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAmLS11aS1raXQgJl9fY29yZSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICAvLyBJcGhvbmUg0LvQvtC80LDQtdGCINCw0L3QuNC80LDRhtC40Y4g0YTRg9GC0LXRgNCwINC4INGB0LrRgNC+0LvQuNGCINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC90LDQtNC+XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGVcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEocGhvbmUpIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5wYWdlLXByb2R1Y3Qge1xuICAuZm9vdGVyX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuZm9vdGVyX19ib3gge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG5cbiAgLmZvb3Rlcl9fcGhvbmVzIHtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2x1bW4tZ2FwOiByZW0oMTZweCk7XG4gIH1cblxuICAuZm9vdGVyX19idG4ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19waG9uZXMge1xuICAgICAgb3JkZXI6IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb290ZXJfX2J0biB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoc21hcnRwaG9uZSkge1xuICAgIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvb3RlciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICAmX193cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBwYWRkaW5nOiBzaXplKDY0KSB2YXIoLS1tYWluLXBhZGRpbmcpIDA7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1sICRyYWRpdXMtbCAwIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogcmVtKDMycHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogcmVtKDg0cHgpO1xuICAgICAgaGVpZ2h0OiByZW0oMjRweCk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy9mb290ZXItaWNvbi5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiByZW0oNTBweCk7XG4gICAgICB0b3A6IHJlbSg1MHB4KTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnkpIDUwJSwgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXItbWluaSB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1tYWluLXBhZGRpbmcpO1xuICB9XG5cbiAgJl9fY29yZSB7XG4gICAgQGluY2x1ZGUgaGlkZS1zY3JvbGw7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2JvZHkuaXMtc3VibWl0dGVkICZfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogc2l6ZSgxNikgMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXNlY29uZGFyeSk7XG4gIH1cblxuICAmX19ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiBzaXplKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzaXplKDIwKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDQ7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gIH1cblxuICAmX19yZXN1bHQtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBzaXplKDI0KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3Jlc3VsdC1oZWFkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXB5LXNlY3Rpb24pO1xuICAgIG1heC13aWR0aDogc2l6ZSgxMjgwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3VwLXRleHQge1xuICAgIEBpbmNsdWRlIHRpdGxlSDU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWNvbnRyYXN0KTtcbiAgfVxuXG4gICZfX2JpZy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGl0bGVCaWc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJi0tYmxhY2sge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gICYtLW1pbmkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gIH1cblxuICAmLS1taW5pIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKGZ1bGxoZC1iZWZvcmUpIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IHZ3LXRvLXB4KDY0KSB2YXIoLS1tYWluLXBhZGRpbmcpIDA7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICBtYXJnaW4tdG9wOiB2dy10by1weCgyMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2dy10by1weCgyMCk7XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICBtYXgtd2lkdGg6IHZ3LXRvLXB4KDEyODApO1xuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICBwYWRkaW5nOiB2dy10by1weCgxNikgMDtcbiAgICB9XG5cbiAgICAmX19yZXN1bHQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSB2dy10by1weCg2MTApIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHF1YWRoZCkge1xuICAgICZfX2Zvcm0ge1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSg1MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDUwKTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiByZW0oNTZweCk7XG4gICAgICAgIGhlaWdodDogcmVtKDE4cHgpO1xuICAgICAgICB0b3A6IHJlbSgyNHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShoZCkge1xuICAgICZfX2JvdHRvbSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEodGFibGV0KSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW0gJHJhZGl1cy1tIDAgMDtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJl9fYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6IHNpemUoMjQpIDAgc2l6ZSgxNik7XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAvLy0gaXBob25lINC/0YDQvtCx0LvQtdC80Ysg0YEgdmgoKVxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2JveCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19waG9uZXMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5oZWFkZXIge1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwIHZhcigtLW1haW4tcGFkZGluZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IHZhcigtLXotaGVhZGVyKTtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYmx1cigyNHB4KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LTgwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmLmhhcy1vdmVybGF5IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3N1Ym1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3N1Ym1lbnUtaXRlbSB7XG4gICAgICBhbmltYXRpb246IHRyYW5zbGF0ZS1kb3duIDAuMXMgZm9yd2FyZHM7XG4gICAgfVxuICB9XG5cbiAgJl9fY29yZSB7XG4gICAgcGFkZGluZzogdmFyKC0tcHktaGVhZGVyKSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHNpemUoMTYpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeSk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuXG4gICZfX2JveCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgJl9fYnRucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHNpemUoNCk7XG4gIH1cblxuICAmX19idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3Q7XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogc2l6ZSgxNik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzaXplKDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgQGluY2x1ZGUgdGl0bGVINTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiBzaXplKDQpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnMDAnIGNvdW50ZXIobGlzdCkgJy4gJztcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VibWVudSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9fc3VibWVudS1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShmdWxsaGQtYmVmb3JlKSB7XG4gICAgJl9fY29yZSB7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDE2KTtcbiAgICB9XG5cbiAgICAmX19idG5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IHZ3LXRvLXB4KDQpO1xuICAgIH1cblxuICAgICZfX21lbnUtaXRlbSB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2dy10by1weCgxNik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZ3LXRvLXB4KDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWxpbmsge1xuICAgICAgZ2FwOiB2dy10by1weCg0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShub3RlYm9vaykge1xuICAgICZfX2J1cmdlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShzbWFydHBob25lKSB7XG4gICAgJl9fY2FsbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLndpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIG1heC13aWR0aDogJHdpZHRoICsgKDEwMHB4ICogMik7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLW1haW4tcGFkZGluZyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tbWFpbi1wYWRkaW5nKTtcbiAgZmxleDogMCAwIGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEocXVhZGhkKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCJbZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J3BhcmVudCddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgJjpoYXMoaW5wdXQ6Zm9jdXMsIGlucHV0OmZvY3VzLXZpc2libGUpIFtkYXRhLWN1c3RvbS1jYXJldC1pbnB1dD0nY2FyZXQtYm94J10ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LWlucHV0PSdpbnB1dCddIHtcbiAgQGluY2x1ZGUgY3VzdG9tLWNhcmV0LXJlcXVpcmVtZW50cztcbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LWlucHV0PSdjYXJldC1ib3gnXSB7XG4gIEBpbmNsdWRlIGN1c3RvbS1jYXJldC1yZXF1aXJlbWVudHM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkYXRhLWN1c3RvbS1jYXJldC1pbnB1dD0nY2FyZXQtY29udGVudCddIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBbZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J2NhcmV0LWJlZm9yZSddLFxuICBbZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J2NhcmV0LWFmdGVyJ10ge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG5bZGF0YS1jdXN0b20tY2FyZXQtaW5wdXQ9J2NhcmV0J10ge1xuICBAaW5jbHVkZSBjdXN0b20tY2FyZXQtYmxpbmtpbmctYW5pbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjVlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4iLCJbZGF0YS1jdXN0b20tY2FyZXQtdGV4dGFyZWE9J2NvbnRhaW5lciddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6aGFzKHRleHRhcmVhOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cy12aXNpYmxlKSBbZGF0YS1jdXN0b20tY2FyZXQtdGV4dGFyZWE9J2NhcmV0J10ge1xuICAgIEBpbmNsdWRlIGN1c3RvbS1jYXJldC1ibGlua2luZy1hbmltO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LXRleHRhcmVhPSd0ZXh0YXJlYSddIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG4gIGNhcmV0LWNvbG9yOiB2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7XG59XG5cbltkYXRhLWN1c3RvbS1jYXJldC10ZXh0YXJlYT0nbWlycm9yJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2RhdGEtY3VzdG9tLWNhcmV0LXRleHRhcmVhPSdjYXJldCddIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDA7XG59XG4iLCI6cm9vdCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIC0tdWkta2l0LWJnLWdyYWQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgcmlnaHQgdG9wLFxuICAgIHJnYigyOCAyOCAyNDYgLyAwLjkpIDUlLFxuICAgIHJnYig1NyA0MyAyMzcgLyAwLjc1KSAyMCUsXG4gICAgdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpIDcwJVxuICApO1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbiAgLS11aS1zZWN0aW9uLWdhcDogI3tyZW0oMjBweCl9O1xuICAtLXVpLXNlY3Rpb24tYmQtcmFkOiB2YXIoLS11aS1zZWN0aW9uLWdhcCk7XG4gIC0tdWktc2VjdGlvbi1zaGFkb3c6IDAgMCAyMHB4IDJweCByZ2IoMjU1IDI1NSAyNTUgLyAwLjUpO1xuICAtLXVpLWtpdC1jb21wb25lbnQtb2RkLWJnOiBoc2woMCAwJSAzOCUgLyAwLjUpO1xufVxuXG4udWkta2l0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11aS1raXQtYmctZ3JhZCk7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IHJlbSg1MHB4KTtcbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlbSgyNTBweCkgMWZyO1xuICB9XG5cbiAgJl9fc2VjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICByb3ctZ2FwOiByZW0oNzJweCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHJlbSgzNXB4KTtcbiAgfVxuXG4gICZfX25hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiByZW0oMTBweCk7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgIGJvcmRlcjogcmVtKDJweCkgc29saWQgdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS11aS1zZWN0aW9uLWJkLXJhZCk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXVpLXNlY3Rpb24tYmQtcmFkKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fbmF2aWdhdGlvbjpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkKSAmX19uYXYtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1sYWJlbCB7XG4gICAgQGluY2x1ZGUgdGl0bGVIMztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sdW1uLWdhcDogcmVtKDhweCk7XG4gICAgcGFkZGluZzogcmVtKDEycHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1sYWJlbDpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkKSAmX19uYXYtc3dpdGNoZXItaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jaGVja2VkKTtcblxuICAgIHNwYW5bZGF0YS1pbmRpY2F0b3I9J29uJ10ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB9XG5cbiAgICBzcGFuW2RhdGEtaW5kaWNhdG9yPSdvZmYnXSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1sYWJlbDpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkKSAmX19uYXYtc3dpdGNoZXItaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtMTAwJSAtIHZhcigtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3ItcGFkZGluZykpLCAtNTAlKTtcbiAgfVxuXG4gICZfX25hdi1zd2l0Y2hlci1pbmRpY2F0b3Ige1xuICAgIC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1wYWRkaW5nOiAje3JlbSgxcHgpfTtcbiAgICAtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3ItaGVpZ2h0OiAyZW07XG4gICAgLS1uYXYtc3dpdGNoZXItaW5kaWNhdG9yLXdpZHRoOiBjYWxjKDIgKiB2YXIoLS1uYXYtc3dpdGNoZXItaW5kaWNhdG9yLWhlaWdodCkpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IHZhcigtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3Itd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLW5hdi1zd2l0Y2hlci1pbmRpY2F0b3ItcGFkZGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYm9yZGVyOiByZW0oMnB4KSBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1oZWlnaHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFucy1iYXNlKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUodmFyKC0tbmF2LXN3aXRjaGVyLWluZGljYXRvci1oZWlnaHQpKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiB2YXIoLS1uYXYtc3dpdGNoZXItaW5kaWNhdG9yLXBhZGRpbmcpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJsb2NrKTtcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zLWJhc2UpO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCB0cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nLWlubGluZTogcmVtKDZweCk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zLWJhc2UpO1xuXG4gICAgICAmW2RhdGEtaW5kaWNhdG9yPSdvbiddIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLWluZGljYXRvcj0nb2ZmJ10ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uYXYtbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gICZfX25hdi1saW5rIHtcbiAgICBAaW5jbHVkZSB0ZXh0TDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtKDEycHgpIHJlbSgyNHB4KTtcbiAgICB0ZXh0OiB7XG4gICAgICBkZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBhbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFucy1iYXNlKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICY6d2hlcmUoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHJlbSg0OHB4KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtKDk2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICZfX2xvZ28tYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbSg1MDBweCk7XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAmX19zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250cmFzdCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdWktc2VjdGlvbi1iZC1yYWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXVpLXNlY3Rpb24tc2hhZG93KTtcbiAgICBvdmVyZmxvdzogY2xpcDtcbiAgfVxuXG4gICZfX3NlY3Rpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIHRpdGxlSDE7XG4gICAgcGFkZGluZzogdmFyKC0tdWktc2VjdGlvbi1nYXApO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tdWktc2VjdGlvbi1nYXApICogMik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3NlY3Rpb24tY29yZSxcbiAgJl9fc3Vic2VjdGlvbi1jb3JlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICAudWkta2l0LWNvbXBvbmVudDp3aGVyZSg6bnRoLWNoaWxkKDRuIC0gMyksIDpudGgtY2hpbGQoNG4pKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11aS1raXQtY29tcG9uZW50LW9kZC1iZyk7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VjdGlvbi1jb3JlIHtcbiAgICAmLS1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJi0tY29sdW1uID4gLnVpLWtpdC1jb21wb25lbnQge1xuICAgICAgJjppcyg6bnRoLWNoaWxkKDRuIC0gMyksIDpudGgtY2hpbGQoNG4pKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11aS1raXQtY29tcG9uZW50LW9kZC1iZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3Vic2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgxO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWF4LWhlaWdodDogbWF4LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogdmFyKC0tdWktc2VjdGlvbi1nYXApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cblxuICAmX190eXBvIHtcbiAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICYtLXByaW1hcnkge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICB9XG5cbiAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgLy8gTUVESUFcbiAgQGluY2x1ZGUgbWVkaWEobm90ZWJvb2spIHtcbiAgICAmX19jb3JlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVtKDE4MHB4KSAxZnI7XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi1jb3JlLFxuICAgICZfX3N1YnNlY3Rpb24tY29yZSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAudWkta2l0LWNvbXBvbmVudDp3aGVyZSg6bnRoLWNoaWxkKDRuIC0gMyksIDpudGgtY2hpbGQoNG4pKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIC51aS1raXQtY29tcG9uZW50Om50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdWkta2l0LWNvbXBvbmVudC1vZGQtYmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKHRhYmxldCkge1xuICAgICZfX2NvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHJvdy1nYXA6IHJlbSg3MnB4KTtcbiAgICB9XG5cbiAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGJvcmRlcjoge1xuICAgICAgICBib3R0b206IG5vbmU7XG4gICAgICAgIHJpZ2h0OiBub25lO1xuICAgICAgICByYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LXN3aXRjaGVyLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fbmF2LW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX190aXRsZS1ib3gge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbiAgfVxufVxuIiwiOnJvb3Qge1xuICAtLXVpLWtpdC1jb21wb25lbnQtZ2FwOiAje3JlbSgyMHB4KX07XG4gIC0tdWkta2l0LWJveC1iZC1yYWQ6ICN7cmVtKDhweCl9O1xuXG4gIC0tdWkta2l0LWNvcHktY29kZS10cmlnZ2VyLWljbjogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJtYVd4c1BTSmpkWEp5Wlc1MFEyOXNiM0lpSUhacFpYZENiM2c5SWpBZ01DQTJOQ0EyTkNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrRFFvSlBHYytEUW9KQ1R4d1lYUm9JR1E5SWswMU15NDVOemt4TkRnNUxEa3VNVFF5T1RBd05VZzFNQzR3TVRBNE5EbGpMVEF1TURneU5qazRPQ3d3TFRBdU1UVTJNakF3TkN3d0xqQXlPRE01T1RVdE1DNHlNek14TURBNUxEQXVNRFEyT1RrNU9WWTFMakF5TWpnTkNna0pDVU0wT1M0M056YzNORGd4TERJdU1qVXpMRFEzTGpRM016RTBPRE1zTUN3ME5DNDJNems0TkRZNExEQm9MVE0wTGpReU1qVTVOa00zTGpNNE16azFNVGNzTUN3MUxqQTNPVE0xTVRrc01pNHlOVE1zTlM0d056a3pOVEU1TERVdU1ESXlPSFkwTmk0NE5ETXlPVGs1RFFvSkNRbGpNQ3d5TGpjMk9UYzVPRE1zTWk0ek1EUTFPVGs0TERVdU1ESXlPREF3TkN3MUxqRXpOemc1T1Rrc05TNHdNakk0TURBMGFEWXVNRE0yTnpBd01uWXlMakkyTnpnNU9EWkRNVFl1TWpVek9UVXlMRFl4TGpneU56UXdNRElzTVRndU5EY3dNalV4TVN3Mk5Dd3lNUzR4T1RVME5URTNMRFkwRFFvSkNRbG9Nekl1Tnpnek5qazVZekl1TnpJMU1qQXdOeXd3TERRdU9UUXhORGszT0MweUxqRTNNalU1T1Rnc05DNDVOREUwT1RjNExUUXVPRFF6TWpBd04xWXhNeTQ1T0RZeE1EQXlEUW9KQ1FsRE5UZ3VPVEl3TmpRMk55d3hNUzR6TVRVMU1EQXpMRFUyTGpjd05ETTBPVFVzT1M0eE5ESTVNREExTERVekxqazNPVEUwT0Rrc09TNHhOREk1TURBMWVpQk5OeTR4TVRFd05URTJMRFV4TGpnMk5qRXdNRE5XTlM0d01qSTREUW9KQ1Fsak1DMHhMalkwT0RjNU9Ua3NNUzR6T1RNNE9UazVMVEl1T1Rrd09UazVPU3d6TGpFd05qSXdNREl0TWk0NU9UQTVPVGs1YURNMExqUXlNalU1Tm1NeExqY3hNak13TXpJc01Dd3pMakV3TmpJd01USXNNUzR6TkRJeUxETXVNVEEyTWpBeE1pd3lMams1TURrNU9UbDJORFl1T0RRek1qazVPUTBLQ1FrSll6QXNNUzQyTkRnM09UazVMVEV1TXprek9EazRMREl1T1RreE1UQXdNeTB6TGpFd05qSXdNVElzTWk0NU9URXhNREF6YUMwek5DNDBNakkxT1RaRE9DNDFNRFE1TlRFMUxEVTBMamcxTnpJd01EWXNOeTR4TVRFd05URTJMRFV6TGpVeE5Ea3dNRElzTnk0eE1URXdOVEUyTERVeExqZzJOakV3TURONkRRb0pDUWxOTlRZdU9EZzRPRFEzTkN3MU9TNHhOVFkzT1Rrell6QXNNUzQxTlRBMk1ESXRNUzR6TURVMUxESXVPREV4TlRBd05TMHlMamt3T1RZNU9EVXNNaTQ0TVRFMU1EQTFhQzB6TWk0M09ETTJPVGtOQ2drSkNXTXRNUzQyTURReU1EQTBMREF0TWk0NU1EazNPVGsyTFRFdU1qWXdPRGs0TmkweUxqa3dPVGM1T1RZdE1pNDRNVEUxTURBMWRpMHlMakkyTnpnNU9EWm9Nall1TXpVME1UazBOZzBLQ1FrSll6SXVPRE16TXpBeE5Td3dMRFV1TVRNM09UQXhNeTB5TGpJMU16QXdNaklzTlM0eE16YzVNREV6TFRVdU1ESXlPREF3TkZZeE1TNHhNamMxT1RrM1l6QXVNRGMyT1RBd05Td3dMakF4T0RZd01EVXNNQzR4TlRBME1ESXhMREF1TURRMk9UazVPU3d3TGpJek16RXdNRGtzTUM0d05EWTVPVGs1RFFvSkNRbG9NeTQ1TmpneU9UazVZekV1TmpBME1UazROU3d3TERJdU9UQTVOams0TlN3eExqSTJNRGt3TURVc01pNDVNRGsyT1RnMUxESXVPREV4TlRBd05WWTFPUzR4TlRZM09Ua3plaUl2UGcwS0NRazhjR0YwYUNCa1BTSk5Nemd1TmpBek1UUTVOQ3d4TXk0eU1EWXpPVGs1U0RFMkxqSTFNemsxTW1NdE1DNDFOakUxTURBMUxEQXRNUzR3TVRVNU1EQTJMREF1TkRVME1qazVPUzB4TGpBeE5Ua3dNRFlzTVM0d01UVTRNREExRFFvSkNRbGpNQ3d3TGpVMk1UVTVPVGNzTUM0ME5UUTBNREF4TERFdU1ERTFPRGs1Tnl3eExqQXhOVGt3TURZc01TNHdNVFU0T1RrM2FESXlMak0wT1RFNU56UmpNQzQxTmpFMU1EQTFMREFzTVM0d01UVTRPVGszTFRBdU5EVTBNams1T1N3eExqQXhOVGc1T1RjdE1TNHdNVFU0T1RrM0RRb0pDUWxETXprdU5qRTVNRFE1TVN3eE15NDJOakEyT1RrNExETTVMakUyTkRZMUxERXpMakl3TmpNNU9Ua3NNemd1TmpBek1UUTVOQ3d4TXk0eU1EWXpPVGs1ZWlJdlBnMEtDUWs4Y0dGMGFDQmtQU0pOTXpndU5qQXpNVFE1TkN3eU1TNHpNek0wTURBM1NERTJMakkxTXprMU1tTXRNQzQxTmpFMU1EQTFMREF0TVM0d01UVTVNREEyTERBdU5EVTBNams1T1MweExqQXhOVGt3TURZc01TNHdNVFUzT1RnMkRRb0pDUWxqTUN3d0xqVTJNVFV3TURVc01DNDBOVFEwTURBeExERXVNREUxT1RBeE5pd3hMakF4TlRrd01EWXNNUzR3TVRVNU1ERTJhREl5TGpNME9URTVOelJqTUM0MU5qRTFNREExTERBc01TNHdNVFU0T1RrM0xUQXVORFUwTkRBeExERXVNREUxT0RrNU55MHhMakF4TlRrd01UWU5DZ2tKQ1VNek9TNDJNVGt3TkRreExESXhMamM0Tnpjd01EY3NNemt1TVRZME5qVXNNakV1TXpNek5EQXdOeXd6T0M0Mk1ETXhORGswTERJeExqTXpNelF3TURkNklpOCtEUW9KQ1R4d1lYUm9JR1E5SWswek9DNDJNRE14TkRrMExESTVMalEyTURNd01EUklNVFl1TWpVek9UVXlZeTB3TGpVMk1UVXdNRFVzTUMweExqQXhOVGt3TURZc01DNDBOVFF6T1RreExURXVNREUxT1RBd05pd3hMakF4TlRnNU9UY05DZ2tKQ1hNd0xqUTFORFF3TURFc01TNHdNVFU0T1RrM0xERXVNREUxT1RBd05pd3hMakF4TlRnNU9UZG9Nakl1TXpRNU1UazNOR013TGpVMk1UVXdNRFVzTUN3eExqQXhOVGc1T1RjdE1DNDBOVFF6T1RreExERXVNREUxT0RrNU55MHhMakF4TlRnNU9UY05DZ2tKQ1ZNek9TNHhOalEyTlN3eU9TNDBOakF6TURBMExETTRMall3TXpFME9UUXNNamt1TkRZd016QXdOSG9pTHo0TkNna0pQSEJoZEdnZ1pEMGlUVEk0TGpRME5EUTBPRFVzTXpjdU5UZzNNams1TTBneE5pNHlOVE01TlRKakxUQXVOVFl4TlRBd05Td3dMVEV1TURFMU9UQXdOaXd3TGpRMU5ETTVPVEV0TVM0d01UVTVNREEyTERFdU1ERTFPRGs1TncwS0NRa0pjekF1TkRVME5EQXdNU3d4TGpBeE5UZzVPVGNzTVM0d01UVTVNREEyTERFdU1ERTFPRGs1TjJneE1pNHhPVEEwT1RZMFl6QXVOVFl4TlRBeU5Td3dMREV1TURFMU9EQXdOUzB3TGpRMU5ETTVPVEVzTVM0d01UVTRNREExTFRFdU1ERTFPRGs1TncwS0NRa0pVekk1TGpBd05UazFNRGtzTXpjdU5UZzNNams1TXl3eU9DNDBORFEwTkRnMUxETTNMalU0TnpJNU9UTjZJaTgrRFFvSlBDOW5QZzBLUEM5emRtYytEUW89Jyk7XG59XG5cbi51aS1raXQtY29tcG9uZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogcmVtKDI0cHgpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tdWkta2l0LWNvbXBvbmVudC1nYXApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRyYXN0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmLmlzLWNvbnRyYXN0ICZfX2JveC0tZXhhbXBsZSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXVpLWtpdC1jb21wb25lbnQtZ2FwKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1raXQtYm94LWJkLXJhZCk7XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSB0aXRsZUgzO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS11aS1raXQtY29tcG9uZW50LWdhcCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcm93LWdhcDogcmVtKDMycHgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICZfX2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IHZhcigtLXVpLWtpdC1jb21wb25lbnQtZ2FwKTtcblxuICAgICYtLWV4YW1wbGUge1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0tdWkta2l0LWNvbXBvbmVudC1nYXApO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIHNpemU6IHJlbSgyNHB4KTtcbiAgICAgIHdlaWdodDogNDAwO1xuICAgIH1cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gICZfX2NvZGUtYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICB9XG5cbiAgJl9fY29kZS1ib3g6aG92ZXIgJl9fY29weS10cmlnZ2VyLWJveCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICZfX2NvZGUtYm94OmhhcyhidXR0b25bZGF0YS1jb3B5Y29kZT0ndHJpZ2dlciddOmhvdmVyKSAmX19jb2RlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gICZfX2NvcHktdHJpZ2dlci1ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IHJlbSgzMnB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnMtYmFzZSk7XG4gIH1cblxuICAmX19jb3B5LXRyaWdnZXItYm94LmlzLWNvcGllZCAmX19jb3B5LXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19jb3B5LXRyaWdnZXItYm94LmlzLWNvcGllZCAmX19jb3B5LXRyaWdnZXItc3VjY2Vzcy10ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9fY29weS10cmlnZ2VyIHtcbiAgICBAaW5jbHVkZSBzcXVhcmUocmVtKDMycHgpKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgICAgIGltYWdlOiB2YXIoLS11aS1raXQtY29weS1jb2RlLXRyaWdnZXItaWNuKTtcbiAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgc2l6ZTogODUlO1xuICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWtpdC1ib3gtYmQtcmFkKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zLWJhc2UpO1xuXG4gICAgJjp3aGVyZSg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICB9XG4gIH1cblxuICAmX19jb3B5LXRyaWdnZXItc3VjY2Vzcy10ZXh0IHtcbiAgICBAaW5jbHVkZSB0ZXh0UztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1pbmxpbmU6IHJlbSg4cHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXVpLWtpdC1ib3gtYmQtcmFkKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG5cbiAgJl9fY29kZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IHJlbSg0cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiByZW0oMjBweCkgcmVtKDE2cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY29udHJhc3QtOTAwKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS11aS1raXQtYm94LWJkLXJhZCk7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zLWJhc2UpO1xuXG4gICAgY29kZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIH1cbiAgfVxufVxuIl19 */

/* End */
/* /local/assets/css/style.css?1751295977502836 */
