#logo {
  width: auto;
  height: 100%; }
  #logo svg {
    width: auto;
    height: 100%;
    transition: height .5s ease; }
  #logo svg .status {
      transition: all .5s ease; }
  .header__overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-dark);
  opacity: 0;
  visibility: hidden;
  z-index: 9;
  transition: opacity .5s ease, visibility 0s;
  transition-delay: 0s, .5s; }
  .header.is-open .header__overlay {
  opacity: .6;
  visibility: visible;
  transition-delay: 0s, 0s; }
  .header__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  padding: 1.6rem var(--horizontal-margin);
  border-bottom: solid 1px var(--color-dark-mid);
  background-color: var(--color-white); }
  .header nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.6rem; }
  .header .header__container-menu,
.header .header__container-other {
  transition: all .5s ease; }
  .header .header__wrapper-menu > ul,
.header .header__container-items,
.header .header__container-buttons {
  display: flex;
  align-items: center; }
  .header .header__wrapper-other {
  display: flex;
  align-items: center;
  gap: var(--spacing-l); }
  .header .header__wrapper-other a {
    transition: all .5s ease; }
  .header .header__wrapper-other a:hover {
      color: var(--color-green); }
  .header .header__wrapper-other a.header__we-recruit:hover {
      color: var(--color-white);
      background-color: var(--color-green); }
  .header .header__wrapper-other .header__languages {
    display: flex;
    align-items: center;
    gap: 1rem; }
  .header .header__wrapper-other .header__languages > a {
      display: flex; }
  .header .header__wrapper-other .header__languages .lang-item {
      list-style-type: none;
      overflow: hidden;
      white-space: nowrap; }
  @media screen and (min-width: 0px) {
        .header .header__wrapper-other .header__languages .lang-item {
          font-size: 1.1rem !important;
          line-height: 1.3rem !important;
          text-transform: uppercase !important;
          text-decoration: none !important;
          font-weight: 400 !important;
          font-family: var(--font-primary) !important; } }
  @media screen and (min-width: 768px) {
        .header .header__wrapper-other .header__languages .lang-item {
          font-size: 1.3rem !important;
          line-height: 1.6rem !important;
          text-transform: uppercase !important;
          text-decoration: none !important;
          font-weight: 400 !important;
          font-family: var(--font-primary) !important; } }
  .header .header__wrapper-other .header__languages .lang-item:not(.lang-item-first) {
        width: 2.2ch; }
  .header .header__wrapper-other .header__languages .lang-item-first {
      width: 1.9ch; }
  .header .header__wrapper-other .header__languages li:not(.current-lang) {
      opacity: 0.3; }
  .header .header__wrapper-other .header__social-networks {
    display: flex;
    align-items: center;
    gap: 2rem; }
  .header .header__wrapper-other .header__social-networks > a {
      display: flex; }
  .header .header__wrapper-other .header__social-networks > a::before {
        font-size: 1.4rem; }
  .header .header__wrapper-other .header__we-recruit {
    display: flex;
    align-items: center;
    height: 2.4rem;
    padding: 0 1.6rem;
    color: var(--color-white);
    background-color: var(--color-dark);
    border-radius: 5rem; }
  @media screen and (min-width: 0px) {
      .header .header__wrapper-other .header__we-recruit {
        font-size: 1.1rem !important;
        line-height: 1.3rem !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        font-weight: 400 !important;
        font-family: var(--font-primary) !important; } }
  @media screen and (min-width: 768px) {
      .header .header__wrapper-other .header__we-recruit {
        font-size: 1.3rem !important;
        line-height: 1.6rem !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        font-weight: 400 !important;
        font-family: var(--font-primary) !important; } }
  .header .header__container-buttons {
  gap: var(--spacing-m); }
  .header .header__container-buttons .header__phonenumber {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.2rem;
    color: var(--color-green); }
  .header .header__container-buttons .header__phonenumber::before {
      font-size: 1.8rem; }
  @media screen and (min-width: 0px) {
  .header .header__wrapper-menu > ul > li > a {
    font-size: 1.5rem !important;
    line-height: 1.7rem !important;
    font-family: var(--font-primary) !important; } }
  @media screen and (min-width: 768px) {
  .header .header__wrapper-menu > ul > li > a {
    font-size: 1.7rem !important;
    line-height: 2rem !important;
    font-family: var(--font-primary) !important; } }
  .header .header__wrapper-menu > ul > li > a.icon-chevron-down-after {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-s); }
  .header .header__wrapper-menu > ul > li > a.icon-chevron-down-after::after {
    font-size: .6rem; }
  .header .header__wrapper-menu > ul > li > a::before {
  font-size: 1.4rem; }
  .header .header__container-submenu {
  position: absolute;
  left: 0;
  top: calc(100% + 1px);
  width: 100%;
  height: 0;
  padding: 0 var(--horizontal-margin);
  background-color: var(--color-white);
  overflow: hidden;
  transition: height .5s ease, visibility 0s; }
  .header .header__wrapper-submenu {
  height: calc(100% - 2 * var(--spacing-xl));
  margin: var(--spacing-xl) var(--horizontal-margin) 0 0;
  overflow: auto; }
  .header .header__wrapper-submenu > ul {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
  .header .header__wrapper-submenu > ul > li {
      border-bottom: solid 1px var(--color-dark-mid); }
  .header .header__wrapper-submenu > ul > li > a {
        display: flex;
        width: 100%;
        padding: var(--spacing-m) 0; }
  @media screen and (min-width: 0px) {
          .header .header__wrapper-submenu > ul > li > a {
            font-size: 2rem !important;
            line-height: 2.4rem !important;
            font-weight: 400 !important;
            font-family: var(--font-primary) !important; } }
  @media screen and (min-width: 768px) {
          .header .header__wrapper-submenu > ul > li > a {
            font-size: 2.4rem !important;
            line-height: 2.8rem !important;
            font-weight: 400 !important;
            font-family: var(--font-primary) !important; } }
  .header .header__wrapper-submenu > ul > li > a.icon-arrow-right-after {
          display: inline-flex;
          justify-content: space-between;
          align-items: center; }
  .header .header__wrapper-submenu > ul > li > a.icon-arrow-right-after::after {
            font-size: 1.4rem; }
  .header .header__wrapper-submenu > ul > li.back > a {
        display: flex;
        align-items: center;
        gap: var(--spacing-m); }
  @media screen and (min-width: 0px) {
          .header .header__wrapper-submenu > ul > li.back > a {
            font-size: 1.5rem !important;
            line-height: 1.7rem !important;
            font-family: var(--font-primary) !important; } }
  @media screen and (min-width: 768px) {
          .header .header__wrapper-submenu > ul > li.back > a {
            font-size: 1.7rem !important;
            line-height: 2rem !important;
            font-family: var(--font-primary) !important; } }
  .header .header__wrapper-submenu > ul > li.back > a::before {
          font-size: 1.6rem; }
  .header .header__wrapper-submenu li > a {
    color: var(--color-dark);
    transition: all .3s ease; }
  .header .header__wrapper-submenu li:hover > a,
  .header .header__wrapper-submenu li.current-menu-item > a {
    color: var(--color-green);
    padding-left: 1rem; }
  .header [data-level="2"] > div > ul > li > a {
  display: flex;
  width: 100%;
  padding: var(--spacing-s) 0; }
  @media screen and (min-width: 0px) {
    .header [data-level="2"] > div > ul > li > a {
      font-size: 1.6rem !important;
      line-height: 2rem !important;
      font-weight: 400 !important;
      font-family: var(--font-primary) !important; } }
  @media screen and (min-width: 768px) {
    .header [data-level="2"] > div > ul > li > a {
      font-size: 1.8rem !important;
      line-height: 2.4rem !important;
      font-weight: 400 !important;
      font-family: var(--font-primary) !important; } }
  .header [data-level="2"] > div > ul > li > a.icon-arrow-right-after {
    display: inline-flex;
    justify-content: space-between;
    align-items: center; }
  .header [data-level="2"] > div > ul > li > a.icon-arrow-right-after::after {
      font-size: 1.4rem; }
  .header .header__container-image {
  width: calc(100% + var(--horizontal-margin) + var(--gap));
  margin-left: calc(var(--gap) * (-1));
  overflow: hidden; }
  .header .header__container-image picture {
    transform: scale(1.05);
    transition: opacity .5s ease, transform .5s ease; }
  .header img[src*="perfect-size-lazy"].perfect-image-size,
.header img[src*="perfect-size-lazy"].perfect-image-size + img {
  transition: none !important; }
  @media (max-width: 1024px) {
  #logo img {
    height: 6.6rem; }
  .header .header__container-menu,
  .header .header__container-other {
    left: auto;
    right: 100%; }
  .header .header__container-other {
    position: absolute;
    top: calc(100 * var(--vh) - 4.8rem - 2.6rem);
    width: 100%;
    height: 2.6rem;
    padding: 0 var(--horizontal-margin);
    z-index: 1; }
    .header .header__container-other .header__wrapper-other {
      justify-content: space-between;
      flex-direction: row-reverse; }
  .header .header__container-menu {
    position: absolute;
    top: var(--header-height);
    width: 100%;
    height: calc(100 * var(--vh) - var(--header-height));
    padding: 0 var(--horizontal-margin);
    background-color: var(--color-white);
    overflow: hidden; }
  .header .header__wrapper-menu {
    height: calc(100% - 10.8rem);
    overflow: auto; }
    .header .header__wrapper-menu > ul {
      display: flex;
      flex-direction: column;
      align-items: flex-start; }
      .header .header__wrapper-menu > ul > li {
        width: 100%; }
        .header .header__wrapper-menu > ul > li > a {
          display: flex;
          justify-content: space-between;
          flex-direction: row-reverse;
          width: 100%;
          padding: var(--spacing-xxl) 0;
          border-bottom: solid 1px var(--color-dark-mid); } }
  @media screen and (max-width: 1024px) and (min-width: 0px) {
          .header .header__wrapper-menu > ul > li > a {
            font-size: 2.4rem !important;
            line-height: 2.4rem !important;
            font-weight: 400 !important;
            font-family: var(--font-primary) !important; } }
  @media screen and (max-width: 1024px) and (min-width: 768px) {
          .header .header__wrapper-menu > ul > li > a {
            font-size: 3.2rem !important;
            line-height: 3.6rem !important;
            font-weight: 400 !important;
            font-family: var(--font-primary) !important; } }
  @media (max-width: 1024px) {
          .header .header__wrapper-menu > ul > li > a::after {
            display: none; }
  .header .header__container-submenu {
    top: 0;
    left: auto;
    right: 100%;
    height: 100% !important;
    border-top: none;
    transition: right .3s ease; }
    .header .header__container-submenu.active {
      right: 0; }
  .header .header__wrapper-submenu {
    height: calc(100% - 11rem);
    margin: 0; }
    .header .header__wrapper-submenu > ul {
      position: relative; }
      .header .header__wrapper-submenu > ul > li > a {
        padding: var(--spacing-l) 0; }
      .header .header__wrapper-submenu > ul li.back {
        position: sticky;
        top: 0;
        left: 0;
        width: 100%;
        background-color: var(--color-white);
        z-index: 1; }
  .header [data-level="2"] > div > ul > li > a {
    padding: var(--spacing-m) 0; }
  .header .header__container-buttons {
    gap: var(--spacing-m);
    flex-direction: row-reverse; }
    .header .header__container-buttons .header__button-toggle {
      display: flex;
      align-items: center;
      gap: .8rem;
      height: 5rem;
      padding: 0 1.6rem;
      border: solid 0.2rem var(--color-dark);
      border-radius: 10rem;
      font-weight: bold;
      cursor: pointer; } }
  @media screen and (max-width: 1024px) and (min-width: 0px) {
      .header .header__container-buttons .header__button-toggle {
        font-size: 1.4rem !important;
        line-height: 1.8rem !important;
        font-family: var(--font-primary) !important; } }
  @media screen and (max-width: 1024px) and (min-width: 768px) {
      .header .header__container-buttons .header__button-toggle {
        font-size: 1.4rem !important;
        line-height: 1.8rem !important;
        font-family: var(--font-primary) !important; } }
  @media (max-width: 1024px) {
    .header .header__container-buttons .header__button-burger {
      position: relative;
      width: 1.6rem;
      height: .2rem;
      border-radius: 10rem;
      background-color: var(--color-dark);
      transition: all .3s ease; }
      .header .header__container-buttons .header__button-burger::before, .header .header__container-buttons .header__button-burger::after {
        content: '';
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border-radius: 10rem;
        background-color: var(--color-dark);
        transform: translateY(-0.5rem);
        transition: all .3s ease; }
      .header .header__container-buttons .header__button-burger::after {
        transform: translateY(0.5rem); }
  .header .header__container-image {
    display: none; }
    .header .header__container-image img {
      width: 0; }
  .header.active .header__wrapper {
    transform: translateY(0); }
  .header.active .header__container-menu,
  .header.active .header__container-other {
    right: 0; }
  .header.active .header__container-buttons .header__button-burger {
    background-color: transparent;
    transform: rotate(45deg); }
    .header.active .header__container-buttons .header__button-burger::before {
      transform: translateY(0) rotate(90deg); }
    .header.active .header__container-buttons .header__button-burger::after {
      transform: translateY(0); } }
  @media (min-width: 1024px) {
  nav {
    transition: gap .5s ease; }
  .header__container-other {
    position: relative;
    width: 100%;
    height: 2.4rem;
    transition: all .5s ease; }
    .header__container-other .header__wrapper-other {
      justify-content: flex-end;
      position: absolute;
      bottom: 0;
      right: 0;
      width: 100%; }
  .header__container-items {
    gap: var(--spacing-m); }
  .header__wrapper-menu > ul {
    gap: var(--spacing-m); }
    .header__wrapper-menu > ul > li:hover > a {
      color: var(--color-green); }
      .header__wrapper-menu > ul > li:hover > a::after {
        transform: rotate(180deg); }
    .header__wrapper-menu > ul > li > a {
      transition: color .5s ease; }
      .header__wrapper-menu > ul > li > a::after {
        transition: all .5s ease; }
      .header__wrapper-menu > ul > li > a::before {
        display: none; }
  .header__container-submenu {
    visibility: hidden; }
    .header__container-submenu.active {
      visibility: visible; }
      .header__container-submenu.active .header__wrapper-submenu > ul > li {
        opacity: 1;
        transform: translateY(0);
        transition: opacity .5s ease, transform .5s ease; }
      .header__container-submenu.active .header__container-image picture {
        transform: scale(1);
        opacity: 1; }
  .header__wrapper-submenu > ul > li {
    opacity: 0;
    transform: translateY(1rem); } }
  @media (max-width: 1280px) {
  .header__phonenumber::after {
    width: 100%; }
  .header__phonenumber span {
    color: var(--color-white); }
  .header__phonenumber:hover::after {
    width: 0%; }
  .header__phonenumber:hover span {
    color: var(--color-green); } }
  @media (min-width: 1280px) {
  .header__lets-talk-about {
    background-color: transparent;
    border: solid 2px var(--color-green); }
    .header__lets-talk-about::after {
      width: 120%; }
    .header__lets-talk-about:hover span {
      color: var(--color-green); }
    .header__lets-talk-about:hover::after {
      width: 0%; }
  .header__phonenumber span {
    color: var(--color-green); } }
  @media (min-width: 1440px) {
  .header .header__container-items,
  .header .header__container-buttons,
  .header .header__wrapper-menu > ul {
    gap: var(--spacing-l); } }
  @media (min-width: 1920px) {
  .header__wrapper {
    padding-left: calc((100vw - 1920px) / 2 + var(--horizontal-margin));
    padding-right: calc((100vw - 1920px) / 2 + var(--horizontal-margin)); } }
  @media screen and (min-width: 1280px) {
  .custom-hidden {
    display: block; } }
  @media screen and (max-width: 1279px) {
  .custom-hidden {
    display: none; }
  .custom-block {
    display: block; } }
  @media screen and (min-width: 1280px) {
  .custom-block {
    display: none; } }
  @media screen and (min-width: 1280px) and (max-width: 1307px) {
  .correct-color a {
    color: white; } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O1FBbUJvQix3QkFBd0I7TUFuQjVDO1FBdUJvQixhQUFhO0VBT2pDO0lBQ0ksa0JBQWtCO0lBRHRCO01BSVEsbUJBQW1CO01BSjNCO1FBT1ksVUFBVTtRQUNWLHdCQUF3QjtRQUN4QixnREFBZ0Q7TUFUNUQ7UUFlZ0IsbUJBQW1CO1FBQ25CLFVBQVU7RUFNMUI7SUFDSSxVQUFVO0lBQ1YsMkJBQTJCLElBRTlCO0VFL2lCRDtFRm9qQkE7SUFHUSxXQUFXO0VBSG5CO0lBT1EseUJBQXlCO0VBUGpDO0lBYVksU0FBUztFQWJyQjtJQWlCWSx5QkFBeUIsSUFDNUI7RUUxa0JUO0VGaWxCQTtJQUNJLDZCQUE2QjtJQUM3QixvQ0FBb0M7SUFGeEM7TUFLUSxXQUFXO0lBTG5CO01BV1kseUJBQXlCO0lBWHJDO01BZVksU0FBUztFQUtyQjtJQUNJLHlCQUF5QixJQUM1QjtFRXZtQkQ7RUY0bUJBOzs7SUFLUSxxQkFBcUIsSUFDeEI7RUVsbkJMO0VGd25CQTtJQUNJLG1FQUFrRjtJQUNsRixvRUFBbUYsSUFDdEY7RUFJRDtFQURKO0lBRVEsY0FBYyxJQUtyQjtFQUhHO0VBSko7SUFLUSxhQUFhO0VBSXJCO0lBRVEsY0FBYyxJQUpyQjtFQU1HO0VBSko7SUFLUSxhQUFhLElBRXBCO0VBSUc7RUFESjtJQUdZLFlBQVksSUFDZiIsInNvdXJjZXMiOlsid2VicGFjazovL2RhbmthLy4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vZGFua2EvLi9zcmMvYXBwL3Njc3MvYWJzdHJhY3RzL2Z1bmN0aW9ucy9fZ2V0LXRleHQtc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly9kYW5rYS8uL3NyYy9hcHAvc2Nzcy9hYnN0cmFjdHMvbWl4aW5zL19tZWRpYS1xdWVyaWVzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vc3JjL2FwcC9zY3NzL2Fic3RyYWN0cy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnLi4vLi4vc3JjL2FwcC9zY3NzL2Fic3RyYWN0cy9taXhpbnMnO1xuXG4jbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cyBlYXNlO1xuXG4gICAgICAgIC5zdGF0dXMge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyIHtcblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UsIHZpc2liaWxpdHkgMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAuNXM7XG4gICAgfVxuICAgIFxuICAgICYuaXMtb3BlbiAuaGVhZGVyX19vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwcztcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbSB2YXIoLS1ob3Jpem9udGFsLW1hcmdpbik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1kYXJrLW1pZCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB9XG5cbiAgICBuYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogMS42cmVtO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2NvbnRhaW5lci1tZW51LFxuICAgIC5oZWFkZXJfX2NvbnRhaW5lci1vdGhlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX193cmFwcGVyLW1lbnUgPiB1bCxcbiAgICAuaGVhZGVyX19jb250YWluZXItaXRlbXMsXG4gICAgLmhlYWRlcl9fY29udGFpbmVyLWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIEF1dHJlIChsYW5ndWVzLCByw6lzZWF1eCBzb2NpYXV4IGV0IGJvdXRvbiBcIk5vdXMgcmVjcnV0b25zXCIpXG4gICAgLmhlYWRlcl9fd3JhcHBlci1vdGhlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2luZy1sKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5oZWFkZXJfX3dlLXJlY3J1aXQ6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fbGFuZ3VhZ2VzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhbmctaXRlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zdHlsZSgnbGFiZWwtLTInKTtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAgICAgJjpub3QoLmxhbmctaXRlbS1maXJzdCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMi4yY2g7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFuZy1pdGVtLWZpcnN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS45Y2g7XG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICBsaTpub3QoLmN1cnJlbnQtbGFuZyl7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fc29jaWFsLW5ldHdvcmtzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAycmVtO1xuXG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX3dlLXJlY3J1aXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zdHlsZSgnbGFiZWwtLTInKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gQm91dG9ucyAodMOpbMOpcGhvbmUsIFwiUGFybG9ucy1ub3VzXCIgZXQgYnVyZ2VyKVxuICAgIC5oZWFkZXJfX2NvbnRhaW5lci1idXR0b25zIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjaW5nLW0pO1xuXG4gICAgICAgIC5oZWFkZXJfX3Bob25lbnVtYmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDEuMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fd3JhcHBlci1tZW51IHtcblxuICAgICAgICAmID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zdHlsZSgnYnV0dG9uLS0xJyk7XG5cbiAgICAgICAgICAgICYuaWNvbi1jaGV2cm9uLWRvd24tYWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjZyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fY29udGFpbmVyLXN1Ym1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1ob3Jpem9udGFsLW1hcmdpbik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cyBlYXNlLCB2aXNpYmlsaXR5IDBzO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3dyYXBwZXItc3VibWVudSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXNwYWNpbmcteGwpKTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLXhsKSB2YXIoLS1ob3Jpem9udGFsLW1hcmdpbikgMCAwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1jb2xvci1kYXJrLW1pZCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXN0eWxlKCdoNCcpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tKSAwO1xuXG4gICAgICAgICAgICAgICAgICAgICYuaWNvbi1hcnJvdy1yaWdodC1hZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYmFjayA+IGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXN0eWxlKCdidXR0b24tLTEnKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICY6aG92ZXIgPiBhLFxuICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBbZGF0YS1sZXZlbD1cIjJcIl0ge1xuXG4gICAgICAgICYgPiBkaXYgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXN0eWxlKCdoNScpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zKSAwO1xuXG4gICAgICAgICAgICAmLmljb24tYXJyb3ctcmlnaHQtYWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fY29udGFpbmVyLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWhvcml6b250YWwtbWFyZ2luKSArIHZhcigtLWdhcCkpO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1nYXApICogKC0xKSk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZSwgdHJhbnNmb3JtIC41cyBlYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nW3NyYyo9XCJwZXJmZWN0LXNpemUtbGF6eVwiXS5wZXJmZWN0LWltYWdlLXNpemUsXG4gICAgaW1nW3NyYyo9XCJwZXJmZWN0LXNpemUtbGF6eVwiXS5wZXJmZWN0LWltYWdlLXNpemUgKyBpbWcge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIG1heC13aWR0aCgnbCcpIHtcblxuICAgICNsb2dvIGltZyB7XG4gICAgICAgIGhlaWdodDogNi42cmVtO1xuICAgIH1cblxuICAgIC5oZWFkZXIge1xuXG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci1tZW51LFxuICAgICAgICAuaGVhZGVyX19jb250YWluZXItb3RoZXIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci1vdGhlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwICogdmFyKC0tdmgpIC0gNC44cmVtIC0gMi42cmVtKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHZhcigtLWhvcml6b250YWwtbWFyZ2luKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5oZWFkZXJfX3dyYXBwZXItb3RoZXIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCAqIHZhcigtLXZoKSAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgdmFyKC0taG9yaXpvbnRhbC1tYXJnaW4pO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX3dyYXBwZXItbWVudSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwLjhyZW0pO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zdHlsZSgnaDMnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmcteHhsKSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWNvbG9yLWRhcmstbWlkKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyX19jb250YWluZXItc3VibWVudSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZTtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fd3JhcHBlci1zdWJtZW51IHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTFyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICYgPiBsaSA+IGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWwpIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGkuYmFjayB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBbZGF0YS1sZXZlbD1cIjJcIl0ge1xuXG4gICAgICAgICAgICAmID4gZGl2ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctbSkgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci1idXR0b25zIHtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAgICAgLmhlYWRlcl9fYnV0dG9uLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zdHlsZSgnYnV0dG9uLS0yJyk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogLjhyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS42cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgLjJyZW0gdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVhZGVyX19idXR0b24tYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IC4ycmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLS41cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC41cmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyX19jb250YWluZXItaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcblxuICAgICAgICAgICAgLmhlYWRlcl9fd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVhZGVyX19jb250YWluZXItbWVudSxcbiAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci1vdGhlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci1idXR0b25zIC5oZWFkZXJfX2J1dHRvbi1idXJnZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi13aWR0aCgnbCcpIHtcblxuICAgIG5hdiB7XG4gICAgICAgIHRyYW5zaXRpb246IGdhcCAuNXMgZWFzZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19jb250YWluZXItb3RoZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuXG4gICAgICAgIC5oZWFkZXJfX3dyYXBwZXItb3RoZXIge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19jb250YWluZXItaXRlbXMge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fd3JhcHBlci1tZW51IHtcblxuICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1zcGFjaW5nLW0pO1xuXG4gICAgICAgICAgICAmID4gbGkge1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciA+IGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC41cyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fY29udGFpbmVyLXN1Ym1lbnUge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBcbiAgICAgICAgICAgIC5oZWFkZXJfX3dyYXBwZXItc3VibWVudSA+IHVsID4gbGkge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UsIHRyYW5zZm9ybSAuNXMgZWFzZTsgLy9cbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIC5oZWFkZXJfX2NvbnRhaW5lci1pbWFnZSB7XG4gICAgXG4gICAgICAgICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fd3JhcHBlci1zdWJtZW51ICA+IHVsID4gbGkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXJlbSk7XG4gICAgICAgIC8vIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UsIHRyYW5zZm9ybSAuNXMgZWFzZTsgLy9cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1heC13aWR0aCgneGwnKSB7XG5cbiAgICAuaGVhZGVyX19waG9uZW51bWJlciB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi13aWR0aCgneGwnKSB7XG5cbiAgICAuaGVhZGVyX19sZXRzLXRhbGstYWJvdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggdmFyKC0tY29sb3ItZ3JlZW4pO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19waG9uZW51bWJlciBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1pbi13aWR0aCgneHhsJykge1xuXG4gICAgLmhlYWRlciB7XG5cbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyLWl0ZW1zLFxuICAgICAgICAuaGVhZGVyX19jb250YWluZXItYnV0dG9ucyxcbiAgICAgICAgLmhlYWRlcl9fd3JhcHBlci1tZW51ICA+IHVsIHtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWluLXdpZHRoKCd4eHhsJykge1xuXG4gICAgLmhlYWRlcl9fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwdncgLSAje2JyZWFrcG9pbnQoJ3h4eGwnKX0pIC8gMiArIHZhcigtLWhvcml6b250YWwtbWFyZ2luKSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gI3ticmVha3BvaW50KCd4eHhsJyl9KSAvIDIgKyB2YXIoLS1ob3Jpem9udGFsLW1hcmdpbikpO1xuICAgIH1cbn1cblxuLmN1c3RvbS1oaWRkZW4ge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uY3VzdG9tLWJsb2NrIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4uY29ycmVjdC1jb2xvciB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTMwN3B4KSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJy4uLy4uL2RhdGEvdGV4dC1zdHlsZXMnO1xuXG4kZm9udC1icmVha3BvaW50czogbWFwLWdldCggJGZvbnQtc2l6ZXMsICdicmVha3BvaW50cycgKTtcblxuQG1peGluIHRleHQtc3R5bGUoICRlbGVtZW50ICkge1xuICAgIFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCAkZm9udC1icmVha3BvaW50cyApIHtcbiAgICAgICAgJGJyZWFrcG9pbnQ6IG50aCgkZm9udC1icmVha3BvaW50cywgJGkpO1xuICAgICAgICAkYnJlYWtwb2ludDogbWFwLWdldChtYXAtZ2V0KCRsYXlvdXRzLCAkYnJlYWtwb2ludCksICdicmVha3BvaW50Jyk7XG4gICAgXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICggbWluLXdpZHRoOiAkYnJlYWtwb2ludCApIHtcbiAgICAgICAgICAgIEBlYWNoICRzZWxlY3RvciwgJHByb3BlcnRpZXMgaW4gbWFwLWdldCggJGZvbnQtc2l6ZXMsICdkYXRhJyApIHtcbiAgICBcbiAgICAgICAgICAgICAgICBAaWYgKCAkZWxlbWVudCA9PSAkc2VsZWN0b3IgKSB7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAvLyBMb29wIG9uIHByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWVzIGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkcHJvcGVydHkgIT0gJ3NlbGVjdG9yJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAje250aCgkdmFsdWVzLCAkaSl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gbWluLXdpZHRoKCRsYXlvdXQpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogYnJlYWtwb2ludCgkbGF5b3V0KSkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gbWF4LXdpZHRoKCRsYXlvdXQpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogYnJlYWtwb2ludCgkbGF5b3V0KSkgeyBAY29udGVudDsgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/